Struts2_介绍struts2及struts2开发环境的搭建

来源:互联网 发布:软件界面显示不全 编辑:程序博客网 时间:2024/06/14 07:48

Struts2介绍

Struts2是在WebWork2基础发展而来的。和struts1一样,Struts2也属于MVC框架。不过有一点大家需要注意的是:尽管Struts2和struts2在名字上的差别不是很大,但Struts2和struts2在代码编写风格上几乎是不一样的。那么既然有了struts1,为何还要推出struts2。主要是因为struts2有以下优点:1> 在软件设计上Struts2没有象struts1那样跟Servlet API和struts API有着紧密码的耦合,Struts2的应用可以不依赖于Servlet API和struts API。Struts2的这种设计属于无侵入式设计,而Struts1却属于侵入式设计。public class OrderListAction extends Action{public ActionForward execute(ActionMapping mapping,ActionForm form, HttpeServletRequest request,HttpServletResponse response) throws Exception{}}2> Struts2提供了拦截器,利用拦截器可以进行AOP编程,实现如权限拦截等功能。3> Struts2提供了类型转换器,我们可惟把特殊的请求参数转换成需要的类型。在Struts1中,如果  我们要实现同样的功能,就必须向Struts1的底层实现BeanUtil注册类型转换器才行。4> Struts2提供支持多种表现层技术,如:JSP、freeMarker、Velocit等。5> Struts2的输入校验可以对定定方式进行校验,解新闻发布会了Struts1长久之痛。6> 提供了全局范围、包范围和Action范围的国际化资源文件管理实现。

Struts2开发环境的搭建

搭建Struts2开发环镜搭建Struts2环镜时,我们一盘需要做以下几个步骤工作:1,找到开发Struts2应用需要使用到的jar文件。2,编写Struts2的配置文件3,在web.xml中加入Struts2 MVC框架启动配置>>找到开发Struts2应用需要使用到的jar文件。大家可以到http://struts.apache.org/download.cgi#struts25101下载struts-2.x.x-all.zip,目前最新版为2.5.10。下载完后解压文件,开发struts2应用需要依赖的jar文件在解压目录的lib文件夹下。不同的应用需要的JAR包是不同的。下面给出了开发Struts2程序最少需要的JAR。struts2-core-2.x.x.jar:Struts2框架的核心类库。(必须)xwork-2.x.x.jar:XWork类库,Struts2在其上构建。(必须)ognl-3.1.x.jar:对象图导航语言(Object Graph Navigation Language),Struts2框架通过其读写对象的属性。(必须)freemarker-2.3.x.jar:Struts2的UI标签的模板使用FreeMarker编写。(必须)commons-logging-1.1.x.jar:ASF出品的日志包,Struts2框架使用这个日志包来支持Log4J和JDK1.4的日志记录。(必须)commons-fileupload-1.3.2.jar:文件上传组件,2.6版本后必须加入此文件。(必须)commons-io-2.x.jar: java.io 的扩展(必须)commons-lang3-3.x.jar:为java.lang包提供扩展(必须)javassist-3.11.x.GA.jar:javassist是用来操作字节码的(必须)>>编写Struts2的配置文件Struts2默认的配置文件为struts.xml,该文件需要存放在WEB-INF/classes下,该文件的配置模版如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN""http://struts.apache.org/dtds/struts-2.5.dtd"><struts></struts>>>在web.xml中加入Struts2 MVC框架启动配置在struts1.x中,struts框架是通过Servlet启动的。在struts2中,struts框架是通过Filter启动的。他在web.xml中的配置如下:<filter><filter-name>action2</filter-name><filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class><!-- 自从Struts 2.13以后,下面的FilterDispatcher已经标注为过时<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>--></filter><filter-mapping><filter-name>action2</filter-name><url-pattern>/*</url-pattern></filter-mapping>在StrutsPrepareAndExecuteFilter的init()方法中将会读取类路径下默认的配置文件struts.xml完成初始化操作。注意:struts2读取到struts.xml的内容后,以javabean形式存放在内存中,以后struts2对用户的每次请求处理将使用内存中的数据,而不是每次都读取struts.xml文件。


<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts></struts>

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><!-- 过滤器 --><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><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>


0 0
原创粉丝点击