Bootstrap

Struts2基础(一)

Struts2概论:

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,
在MVC设计模式中,
Struts2作为控制器来建立模型与视图的数据交互。
Struts2是在struts1和WebWork的技术基础上进行了合并的全新的Struts2框架

执行过程:

Struts2执行过程

访问流程:

1.通过网址请求中的hello
  /hello/HelloAction
2.找到对应命名空间(网址)
3.找到后,在通过网址中HelloAction去匹配Action标签中name
4.匹配上,用class标签创建其类的对象
5.调用该类方法
6.拿到类中的方法的返回值,去匹配result标签
7.返回值匹配上,调用标签中的页面

配置struts.xml文件:

<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- struts根标签 -->
<struts>
    <!-- 
        package:
        name:标签随便写,只要不重复 可以进行模块化区分
        namespace:命名空间(访问Action网站前的一个网址部分)
        extends:继承一个包 struts-default 默认配置 默认提供的功能
    -->
    <package name="hello" namespace="/hello" extends="struts-default">
        <!-- 
            action:
            name:该类访问的路径
            class:类的全限定类名
            method:类方法被访问的方法
        -->
        <action name="HelloAction" class="com.lanou3g.hello.HelloAction" method="hello">
        <!-- 
            result:
            name:方法的返回值(匹配)
            type:请求跳转的方法,默认是请求转发 dispatcher
            值部分:跳转网页
        -->
            <result name="success" type="dispatcher">/hello.jsp</result>
        </action>
    </package>

    <!-- 引入其他struts配置文件 -->
    <include file="com/lanou3g/def/struts.xml"></include>
    <include file="com/lanou3g/dynamic/struts.xml"></include>
    <include file="com/lanou3g/test/struts.xml"></include>
</struts>

设置动态方法:

<struts>
    <!-- 常量配置 动态方法 不常用 搜索引擎不好抓取
         struts.enable.DynamicMethodInvocation = false 
         默认 动态方法是关闭
    -->
    <!-- 使用/dynamic/DemoAction! -->
    <constant name="struts.enable.DynamicMethodInvocation" value="false"></constant>
    <package name="dynamic" namespace="/dynamic" extends="struts-default">
        <!-- 
            使用通配符 配置访问路径 *号是你的方法名
            method 标签 中 {1} 代表取到前面星 获取方法名
         -->
        <action name="DemoAction02_*" class="com.lanou3g.dynamic.DemoAction02" method="{1}">
            <result name="success" type="dispatcher">/hello.jsp</result>
        </action>
    </package>
</struts>
;