Struts2学习笔记一之工做原理和struts.xml解析

  Struts是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用做实现的一部分。web

  Struts的核心是ActionSevlet,ActionSevlet的核心是struts.xml。(这个xml文件做为ActionServlet的配置文件)apache

  1、Struts的响应过程:jsp

  1.当Tomcat收到client访问请求,好比http://localhost:8080/Struts2_01_Introduction/Hello_struts,会访问Struts2_01_Introduction项目下的web.xml。url

  2.在web.xml中,定义了一个filter,它会过滤全部的url地址,好比当咱们输入Hello_struts时,这个地址就会被org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter这个类接收到。spa

  3.而后,这个类会在struts.xml中查询,首先查namespace,这里的namespace是/,而后会在action中查找Hello_struts,若是找到了,将result返回给client。

  简单说,Struts2的做用是将请求和显示结果分开。code

 

  2、struts.xml解析xml

  

<struts>

    <!-- 开启开发模式(当修改action的name而后进行访问时 不会出错) -->
    <constant name="struts.DevMode" value="true"/>
    <package name="package" namespace="/c" extends="struts-default">
        <action name="aaa">
            <result>/index.jsp</result>
        </action>
    </package>

</struts>    

  1.package做用形同Java中的包,用来区分模块。blog

  2.namespace决定了action的访问路径,默认为"",此时能够接受全部路径的action。namespace能够写成"/","/xxx",或者"/xxx/yyy",对应的action访问路径为/index.jsp,/xxx/index.jsp,/xxx/yyy/index.jsp。好比,要访问上述代码叫作"aaa"的action,须要输入http://localhost:8080/Project Name/c/aaa 才能访问。开发

相关文章
相关标签/搜索