Struts2工作原理及流程
2016-07-13 22:41
323 查看
Struts2是基于MVC设计模式的JavaWeb 框架技术。
基于Struts2开发Java Web项目的主要步骤如下:
(1)在web.xml中配置FilterDispatcher。
(2)设计和编写视图组件(JSP页面)。
(3)编写用来实现视图组件的业务逻辑组件JavaBean。
(4)编写视图组件对应的业务控制器Action,在该Action中调用业务逻辑组件JavaBean,进行业务逻辑处理。
(5)配置Action,即修改struts.xml配置文件。在struts.xml中配置逻辑视图与物理视图之间的跳转关系。
Action调用模型组件(业务逻辑组件)处理后,返回处理结果(逻辑视图,即返回的字符串),根据处理结果进行下一步页面跳转。页面怎么跳转都是事先在struts.xml中配置好的。
1、Struts2控制器组件:核心控制器FilterDispatcher、业务控制器Action;
(1)FilterDispatcher是一个过滤器,是Struts2的核心控制器,控制着整个Java Web项目中数据的流向和操作,FilterDispatcher需在web.xml中进行配置。
(2)Struts2的核心配置文件是struts.xml
用户请求提交给核心控制器FilterDispatcher后,具体由哪个业务控制器Action来完成,是在struts.xml配置文件中事先配置好的,
根据struts.xml配置文件中的数据,FilterDispatcher调用某个具体的业务控制器Action来完成数据的处理,
处理完数据后把处理结果通过其它对象返回给FilterDispatcher,FilterDispatcher根据struts.xml文件的配置,决定下一步操作。
(3)Action控制器
Action:业务控制器。不实现任何业务逻辑,只负责组织调度业务模型组件
Action类完全是一个简单的Java对象(Plain Old Objects,POJO),实际上就是一个普通的JavaBean
Action类无须与Servlet API关联,降低了与Servlet的耦合度,所以应用和测试比较简单
Action类的execute()方法仅返回一个字符串作为处理结果,该处理结果可传到任何试图或者另一个Action
2、[b]Struts2模型组件:包括业务逻辑组件和数据库访问组件;[/b]
模型组件是可以实现业务逻辑的模块,如JavaBean、POJO或EJB。
Struts2框架的业务控制器Action不会对用户请求进行实质的处理,用户请求最终由模型组件负责处理,Action只是提供处理场合,是负责调度模型组件的调度器
Struts2框架的目的是使用Action来调用模型组件
3、[b]Struts2视图组件,包括HTML、JSP、Struts2的标签等等。[/b]
除了HTML、JSP、Struts2标签外,还可以采用模板技术作为视图技术,如FreeMaker、Velocity等视图技术
基于Struts2开发Java Web项目的主要步骤如下:
(1)在web.xml中配置FilterDispatcher。
(2)设计和编写视图组件(JSP页面)。
(3)编写用来实现视图组件的业务逻辑组件JavaBean。
(4)编写视图组件对应的业务控制器Action,在该Action中调用业务逻辑组件JavaBean,进行业务逻辑处理。
(5)配置Action,即修改struts.xml配置文件。在struts.xml中配置逻辑视图与物理视图之间的跳转关系。
Action调用模型组件(业务逻辑组件)处理后,返回处理结果(逻辑视图,即返回的字符串),根据处理结果进行下一步页面跳转。页面怎么跳转都是事先在struts.xml中配置好的。
1、Struts2控制器组件:核心控制器FilterDispatcher、业务控制器Action;
(1)FilterDispatcher是一个过滤器,是Struts2的核心控制器,控制着整个Java Web项目中数据的流向和操作,FilterDispatcher需在web.xml中进行配置。
(2)Struts2的核心配置文件是struts.xml
用户请求提交给核心控制器FilterDispatcher后,具体由哪个业务控制器Action来完成,是在struts.xml配置文件中事先配置好的,
根据struts.xml配置文件中的数据,FilterDispatcher调用某个具体的业务控制器Action来完成数据的处理,
处理完数据后把处理结果通过其它对象返回给FilterDispatcher,FilterDispatcher根据struts.xml文件的配置,决定下一步操作。
(3)Action控制器
Action:业务控制器。不实现任何业务逻辑,只负责组织调度业务模型组件
Action类完全是一个简单的Java对象(Plain Old Objects,POJO),实际上就是一个普通的JavaBean
Action类无须与Servlet API关联,降低了与Servlet的耦合度,所以应用和测试比较简单
Action类的execute()方法仅返回一个字符串作为处理结果,该处理结果可传到任何试图或者另一个Action
2、[b]Struts2模型组件:包括业务逻辑组件和数据库访问组件;[/b]
模型组件是可以实现业务逻辑的模块,如JavaBean、POJO或EJB。
Struts2框架的业务控制器Action不会对用户请求进行实质的处理,用户请求最终由模型组件负责处理,Action只是提供处理场合,是负责调度模型组件的调度器
Struts2框架的目的是使用Action来调用模型组件
3、[b]Struts2视图组件,包括HTML、JSP、Struts2的标签等等。[/b]
除了HTML、JSP、Struts2标签外,还可以采用模板技术作为视图技术,如FreeMaker、Velocity等视图技术
相关文章推荐
- java ssh 框架下 利用junit4 spring-test进行单元测试
- java基础总结
- [转]Eclipse Java注释模板设置详解
- java_annotation_02
- java 事件处理的几种写法
- 第二章 怎样把android studio快捷键设置与eclipse一样
- java获取中国时间代码(适用全球任意机器)
- Java-1.5新特性之注解
- Java 读取excel文件 兼容97-2013
- JAVA设计模式--代理模式(动态)(二)
- Java中的Set集合
- eclipse中代码注释
- struts2 如何实现mvc 的?
- 在写junit test 的时候出现的java.lang.UnsupportedClassVersionError问题
- Java 集合 集合与数组之间的转换
- Spring mvc整合freemarker详解
- Spring mvc整合freemarker详解
- Spring mvc整合freemarker详解
- Spring mvc整合freemarker详解
- struts2 模型驱动