一、Struts2框架介绍
Struts2框架是MVC流程框架,适合分层开发。框架应用实现不依赖于Servlet,使用大量的拦截器来处理用户请求,属于无侵入式的设计。Struts 2是在WebWork2基础发展而来的。整体结构特点:
- Web浏览器请求一个资源。
- 过滤器Dispatcher查找方法,确定适当的Action。
- 拦截器自动对请求应用通用功能,如验证和文件上传操作。
- Action的execute方法通常用来存储和重新获得信息。
- 结果被返回到浏览器。
注意:struts 2和struts 1在代码风格上几乎不一样。
Struts 2 相比Struts 1的优点:
- 在软件设计上Struts 2 没有像Struts 1那样跟Servlet API 和 struts API 有着紧密的耦合。
- Struts 2的应用可以不依赖于Servlet API和Struts API 。
- Struts 2 提供了拦截器,利用拦截器可以进行AOP编程。
- Struts 2 提供了类型转换器。
- Struts 2 提供支持多种表现层技术,如:JSP 、 freeMarker等。
- Struts 2 的输入校验可以指定方法进行校验。
- Struts 2 提供了全局范围、包范围和Action范围的国际化资源文件管理实现。
二、Struts2框架的流程原理
- 请求先到达Filter中央控制器
- 然后为Action创建代理类
- 将各个服务存放在拦截器中,执行完拦截器后再去执行action类行action类,action类调用service,再调用dao
- 得到结果字符串,创建result对象
- 转向相应的视图。
程序流程图如下:
三、框架的使用
框架为我们做好了封装,使用起来就按照步骤,配置几个xml文件就行拉。
1、导入jar包
2、拷贝struts.xml文件
将拷贝的配置文件放在根目录src下。struts.xml文件主要是配置请求路径对应action类的,以及结果跳转路劲。
代码说明:访问/example/testAction.action对应执行struts2.action包下面的TestAction类;默认情况下执行类中的execute方法,如果想指定方法,需要在<action>标签中添加method属性;<result>标签配置结果跳转路径。根据Action类中方法返回的String字符串,去匹配result标签中的name值,进行跳转。
3、在web.xml文件中配置核心控制器