Struts2的配置struts。xml操作详解

  

在学习struts的时候,我们一定要掌握struts2的工作原理,只有当我们明确了在struts2框架的内部架构的实现过程,在配置整个struts的框架时,可以很好的进行逻辑上的配置。接下来我就先简单的讲解下struts2的框架工作原理:
  

  

  

 Struts2的配置struts。xml操作详解

  

1,客户端初始化一个指向Servlet容器(例如Tomcat)的请求;
  2,这个请求经过一系列的过滤器(过滤器)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh插件),
  3,接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个行动;
  4,如果ActionMapper决定需要调用某个行动,FilterDispatcher把请求的处理交给ActionProxy;
  5,ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的操作类;
  6,ActionProxy创建一个ActionInvocation的实例。
  7,ActionInvocation实例使用命名模式来调用,在调用行动的过程前后,涉及到相关拦截器(拦截器)的调用。
  8,一旦行动执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个动作链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2框架中继承的标签。在这个过程中需要涉及到ActionMapper。

  


  

  

1)在Myeclipse中创建一个web项目,并将struts2需要的jar包导入进项目中,如下图
  

  

2)在项目中的web . xml中进行配置struts2的框架,在web . xml中需要包含在& lt; filter> & lt;/filter>在该节点下可以包含& lt; filter-name>和& lt; filter-mapin
  

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; web version=" 3.0 " 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_3_0.xsd”比;   & lt; display-name> & lt;/display-name>   & lt; welcome-file-list>   & lt; welcome-file> index.jsp   & lt;/welcome-file-list>      & lt; filter>   & lt; filter-name> struts2   & lt; filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter   & lt;/filter>   & lt; filter-mapping>   & lt; filter-name> struts2   & lt; url-pattern> * .action   & lt;/filter-mapping>   & lt; filter-mapping>   & lt; filter-name> struts2   & lt; url-pattern> * .jsp   & lt;/filter-mapping>      & lt;/web-app>   之前      

3)编写动作类
  4)创建好了动作类中要对行动进行配置struts。xml,注意该配置文件的位置要在src的根目录下
  5)创建jsp的文件,进行测试
  

  

  

先来看看struts的基本配置的大概情况
  

        & lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比;   & lt; !DOCTYPE struts公共   ”——//Apache软件基金会//DTD Struts配置2.1.7//EN”   “http://struts.apache.org/dtds/struts-2.1.7.dtd”在      & lt; struts>   & lt;包名称==?薄坝没А泵瓶占淅┱?“struts-default”比;   & lt;动作名称=" *用户" class=" com.zzjmay.action。VaildateAction”方法=皗1}”在   & lt;结果名称=俺晒Α痹?success.jsp   & lt;结果名称="输入"祝辞/{1}.jsp   & lt;/action>   & lt;/package>   & lt;/struts>   之前      

从上面的代码中可以看的出,xml中包含的再根节点下& lt; struts> & lt;/struts>下。在实际项目中的编写时,头部信息需要更改,那么我们给以在导入的jar中的jar包中进行获取
  

  

在struts-core-2.2.1.1.jar包下的struts2.0。dtd中进行获取。
  

  


  

  

看着前面的代码可以很清晰的看到包的属性
  

  

属性有:
  

  

1只,,,名称:逻辑上的包名
  2只,,,名称空间:命名空间,用来区分同意struts下的相同行动(注意是一种逻辑上的的路径)
  3只,,,延伸:继承某个配置文件
  4只,,,摘要
  

  

具体使用过程中要注意,有与命名空间的命的名,我们要在相应的过程中加上对应的命名空间的路径,例如:

Struts2的配置struts。xml操作详解