<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 动态方法调用打开! -->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<!--
开发者模式:
开发者模式打开之后
include中:
struts.i18n.reload = true
struts.configuration.xml.reload = true
1.打开之后,就是自动加载i18n;
2.打开之后,就是自动加载配置文件;
3.更多的错误提示; -->
<constant name="struts.devMode" value="true" />
<constant name="struts.i18n.encoding" value="UTF-8"/>
<!-- struts.action.extension=action,, aciotn或者空;一般老的java程序员喜欢把后缀改成do -->
<!-- struts.i18n.reload = true自动加载文本国际文件! -->
<!--
struts.ui.theme=xhtml
struts默认的标签,给标签默认加样式!方便快速开发! 如果自己开发前端的话,就可以设置为simple或者null!
-->
<!--
再讲讲package的作用:
package的作用是区分目录层级;不同的模块让package的虚拟目录层级不同!
/user/login:之类的配置namespace;
package声明上,不仅可以填extends,后面还可以填abstract只有两个属性:true和false
abstract之后,其中不能有具体的action实现,只能被其他的的package继承去实现功能!
-->
<package name="mzyPackage" namespace="/" extends="struts-default">
<!--
Demo01Action_add_success_index
此案例测试了动态方法调用的基础测试!简单案例使用!
其中name:是我们为action加上的一个标识,在访问时输入namespace+name值,就可以找到action了
class:action的完整类名。
method:处理的方法。
-->
<action name="*_*_*_*" class="com.mzy.servlet.{1}" method="{2}">
<result name="{3}">/WEB-INF/content/{4}.jsp</result>
<!--
result中的name:是通过method返回的一个标识符,如果在action中不配置method
默认就调用execute方法。返回值默认也是success和error!
-->
<!--
其中的type是只转到jsp的方式!
dispatcher:转发;
redirect:重定向;
redirectAction:重定向到另一个action;
stream:以流的形式放松到浏览器,用于文件下载;
chain:链,在一次请求中,从一个action到另一个action;
-->
<!-- <result name="success" type="dispatcher"></result> --> <!-- <result name="update">/update.jsp</result> -->
</action>
</package>
<!--
struts中的include配置:导入引用外部的配置!包含其他的struts.xml配置文件
协同开发,模块化开发使用。
-->
<include file="struts-namespace.xml" />
<include file="struts-servlet.xml" />
</struts>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts> <constant name="struts.enable.DynamicMethodInvocation" value="true" />
<constant name="struts.devMode" value="true" />
<!--
发现只要我是/a开头,后面的目录层级不管是几层/a/b/c...它都能找到我的Demo01Action,
总结它总是从第一层目录开始找的,只有第一层目录写对了,它就会一层一层往下找!这个是继承struts-default的原因!
先找/a/b/c
找不到:/a/b
找不到:/a
找不到:/
找不到:默认里面找action,谁是默认?没有写namespace的package就是默认!(namespace也不是必填的属性)
例如:
<package name="ns1" extends="struts-default">
这样就是默认的namespace 但是如果我写成了/b或者其他的开头,就会出错,找不到了! 下面的Demo02Ation同上! 补充action中的class属性也可以不配置,不配置的话,默认走默认的action(struts内部默认的action)返回默认success!
-->
<package name="ns1" namespace="/a" extends="struts-default">
<action name="Demo01Action" class="com.mzy.action.Demo01Action">
<result>/WEB-INF/namespace/demo01.jsp</result>
</action>
</package>
<package name="ns2" namespace="/b" extends="struts-default">
<action name="Demo02Action" class="com.mzy.action.Demo02Action">
<result>/WEB-INF/namespace/demo02.jsp</result>
</action>
</package>
</struts>

