Struts2的原理及应用
来源:互联网 发布:股票1272战法源码指标 编辑:程序博客网 时间:2024/06/05 17:45
原理: Struts2框架本身大致可以分为三个部分:核心控制器FilterDispatcher、业务控制器Action、用户自定义的企业业务逻辑组件。
(1)核心控制器FilterDispatcher FilterDispatcher是Struts2框架的基础,包含了框架内部的控制流程和处理机制。业务控制器Action和业务逻辑组件需要用户自己定义,用户在定义它们的时候,需要制定相应的配置文件,供FilterDispatcher来调用。 Struts2的工作原理要比Struts1的工作原理简单,和WebWork框架的原理基本相同。按照模块来分的话:可以分为:ServletFilter、Struts2核心模块、拦截器和用户实现部分。 结构图:
(1)客户端提交一个HttpServletRequest:localhost:8080/test/Reg.action (2)请求被依次提交到过滤器: 上下文传送的内容为ActionContext,它是一个容器(map),包含包括valueStack在内的很多信息。 1.ActionContextCleanUp : 在ActionContext中定义一个值,延长Action中属性值的周期,当jsp中进行访问时,让actionContextCleanUp过滤器来清除属性,不让Action自行处理。 2.其他过滤器(SiteMesh等): 主要过滤HttpServletResponse,对整个项目返回到客户端的内容进行装饰,让页面的装饰相一致。 3.FilterDispatcher: 它是控制器的核心,也就是MVC模式struts2控制层的核心。 FilterDispatcher询问ActionMapper是否需要调用某个Action来处理这个HttpServletRequest(请求)。如果需要,则交给ActionProxy来处理。 ActionProxy通过ConfigurationManager(struts.xml)询问框架的配置文件,找到需要调用的Action类。 ActionProxy创建一个ActionInvocation实例,ActionInvocation通过代理模式调用Action,在调用Action之前,ActionInvocation会加载Action相关的所有Interceptor(拦截器)。一旦Action执行完毕,ActionInvocation负责通过struts.xml配置找到对应的返回结果result。 (3)FilterDispatcher过滤器主要有三个方法:destroy、doFilter、init destroy: doFilter: 调用Dispatcher.serviceAction,该方法如果找到相应的Action,将把用户请求交给ActionProxy。 init: (4)简要流程: 1、客户端浏览器发出HTTP请求。
2、根据web.xml配置,该请求被FilterDispatcher接收。
3、根据struts.xml配 置,找到需要调用的Action类和方法, 并通过IoC方式,将值 注入给Aciton。
4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。
5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面。
6、返回HTTP响应到客户端浏览器。
应用: (1) Struts2的下载:http://people.apache.org/builds/struts/ (2)其中必需的六个压缩包:
包说明:
(3)下载struts-2.3.9-lib.zip后,在Eclipse上搭建: 1.选择菜单Window->Preferences->Java->BuildPath->User Libraries。 2.新建Library后,将以上五个包全部添加进去。 3.开发第一个Struts2应用程序 a.新建一个WEBPROJECT,导入以上7个包。 b.在web.xml中注入struts2的过滤器:
c.在src下面创建struts.xml,然后配置: d.项目排列:
e.Action代码:
f.login.jsp、welcome.jsp、error.jsp
包说明:
0 0
- Struts2的原理及应用
- Struts2返回JSON数据的原理及具体应用
- struts2的原理及作用
- Struts2 + Json _ 配置,异常解决及深入了解Struts2返回JSON数据的原理及具体应用范例
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 深入了解Struts2返回JSON数据的原理及具体应用范例(转)
- 深入了解Struts2返回JSON数据的原理及具体应用范例
- 广州传智播客老师分享:学了.Net能做什么开发
- Android 垂直滑动ViewPager实现
- ios开发之倒计时实现的两种方法
- 使用PHPMailer发送带附件并支持HTML内容的邮件
- cocos2dx之CCTMXTiledMap
- Struts2的原理及应用
- MySql数据库出现表锁等待超时的一…
- Android 自定义权限
- 中国大数据技术与产业发展白皮书——2.5金融与大数据(读书笔记)
- AJAX步步精心系列(一)AJAX简介
- 常见,常用的名词缩写 20131224
- Azure Storage架构介绍
- HTML5 创建手机滚珠子小游戏 (一)
- windows注册表