struct 2(一) 之基本原理.doc_第1页
struct 2(一) 之基本原理.doc_第2页
struct 2(一) 之基本原理.doc_第3页
struct 2(一) 之基本原理.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

struct 2(一) 之基本原理一、基本原理1.问题如果是前端的静态HTML,处理网页设计的美术人员可以独立设计如果是后端的类,程序设计人员可以独立设计而结合HTML与Java代码的JSP,处理网页设计的美术人员与程序设计人员,必须被彼此加入至视图组件中的逻辑互相干扰,开发一个JSP页面,需要双方不断交流才能够完成,开发人员的学习负担重,他们必须一人了解多个角色的工作以及相关技术。2.解决Struts它试图在不同的角度上提供网页设计人员、应用程序设计人员、架构设计人员解决方案,让不同技术的人员可以彼此合作又不互相干扰。从架构设计人员的角度来看,他只需要做出一些配置与定义,定义后端bean与前端页面的关系。从网页设计人员的角度来看,Struts提供了一套像是新版本的HTML标签,但它不是静态的,而是动态的,可以与后端的动态程序结合,但网页设计人员不需要理会后端的动态部份。从应用程序设计人员的角度来看,他只需要按架构师设计人员的定义,完成后端bean的实现即可。3.总的来说,struct就是为了解决前台设计人员与应用程序设计人员的各自工作的解耦,尽量让另一方的工作不影响到另一方工作。二、使用1.添加jar包注:struct-spring-plugin.jar这个包是负责struct与spring进行交互,这个包是spring提供的,spring提供的这个jar包是有严谨的版本要求,spring决定是哪一个版本的struct2,配置web.xml:配置struts引擎 struts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*3,添加struts.xml到src根目录 /error.jsp/welcome.jsp/index.jsp 所定义的action都是在package标签里面,例如:在struts.xml中定义一个action/error.jsp/welcome.jsp/index.jsp 4.按struts.xml中的action定义撰写一个简单的Action类,demo.mystruct.UserAction定义两个用户输入的属性(也就是页面会传过来的参数,注意页面的name要和该类对应的属性要一致),提供getter/setter,定义处理用户请求的execute方法。运行的流程是:页面使用到action-通过web.xml的struct引擎进行过滤-找到struct.xml,查询对应的action所对应的定义处理-找到对应的类,执行execute方法,根据execute方法返回的内容进行跳转那个页面(跳转页面是由action定义的)。处理类execute方法的写法public String execute() throws Exception / 当用户请求参数的username等于admin,密码请求参数为12345时,返回success字符串/ 否则返回error字符串f (11.equals(getName() & 22.equals(getPass() ActionContext.getContext().getSession().put(userinfo, getName(); System.out.println(this.SUCCESS); return this.SUCCESS; else if(getName() = null | getName().trim().equals()|getPass() = null | getPass().trim().equals() return this.INPUT; else return this.ERROR; 5. 总结:Struts2的工作机制:一个请求在Struts2框架中的处理大概分为以下几个步骤:1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求;2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin);3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action;4、如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy;5、ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类;6、ActionProxy创建一个ActionInvocation的实例。7、ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。8、一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论