mzy,struts学习(二):struts.xml的配置的更多相关文章

  1. Struts框架中struts-config.xml文件配置小结

    弄清楚struts-config.xml中各项元素的作用,对于我们构建web项目有莫大的好处.<struts-config>是struts的根元素,它主要有8个子元素,DTD定义 如下: ...

  2. mybatis 学习二 conf xml 配置信息

    xml映射配置文件      这个xml文件主要包括一下节点信息      * properties 属性      * settings 设置      * typeAliases 类型命名     ...

  3. SpringBoot学习(二)-->Spring的Java配置方式

    二.Spring的Java配置方式 Java配置是Spring4.x推荐的配置方式,可以完全替代xml配置. 1.@Configuration 和 @Bean Spring的Java配置方式是通过 @ ...

  4. MySQL数据库学习二 MSQL安装和配置

    2.1 下载和安装MySQL软件 2.1.1 基于客户端/服务器(C/S)的数据库管理系统 服务器:MySQL数据库管理系统 客户端:操作MySQL服务器 2.1.2 MySQL的各种版本 社区版(C ...

  5. Java 基于quartz实现定时 之二(XML方式配置)

    <!-- 在spring核心配置文件中进行如下配置 --> <!-- Spring基于quartz定时任务 --> <bean id="triggerByBea ...

  6. mybatis 学习二 MyBatis简介与配置MyBatis+Spring+MySql

    1.2.2建立MySql数据库 在C:\Program Files\MySQL\MySQL Server 5.7\bin下面: 首先连接MySQL:        mysql  -u root -p ...

  7. [PHP][thinkphp5] 学习二:路由、配置调用、常量定义调用

    路由: 其实TP5就是一个集多家框架所长而成的,感觉失去了自己的特色!路由这块呢类似于laravel框架!废话不说直接上码! 路由配置,类似laravel,就在route.php文件里配置路由(文件所 ...

  8. mybatis学习二 全局配置文件常用配置

    全局配置文件的详细解析可以参考mybatis的中文参考文档 1.全局配置文件中内容1.1 <transactionManager/> type 属性可取值1.1.1 JDBC,事务管理使用 ...

  9. 学习Struts--Chap03:struts.xml常用配置(基础)

    1.package属性 name:包名 用来唯一的指定一个package.package可以扩展,当一个package扩展自 另一个package时该package会在本身配置的基础上加入扩展的pac ...

随机推荐

  1. 《手把手教你》系列技巧篇(九)-java+ selenium自动化测试-元素定位大法之By name(详细教程)

    1.简介 上一篇宏哥已经介绍了通过id来定位元素,今天继续介绍其他剩下的七种定位方法中的通过name来定位元素.本文来介绍Webdriver中元素定位方法之By name,顾名思义,就是我们想要定位的 ...

  2. Http协议知识点回顾

    OSI七层协议: 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 完整的Http协议请求流程: 协议:客户端和服务器双方都能听的懂得语言(约定) 不需要关注底层的网络层或传输层协议 TCP ...

  3. Python入门 -- 001

    在Windows系统下安装python: 从Python的官方网站(http://www.python.org/)下载最新版的程序安装包. 安装完成后设置路径,使得在Windows系统的CMD中能够通 ...

  4. 初探Node-red结合阿里云数据库,定时显示数据

    在最近的项目中,隔壁项目组推荐了一个很好的基于node.js开源IOT框架Node-Red,它的优点很明显,使用可视化编程的方式,实现了大部分需要在物联网领域的技术,而且能很好的对接各个云平台,快捷部 ...

  5. 【JavaWeb】EL表达式&过滤器&监听器

    EL表达式和JSTL EL表达式 EL表达式概述 基本概念 EL表达式,全称是Expression Language.意为表达式语言.它是Servlet规范中的一部分,是JSP2.0规范加入的内容.其 ...

  6. jboss未授权访问

    测试 poc地址 https://github.com/joaomatosf/jexboss

  7. Joomla 3.4.5 反序列化漏洞(CVE-2015-8562)

    影响版本 Joomla 1.5.x, 2.x, and 3.x before 3.4.6 PHP 5.6 < 5.6.13, PHP 5.5 < 5.5.29 and PHP 5.4 &l ...

  8. 创建函数function

    1.创建普通函数 function 函数名称(){ 函数体://封装的代码 } 函数名称()://调用函数 function getSum(){ for(var i=1,sum=0;i<=100 ...

  9. Maven-内部多个项目依赖自动升级版本的部署

    需要自动升级版本的AAA项目发布 (有内部依赖时) 步骤比较复杂, 有一些需要根据实际情况调整. 考虑了以下几种可能性: 依赖模块的版本有更新 依赖模块版本没更新 依赖模块的版本号: 直接定义, 用属 ...

  10. NTP 集群简略部署指南

    NTP 集群简略部署指南 by 无若 1. NTP 简介 网络时间协议(英语:Network Time Protocol,简称NTP)是在数据网络潜伏时间可变的计算机系统之间通过分组交换进行时钟同步的 ...