zoukankan      html  css  js  c++  java
  • Struts2学习笔记一之工作原理和struts.xml解析

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

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

      一、Struts的响应过程:

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

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

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

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

      二、struts.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中的包,用来区分模块。

      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 才能访问。

  • 相关阅读:
    打sql server pack4后打开网站报错的解决办法
    北京大学的三角形文章
    一次SQL Server 2000修复实践的说明
    今天重看了几集《将爱情进行到底》
    MakeFile的写法
    [经验杂谈]与大虾对话:领悟设计模式zz
    论函数调用约定(zz)
    用标准模板库STL实现文件比较(zz)
    C++中的虚函数(virtual function)
    为学院科研办做的个小应用管理程序
  • 原文地址:https://www.cnblogs.com/AEIOU19994/p/5479157.html
Copyright © 2011-2022 走看看