第一个Struts应用helloapp应用.docx
- 文档编号:28682565
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:34
- 大小:198.35KB
第一个Struts应用helloapp应用.docx
《第一个Struts应用helloapp应用.docx》由会员分享,可在线阅读,更多相关《第一个Struts应用helloapp应用.docx(34页珍藏版)》请在冰豆网上搜索。
第一个Struts应用helloapp应用
第2章第一个Struts应用helloapp应用2
2.1分析helloapp应用的需求2
2.2运用Struts框架2
2.3创建视图组件3
2.3.1创建JSP文件3
2.3.2创建消息资源文件5
2.3.3创建ActionFormBean6
2.3.4数据验证7
2.4创建控制器组件8
2.4.1Action类的工作机制9
2.4.2访问封装在MessageResources中的本地化文本10
2.4.3业务逻辑验证10
2.4.4访问模型组件10
2.4.5向视图组件传递数据11
2.4.6把HTTP请求转发给合适的视图组件11
2.5创建模型组件11
2.6创建存放常量的Java文件12
2.7创建配置文件13
2.7.1创建Web应用的配置文件13
2.7.2创建Struts框架的配置文件
14
2.8发布和运行helloapp应用
16
2.8.1服务器端装载hello.jsp的流程17
2.8.2表单验证的流程17
2.8.3逻辑验证失败的流程19
2.8.4逻辑验证成功的流程20
2.9小节21
第2章第一个Struts应用helloapp应用
本章讲解了一个简单的Struts应用例子helloapp应用,这个例子可以帮助读者迅速入门,获得开发Struts应用的基本经验。
该应用的功能非常简单,接受用户输入的姓名
开发helloapp应用涉及以下内容:
●分析应用需求
●把基于MVC设计模式的Struts框架运用到应用中
●创建视图组件,包括HTML表单(hello.jsp)和ActionFormBean(HelloForm.java)
●创建application.properties资源文件
●数据验证,包括表单验证和业务逻辑验证
●创建控制器组件:
HelloAction.java
●创建模型组件:
PersonBean.java
●创建包含被各个模块共享的常量数据的Java文件:
Constants.java
●创建配置文件:
web.xml和struts-config.xml
●编译、发布和运行helloapp应用
2.1分析helloapp应用的需求
在开发应用时,首先从分析需求入手,列举该应用的各种功能,以及限制条件。
helloapp应用的需求非常简单,包括如下需求:
●接受用户输入的姓名
”
●如果用户没有输入姓名就提交表单,将返回出错信息,提示用户首先输入姓名。
●如果用户输入姓名为“Monster”,将返回出错信息,拒绝向“Monster”打招呼。
●为了演示模型组件的功能,本应用使用模型组件来保存用户输入的姓名。
2.2运用Struts框架
下面把Struts框架运用到helloapp应用中。
Struts框架可以方便迅速的把一个复杂的应用划分成模型、视图和控制器组件,而Struts的配置文件struts-config.xml则可以灵活的组装这些组件,简化开发过程。
以下是helloapp应用的各个模块的构成:
●模型包括一个JavaBean组件PersonBean,它有一个userName属性,代表用户输入的名字。
它提供了get/set方法,分别用于读取和设置userName属性,它还提供一个save()方法,负责把userName属性保存到持久化存储系统中,如数据库或文件系统。
对于更为复杂的Web应用,JavaBean组件可以作为EJB或Web服务的前端组件。
●视图包括一个JSP文件hello.jsp,它提供用户界面,接受用户输入的姓名。
视图还包括一个ActionFormBean,它用来存放表单数据,并进行表单验证,如果用户没有输入姓名就提交表单,将返回出错信息。
●控制器包括一个Action类HelloAction,它完成三项任务:
1.进行业务逻辑验证,如果用户输入的姓名为“Monster”,将返回错误消息;2.调用模型组件PersonBean的save()方法,保存用户输入的名字;3.决定将合适的视图组件返回给用户。
除了创建模型、视图和控制器组件,还需要创建Struts的配置文件struts-config.xml,它可以把这些组件组装起来,使它们协调工作。
此外,还需要创建整个Web应用的配置文件web.xml。
2.3创建视图组件
本例中,视图包括两个组件:
●一个JSP文件:
hello.jsp
●一个ActionFormBean:
HelloFormBean
下面分别讲述如何创建这两个组件。
2.3.1创建JSP文件
hello.jsp提供用户界面,能够接受用户输入的姓名。
此外,本Web应用的所有输出结果也都由hello.jsp显示给用户。
图2-1显示了hello.jsp提供的网页。
图2-1hello.jsp的网页
在图2-1中,用户输入姓名“Weiqin”后,按提交表单,本应用将返回“HelloWeiqin!
”,参见图2-2。
图2-2hello.jsp接受用户输入后正常返回的网页
例程2-1为hello.jsp文件的源代码。
例程2-1hello.jsp
<%@pagecontentType="text/html;charset=UTF-8"language="java"%>
<%@tagliburi="/WEB-INF/struts-bean.tld"prefix="bean"%>
<%@tagliburi="/WEB-INF/struts-html.tld"prefix="html"%>
<%@tagliburi="/WEB-INF/struts-logic.tld"prefix="logic"%>
htmllocale="true">
messagekey="hello.jsp.title"/>
base/> messagekey="hello.jsp.page.heading"/> errors/> presentname="personbean"scope="request"> messagekey="hello.jsp.page.hello"/> writename="personbean"property="userName"/>! present> formaction="/HelloWorld.do"focus="userName"> messagekey="hello.jsp.prompt.person"/> textproperty="userName"size="16"maxlength="16"/> submitproperty="submit"value="Submit"/> reset/> form> imgpage="/struts-power.gif"alt="PoweredbyStruts"/>