JavaEE核心技术(第5章 表示层-Struts2).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.1 MVC MVC: JSP——View Servlet——Controller JavaBean——Model 优点: ① 多个视图可以对应一个模型。 ② 模型返回的数据与显示逻辑分离。 ③ 应用被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性。 ④ 控制层包含了用户请求权限的概念。 ⑤ MVC更符合软件工程化管理的精神。 1.2 Struts 2体系结构 Struts 2框架的应用着重在控制上。 简单的流程是:页面→控制器→页面。 最重要的是控制器的取数据与处理后传数据的问题。 2 Struts 2基本应用及工作流程 2. 建立一个Web项目 打开MyEclipse,建立一个Web项目,命名为“Struts 2.0”。 3. 加载Struts 2基本类库 下面把这5个类库添加到项目中。 Struts 2-core-2.0.14.jar Xwork-2.0.7.jar Ognl-2.6.11.jar Commom-logging-1.0.4.jar Freemarker-2.3.8.jar 2.2 Struts 2工作流程及各种文件详解 3.Struts 2框架中的配置文件struts.xml会起映射作用,它会根据“*”来决定调用用户定义的哪个Action类。 例如在项目Struts 2.0中,请求为struts.action,前面“*”的部分是“struts”,所以在struts.xml中有个Action类的name为“struts”,这表示该请求与这个Action来匹配,就会调用该Action中class属性指定的Action类。 2.2 Struts 2工作流程及各种文件详解 4.但是在Struts 2中,用户定义的Action类并不是业务控制器,而是Action代理,其并没有和Servlet API耦合。所以Struts 2框架提供了一系列的拦截器,它负责将HttpServletRequest请求中的请求参数解析出来,传入到用户定义的Action类中。然后调用其execute()方法处理用户请求。 5.处理结束后返回一个值,这时Struts2框架的struts.xml文件又起映射作用,会根据返回值决定跳转到哪个页面。 2.2 Struts 2工作流程及各种文件详解 (3)package元素(struts.xml文件中) package有以下几个常用属性: name:该属性是必选的,指定包的名字,这个名字将作为引用该包的键。必须唯一。 extends:该属性是可选的,允许一个包继承一个或多个先前定义的包。 abstract:该属性是可选的,将其设置为true,可以把一个包定义为抽象的。 namespace:该属性是可选的,将保存的action配置为不同的名称空间。 2.2 Struts 2工作流程及各种文件详解 一个Action类不一定只有execute()方法 如果一个请求要调用Action类中的其他方法,就需要在Action配置中加以配置。 例如,如果在org.action.StrutsAction中有另外一个方法为: public String find() throws Exception{return SUCCESS;} 那么如果想要调用这个方法,就必须在Action中配置method属性,其配置方法为: ! - - name值是用来和请求匹配的- - action name=find class=org.action.StrutsAction method=find result name=success/welcome.jsp/result result name=error/hello.jsp/result /action result中的name属性有如下值: success:表示请求处理成功,该值也是默认值。 error:表示请求处理失败。 none:表示请求处理完成后不跳转到任何页面。 input:表示输入时如果验证失败应该跳转到什么地方(关于验证后面会介绍)。 login:表示登录失败后跳转的目标。 2.3 Struts 2数据验证及验证框架的应用 在类中定义校验方法之后,该方法会在执行系统的execute()方法之前执行。 如果执行该方法之后,Action类的fieldErrors中已经包含了数据校验错误信息,将把请求转发到input逻辑视图处,所以要在Action配置中加入以下代码: … action name=struts class=org.action.StrutsAction result name=success/welcome.jsp/result result name=error/hello.jsp/result result

文档评论(0)

整理王 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档