struts2--(1)环境搭建

struts2开发环境搭建,主要分为如下几部:

1.下载struts2相关开发包 http://struts.apache.org/download.cgi#struts23161

2.创建一个struts2 web工程,copy相关jar包到此工程的lib文件中。

下载的struts2开发包中,有四个文件夹,其中app文件夹是一些例子。我们可以解压blank工程,将其中的lib中的jar包拷贝到所创建的lib文件中。

3.修改web.xml配置文件,指定所有请求都交由struts2来处理。主要是在web.xml配置文件中配置一个filter.此filter将会将所有请求都交由struts2来处理。配置内容如下:

<display-name>Struts2 test1</display-name>

		<filter>
			<filter-name>struts2</filter-name>
			<!-- 指定处理的filter-->
			<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
		</filter>
		<!--指定所有请求都交由struts2来处理 -->
		<filter-mapping>
			<filter-name>struts2</filter-name>
			<url-pattern>/*</url-pattern>
		</filter-mapping>
4.添加struts.xml配置文件,此文件应放在classes目录下,但是在开发模式下,只需要将其放到src目录下即可。此配置文件的所有配置都放在一个package元素内,不同的package元素的配置相互独立。另外此package必须继承struts-default.可以从blank工程中copy一份struts.xml并对其进行修改。

<struts>
			<!-- 指定devMode为开发模式,即每修改一处配置后,无须重新发布web应用,即可生效 -->
			<constant name="struts.devMode" value="true" />
			
			<!-- namespace指定命名空间 -->
			<package name="default" namespace="/" extends="struts-default">
				<!-- 它是一个通用的action,*为通配符,当从浏览器地址栏解析uri地址,并通过namespace解析
					获取到了对应的action名称后,将在struts中查询对应的配置。找到后将调转到result指定的
					显示页面。 -->
				<action name="*Action">
					<result>
						/WEB-INF/jsp/{1}.jsp
					</result>
				</action>
			</package>


			<!-- Add packages here -->

		</struts>
需注意的是上面配置了一个constant标签,其name是struts2中的value stack中指定的。上面通过通配符来指定一个通用的action配置,它将根据请求uri来调转到相应的显示页面。

下面是struts2处理请求的流程简单描述:

1.浏览器中输入请求访问的资源地址。http://localhost:8080/Struts2_001/TestAction

2.浏览器将此请求提交给tomcat服务器。

3.tomcat服务器根据url请求地址,找到对应的web应用Struts2_001

4.查找Struts2_001的web.xml配置文件,根据配置文件指定,交给struts2来处理

5.解析出url的命名空间,为"/",然后查找struts.xml配置文件,通过匹配namespace(配置文件中为"/"),来查找到匹配的package配置。

6.查找到了对应的package配置后,在根据url指定的action(此处为TestAction),来查找匹配的action(查到配置文件中为*Action), 其中*匹配的内容为Test,即{1}为Test.

7.根据result来调转的相应的jsp页面,其实此处result忽略了其name属性值,默认为success。而TestAction也没有指定特定的action来出去此action,struts2将会返回一个默认的success。

上面是一个简单的struts处理流程。下面是一个简单的流程图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值