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

47 篇文章 0 订阅

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值