struts2的配置文件
配置文件组成
1.web.xml
2.struts.xml
web.xml
1.web.xml作用:是struts2框架的入口,当浏览器发出请求到服务器后,首先发给web.xml,调用核心控制器,来执行一系列操作, 然后通过调用ConfigurationManager来执行struts.xml的配置文件。web.xml的目的就是执行核心控制器,核心控制器相当于一个类(拦截器)
2. web.xml的实例:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
filter-name:给这个核心控制器定义一个名字(随便定)。
filter-class:定义核心控制器的限定名(位置),通过这里来调用核心控制器
filter-name:和上一个一样,名字也需要一样
url-pattern:匹配请求,上面的/*是匹配所有请求。如果这里是/*.action,那么form action='*.action'必须也要以。action结尾。
struts.xml
1.struts.xml的作用:来确定浏览器发来的请求的类型,然后通过struts.xml来查找出这个请求对应的action类,并对action的执行结果进行处理。
2.struts.xml的实例:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!--extends必须写,直接或者间接继承struts-default name自定义 -->
<package name="hello" extends="struts-default">
<!-- name是请求名称,不要写/;class对应action完全限定名=包名+类名 -->
<action name="hello" class="com.demo.HelloAction">
<!-- result是结果集 name和对应action中的方法的返回值匹配,默认是success -->
<result name="success">/index.jsp</result>
</action>
</package>
</struts>
前三行可以用用户文档直接复制,它来引用一个dtd文件(xml语法检查器)
<package>标签:为了实现模块化。
name:自定义,不能重复
namespace:命名空间,和url请求路径相关,即与浏览器上输入的地址有关。/表示根目录,而且也会影响下面的result对应的路径,如果下面的路径为相对路径,则它是相对于namespace的路径的,所以下面的url一般为绝对路径。
extends:继承。继承struts-default后,才能使用struts2框架的功能。
<action>标签:用来定义java类的相关信息。
name:请求名称,不用写.action,直接写前面的名字。
class:处理类的完全限定名称若不配则执行默认类(ActionSupport类)。即该请求执行的下一个action类
methon:该action下所执行对应的方法。它的值是该action类下所对应的方法。默认为execute()方法。
<result>标签:用来处理action·类的结果
name:结果集名称,用来与action类的method所指的方法的返回值所对应。若匹配成功则到后面的文件。
type:执行后面的文件的方式/或类型
dispatcher:转发(默认)
redirect:重定向
redirectAction:重定向到指定action。