欢迎来到天天文库
浏览记录
ID:39862959
大小:988.50 KB
页数:25页
时间:2019-07-13
《认识Struts2框架》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章认识Struts2框架目录1234Struts2框架Struts2系统架构Struts2的基本运行流程Struts2的控制器和组件26.1Struts2框架36.1.1Struts2的由来42001年7月,Struts1.0正式发布,成为ApacheJakarta的子项目之一,采用XML定制转向的URL,Action来处理逻辑。2005年的JavaOne大会,Struts开发者和用户讨论,决定基于XWork开发一个新框架,这就是后来的Struts2。Struts2虽然是在Struts1的基础上发展起来的,但它并没有继承St
2、ruts1的设计理念。Struts2使用了WebWork的设计理念,并且吸收了Struts1的部分优点,建立了一个兼容WebWork和Struts1的MVC框架。原来使用的开发人员都能够很快过渡到使用Struts2框架进行开发。在使用上,Struts2更接近WebWork的使用习惯,因为Struts2使用了WebWork的设计核心而不是Struts1的设计核心。两个框架的优势得到了互补,让Struts2拥有更广阔的的前景。不仅Struts2自身更加强大,还对其他框架下开发的程序提供了很好的兼容性。6.1.2Struts2的MVC
3、模式5由于Struts2的架构本身就是来自于MVC思想,所以在Struts2的架构中能够找到MVC的影子。在Struts2中,视图层对应视图组件,通常是指JSP页面,也适用于velocity等其他视图显示技术。模型层对应业务逻辑组件,它通常用于实现业务逻辑及与底层数据库的交互等。控制层对应系统核心控制器和业务逻辑控制器。Struts2系统核心控制器StrutsPrepareAndExecuteFilter是一个起过滤作用的类,能根据请求自动调用相应的Action。而业务逻辑控制器是开发者自定义的一系列Action,在Action
4、中负责调用相应的业务逻辑组件来完成调用处理。Strtus2的MVC实现,如图所示。6.1.3Struts2控制器6Struts2的控制器是整个Struts2整个框架的核心,由StrutsPrepareAndExecuteFilter核心控制器和Action业务控制器两个部分组成在Struts2中通过拦截器来处理用户的请求,从而允许用户的业务逻辑控制器和Servlet分离,在处理请求的过程中以用户的业务逻辑控制器为目标,创建一个控制器代理,控制代理回调业务控制器中的execute()方法来处理用户的请求,该方法的返回值决定了Str
5、uts2以怎样的视图资源呈现给用户。Struts2的控制器体系概略图,如图所示。6.1.4Struts2资源的获取7Struts2的官方网站http://struts.apache.org/,可下载最新版本的Struts2。在这里以struts2.5.8的版本进行介绍,将struts2.5.8压缩包进行解压缩操作后,文件夹结构包括:apps文件夹;docs文件夹;lib文件夹;src文件夹。Struts-2.5.8框架目录中的lib文件夹下有93个jar文件,Struts2项目所依赖的主要jar包如下:struts2-core-
6、2.5.8.jar、ognl-3.1.12.jar、freemarker-2.3.23.jar、commons-logging-1.1.3.jar、commons-io-2.4.jar、commons-lang3-3.4.jar、javassist-3.20.0-GA.jar、commons-fileupload-1.3.2.jar、log4j-api-2.7.jar。6.2Struts2系统架构86.2.1Struts2框架结构9Strut2的官方文档里附带了Struts2的系统架构图,展示了Struts2的框架结构中的内部模
7、块以及运行流程,其大量使用拦截器来处理用户请求,这些拦截器组成一个拦截器链,会自动对请求进行一些通用性的功能处理,如图所示。6.2.2Struts2的核心概念10Struts2的核心组件是我们必须要掌握的,这些组件组成了应用程序的功能,也构成了框架本身。FilterDispatcher(StrutsPrepareAndExecuteFilter)Action业务类Result结果Interceptor拦截器ActionContext、值栈与OGNLStruts2标签自动类型转换国际化验证框架6.3Struts2的基本运行流程11
8、6.3.1用户登录的处理流程12采用Struts2框架以后,不再提交给服务器端的JSP或Servlet,下面我们通过使用JSP+Struts2实现用户的登录验证,来讲解Struts2的运行流程。登录功能的Struts2框架的运行流程,如图所示。用户login.j
此文档下载收益归作者所有