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的变化很小。
(与springmvc相比struts更为简单个人感觉)
一丶开发包的准备
http://struts.apache.org/这个网站是struts的官网,里面可以下载最新的struts的jar包!
下载好整个开发包之后到apps文件夹中随意解压一个war包,到WEB-INF/lib中拷开发需要的jar包
二丶写Action类
写Action有三种方式
1.直接新建一个java文件然后写execute方法(这个方法Action会默认执行)
public class HelloStruts2 {
public String execute(){
return "ok";
}
}
2.新建一个java文件继承ActionSupport父类
public class BookAction extends ActionSupport {
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return "ok";
}
}
3.新建一个java文件实现Action接口
三丶配置struts.xml文件
<package name="hellodemo" extends="struts-default" namespace="/">
<!--result 表示的是到达hello.jsp页面的方式 dispatcher 请求转发 表示的一个请求 地址栏不发生改变
redirect 请求重定向 地址栏会发生改变
chain 转发到action 一般不用 存在缓存问题
redirectAtion 重定向到action -->
<action name="hello" class="com.heima.action.BookAction"><result name="ok" type="redirect">/hello.jsp</result></action></package>
四丶配置拦截器到web.xml文件当中
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这样就完成了一个简单的struts2的例子了!