Struts2是在WebWork2基础发展而来的。和struts1一样,struts2也属于MVC框架。不过有一点需要注意的是:尽管struts2和struts1在名字上差别不是很大,但是struts2和struts1在代码编写风格上几乎是不一样的。那么既然有了struts1,为何还要推出struts2?主要是因为struts2有以下优点: 1>在软件设计上,struts2没有像struts1那样跟Servlet API和struts API有着紧密的耦合,struts2的应用可以不依赖Servlet API和struts API。Struts2的这种设计属于无侵入式设计,而struts1却属于侵入式设计。
1 public class OrderListAction extends Action{ 2 public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request, 3 HttpServletResponse response) throws Exception{} 4 }
2>Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。
3>Struts2提供了类型转换器,我们可以把特殊的请求参数转换成需要的类型。在struts1中,如果我们要实现同样的功能,就必须想struts1的底层实现BeanUtil注册类型转换器才行。
4>Struts2提供支持多种表现层技术,如:JSP、freeMarker、Velocity等
5>Struts2的输入校验可以对指定方法进行校验,解决了Struts1长久之痛。
6>提供了全局范围、包范围和Action范围的国际化资源文件管理实现
搭建Struts2开发环境
搭建Struts2环境时,我们一般需要做以下几个步骤的工作:(一下文件都可以在下载的struts2的文件夹中可以找到,找不到的可以联系我。QQ:434551893)
1>找到开发Struts2应用需要使用到的jar文件,拷贝到WEB-INF下/lib目录下
2>编写Struts2的配置文件
3>在web.xml中加入Struts2 MVC框架启动配置
添加源码文件(建立jar文件对应的源码):右键点击之前添加的struts2-core-2.3.24.1.jar文件,选择Properties --> Java Source Attachment --> External Folder,然后选择源码位置struts-2.3.24.1\src\core\src\main\java
添加文档文件:右键点击之前添加的struts2-core-2.3.24.1.jar文件,选择Properties --> Javadoc Location --> URL--Browse 找到struts-2.3.24.1\docs\struts2-core\apidocs OK!
快速提示设置:先在本地解压一个lib文件夹下边struts2-core-2.3.24.1.jar文件,里边可以看到dtd文件。然后打开window --> Preferences --> 搜索catalog 选中XML Catalog 点击Add Location:本地dtd文件位置,Key Type:选择URI,Key:struts2.xml配置文件中的http://struts.apache.org/dtds/struts-2.3.dtd