Struts2配置文件及详解.docx
《Struts2配置文件及详解.docx》由会员分享,可在线阅读,更多相关《Struts2配置文件及详解.docx(23页珍藏版)》请在冰豆网上搜索。
Struts2配置文件及详解
Struts2配置文件及详解
分类:
非程勿扰—Struts22014-01-0814:
23189人阅读评论
(1)收藏举报
目录(?
)[+]
1.Struts2的作用
2.strtusxml配置详解
1.包配置
2.命名空间配置
3.包含配置
4.常量配置
3.xml方式示例
1.Action
2.Strutsxml
3.indexjsp页面
4.registjsp页面
5.successjsp页面
4.将Action中每个方法都变成Action属性
5.使用通配符映射wildcardmappings方式
6.处理结果
1.配置处理结果
2.处理结果类型
3.动态返回结果
7.异常处理
1.异常映射分两种
2.输出异常信息
3.示例
1.把UserAcitonjava中的regist方法改成
2.修改strutsxml文件
3.新增一页面exceptionjsp
Struts2的作用:
Struts2的作用就是使用户的请求与视图分离,当用户发出请求链接的时候,web容器就会解析用户的请求,web容器通过读取web.xml文件,读取到strtus2的filter,然后执行dofilter方法,去strtus的配置文件里查找相应的action,然后返回数据到配置文件,通过返回结果对比配置文件中的result的配置返回到对应的视图文件。
如果请求中没有指明要访问的action,比如,直接访问的是http:
//localhost/,strtus配置文件中没有配action=""的result,此时就会交给tomcat来处理,tomcat就会访问web.xml,通过配置的welcome页面。
也可以这样定义:
[java]viewplaincopyprint?
1.
2.
3.
4.index.jsp
5.
6.
index.jsp
设置默认的action,如果要跳转的action没有找到,就使用默认的。
1、引入strtus2jar包。
[java]viewplaincopyprint?
1.commons-fileupload-1.2.1.jar
2.commons-logging-1.0.4.jar
3.freemarker-2.3.15.jar
4.ognl-2.7.3.jar
5.struts2-core-2.1.8.jar
6.xwork-core-2.1.6.jar
commons-fileupload-1.2.1.jar
commons-logging-1.0.4.jar
freemarker-2.3.15.jar
ognl-2.7.3.jar
struts2-core-2.1.8.jar
xwork-core-2.1.6.jar
2、修改web.xml,配置拦截器。
[java]viewplaincopyprint?
1.
2.struts2
3.org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
4.
5.
6.struts2
7./*
8.
struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*
3、在src下创建struts.xml,并配置。
1.strtus.xml配置详解:
1.1包配置:
Struts2框架中核心组件就是Action、拦截器等,Struts2框架使用包来管理Action和拦截器等。
每个包就是多个Action、多个拦截器、多个拦截器引用的集合。
在struts.xml文件中package元素用于定义包配置,每个package元素定义了一个包配置。
它的常用属性有:
[java]viewplaincopyprint?
1.//name:
必填属性,用来指定包的名字。
2.//extends:
可选属性,用来指定该包继承其他包。
继承其它包,可以继承其它包中的Action定义、拦截器定义等。
3.//namespace:
可选属性,用来指定该包的命名空间。
4.//如上示例的配置,配置了一个名为default的包,该包下定义了一个Action
5.
DOCTYPEstrutsPUBLIC
6."-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
7."http:
//struts.apache.org/dtds/struts-2.0.dtd">
8.
9.
--struts2的action必须放在一个指定的包空间下定义-->
10.
11.
--定义处理请求URL为login.action的Action-->
12.
13.
--定义处理结果字符串和资源之间的映射关系-->
14./success.jsp
15./error.jsp
16.
17.
18.
//name:
必填属性,用来指定包的名字。
//extends:
可选属性,用来指定该包继承其他包。
继承其它包,可以继承其它包中的Action定义、拦截器定义等。
//namespace:
可选属性,用来指定该包的命名空间。
//如上示例的配置,配置了一个名为default的包,该包下定义了一个Action
DOCTYPEstrutsPUBLIC
"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
"http:
//struts.apache.org/dtds/struts-2.0.dtd">
--struts2的action必须放在一个指定的包空间下定义-->
--定义处理请求URL为login.action的Action-->
--定义处理结果字符串和资源之间的映射关系-->
/success.jsp
/error.jsp
1.2命名空间配置
考虑到同一个Web应用中需要同名的Action,Struts2以命名空间的方式来管理Action,同一个命名空间不能有同名的Action。
Struts2通过为包指定namespace属性来为包下面的所有Action指定共同的命名空间。
把上示例的配置改为如下形式:
[java]viewplaincopyprint?
1.
2.
--struts2的action必须放在一个指定的包空间下定义-->
3.
4.
--定义处理请求URL为login.action的Action-->
5.
6.
--定义处理结果字符串和资源之间的映射关系-->
7./success.jsp
8./error.jsp
9.
10.
11.
12.
13.
--定义处理请求URL为login.action的Action-->
14.
15.
--定义处理结果字符串和资源之间的映射关系-->
16./success.jsp
17./error.jsp
18.
19.
20.
--struts2的action必须放在一个指定的包空间下定义-->
--定义处理请求URL为login.action的Action-->
--定义处