Struts2学习笔记(1)

Struts2核心文件

web.xml

任何MVC框架都需要与Web整合,这就不得不借用web.xml文件,只有配置在web.xml文件中的Servlet才会启用。
通常所有的MVC框架都需要Web应用加载一个核心控制器,对于Struts2而言需要加载StrutsPrepareAndExecuteFiler,只要Web加载StrutsPrepareAndExecuteFilerStrutsPrepareAndExecuteFiler就会加载Struts框架。

struts.xml

该文件主要管理应用中的Action映射,以及该Action所包含的result定义。

  • struts.xml所包含的内容有:
  1. 全局属性
  2. 用户请求和相应Action之间的关系
  3. Action可能用到的参数和返回值
  4. 各种拦截器的配置
  • struts.xml文件代码分析
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

-//Apache Software Foundation//DTD Struts Configuration 2.3//EN
是xml的描述,指明当前使用的是struts-2.3的版本
http://struts.apache.org/dtds/struts-2.3.dtd
是xml的约束,指明当前struts那些标签可以使用,那些不可以使用。

<include file="example.xml"/>

可以将每个功能单独写成一个xml文件,再有incule标签引入struts.xml文件中,以实现功能的组件化。

    <package name="default" namespace="/" extends="struts-default">

        <default-action-ref name="index" />

        <global-results>
            <result name="error">/WEB-INF/jsp/error.jsp</result>
        </global-results>

        <global-exception-mappings>
            <exception-mapping exception="java.lang.Exception" result="error"/>
        </global-exception-mappings>

        <action name="index">
            <result type="redirectAction">
                <param name="actionName">HelloWorld</param>
                <param name="namespace">/example</param>
            </result>
        </action>
    </package>

<package>标签:将多个Action组成一个模块的方式。package可以在基于其他package进行扩展,

  • name:package名(一个struts.xml文件中可以有多个package,但是package名必须是唯一的)。
  • extends:继承父package名
  • namespace:定义package的命名空间,影响Action的url地址。例如,若namespace="/",触发Action的地址则为http://localhost:8080/JavaProject/XX.action,若namespace = “/test”,url则为http://localhost:8080/JavaProject/test/XX.action。
  • abstruct:设置package的属性为抽象的,抽象的包不能定义Action,值为true或false。

<global-results>:全局results配置,文件中所有的Action都能使用。
<action>:一个Action可以被对此映射(Action的name不同)。

  • name:Action的名称,访问Action的地址
  • class:对应Action的类名
  • method:Action的方法名

<result>:触发Action后所执行的结果

  • name:结果名
  • type:方法名
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

定义常量,可以将struts.properties中的配置项以constant标签的形式配置到struts.xml中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值