Struts2介绍与配置
一:了解Struts2
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。
二:首先我们先来简单了解一下struts2的整体结构
1.1 struts2是MVC的框架
核心包:struts2-core
核心过滤器:Web.xml
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter(2.X版本)
1.2 使用Struts 2 开发程序的基本步骤
A、加载struts2的类库 struts.apache.org
B、配置web.xml文件(就是配置struts2的核心处理器)
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter- class>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping>
C、编写视图层jsp页面
D、编写控制层Action (也就是我们以前写的servlet,需要继续ActionSupport)
E、配置struts.xml文件
F、部署、运行
下图为struts2的实例:
三:详细配置
Action中属性的获表单的name属性值必须跟action中的属性值名字一样,而且必须封装
属性名------------------------->action中属性名
属性对象名.属性名-------->action中属性
Result常用的结果类型,即type属性
A、dispatcher(默认) 转发
底层使用RequestDispatcher转发请求
B、redirect
底层使用sendRedirect将请求重定向
C、redirectAction
重定向到action
四:struts2实际详解
4.1:struts2框架的好处
a:自动封装表单提交数据
b:便捷的实现文件上传--FileUpload
c:国际化(在项目中不常使用)
d:通过配置完成表单验证
e:标签库--struts2标签库、OGNL标签库
f:防止数据重复提交--token令牌机制
g:异常处理机制--通过配置完成
4.2:手动搭建struts2框架
1、到官网上下载相对应的jar包
2、复制jar包到lib目录下
3、新建struts2的配置文件--struts.xml
4、在web.xml中加载struts.xml配置文件
4.3:struts2与struts1的区别
1、struts1采用的是<servlet>标签,struts2采用的是<filter>标签
2、struts1采用的是*.do,struts2采用的是*.action
3、struts1的Action继承的是Action,struts2的Action不需要继承任何类
4、struts1的Action方法返回的是ActionForword,struts2返回的是string
4.4:获取web对象