一、配置讲解:

 <struts>

     <package name="oop" namespace="/" extends="struts-default">
<action name="hello" class="jd.com.action.SayHello" method="helloSttust">
<result name="oop" >demo/re.jsp</result>
</action> </package> </struts>

package标签:

1)package标签,name名字可以随便起,但是在strust.xml文件中,要保持唯一。

2)namespace:命令空间,表示访问的url以什么开始。比如说上面写:namespace="/aa/cc/",那么这个访问地址应该是:/aa/cc/hello.action。 一般默认是根/,这个需要配合下面的action中的name一起使用组成相对访问url。

3)extends:继承的意思,继承那个package。默认值就是:struts-default。一般不做修改。使用默认值。

4)abstract:很少使用,这个标签设置成true的话,表示这个包可以被继承。

action标签:代表配置action类。

  name:和packa标签一起决定访问的路径。

  class:Action类的全路径,如果不配置有默认值:ActionSupport。很少使用。

  method:Action类执行的方法,如果不指定默认是execute方法。

result标签:

  action类中方法执行,返回结果跳转页面。

  name:action类执行方法的返回的逻辑视图名称。

  type:结果类型,(默认值是转发 也可以写其他值。)

二、配置常量:

之前介绍过,最后加载的配置文件。会覆盖之前配置文件加载过的相同配置。

因为我们不能修改default.properites、default-strust.xml 等配置文件,因为他是在源码中。如果想修改需要重新打jar 包。

那么我们可以在别的配置文件中修改。

可以配置常量的文件:

1、strust.xml

2、web.xml

这里建议配置在strust.xml文件中。

常量介绍:

1、struts.action.extension=action,,

  访问url后缀,是以action结尾或者不添加。

、struts.i18n.encoding=UTF-8  

编码设置,但是这个只作用用post方法,即只能作用于:httprequst的setCharacterEncoding方法。

3、struts.devMode = false

开发模式,如果打开的话,会输出更加详细的信息。

4、struts.serve.static.browserCache=true

浏览器设置静态资源缓存。生产环境使用,如果开发环境建议关闭。

配置常量:

在strust.xml文件中使用标签:constant,位置和package标签同一级。

     <!--设置访问后缀-->
<constant name="struts.action.extension" value="do,," />

在web.xml中,添加常量:

需要在strustprepareandexecuterfilter的中初始参数。

     <filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<init-param>
<param-name>struts.action.extension</param-name>
<param-value>action,,</param-value>
</init-param>
</filter>

因为后加载的配置文件会覆盖之前的配置文件。所以web.xml加完常量之后,会覆盖strust.xml

三、strust.xml配置文件 包含子配置文件。

比如在日常的开发的过程中,如果想一个包里一个配置文件。需要在主配置文件中引入:

  <include file="jd/com/imaction/text.xml" />

include标签在strust标签外面和package标签同级。

JAVA框架Struts2--配置讲解的更多相关文章

  1. JAVA框架Struts2 结果页配置

    一: Action类的返回逻辑视图,一般会出现一个场景就是:当前package 标签下,几个action类需要返回同一个页面的时候.这个时候需要全局结果. 全局结果(使用标签<global-re ...

  2. Java框架Struts2

    struts2的核心和工作原理   在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于we ...

  3. JAVA框架Struts2(二)

    一:Struts2执行流程: 1)编写页面,点击超链接,请求提交到服务器端. 2)请求先经过Struts2核心过滤器(StrutsprepareAndexectuterfilter). 3)过滤器的功 ...

  4. JAVA框架Struts2 servlet API

    一:servlet API 1)完全解耦接口: 使用ActionContext类进行相关操作: package jd.com.actioncontex; import com.opensymphony ...

  5. JAVA框架Struts2 Action类

    一.Action书写方式: 接口地址:https://struts.apache.org/maven/struts2-core/apidocs/index.html Action类就是一个POJO类. ...

  6. JAVA框架 SpringMVC RequestMapping讲解

    一.窄化请求映射 在class上做RequestMapping注解. 好处:避免在同一个项目中和其他人的url重复,出现请求混乱问题,便于管理. @Controller @RequestMapping ...

  7. JAVA框架Struts2 数据封装

    一.strust2封装数据包含二部分: 数据在到Action类的时候,会经过拦截器,拦截器会有很多功能:比如数据封装.类型转换等. 我可以查看下strust-default.xml文件,看那些拦截器默 ...

  8. Java安全(权限)框架 - Shiro 功能讲解 架构分析

    Java安全(权限)框架 - Shiro 功能讲解 架构分析 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 简述Shiro Shiro出自公司Apache(阿帕奇),是java的一 ...

  9. java框架之Spring(4)-Spring整合Hibernate和Struts2

    准备 导包 Struts2 导入 Struts2 zip 包解压目录下 'apps/struts-blank.war' 中所有 jar 包,如下: asm-3.3.jar asm-commons-3. ...

随机推荐

  1. 应用rbac组件 动态生成一级菜单

    动态生成一级菜单 改表结构 需要知道是否是菜单\icon\名称权限表 +字段: is_menu = models.BooleanField(max_length=32,verbose_name='是否 ...

  2. 绘图:Matplotlib

    用于绘制一些数据图,同学推荐的,挺好用.非常好的官网文档:http://matplotlib.org/contents.html 0. 安装 可以直接pip install,还有一些依赖就按照提示来吧 ...

  3. 从无到有,用Nodejs+express+mongodb搭建简易登陆系统

    前端处理server表示很蛋疼,初学Node,虽然感觉异常强大,但是学起来还是有些吃力的,Node是工具,它不是万能的,搭建一个系统还是需要借助其他一些工具,对于我这个没怎么接触server的前端来说 ...

  4. Finereport和Finebi的区别

    1.问题描述 大家现在可能都知道,目前帆软旗下特色产品主要是FineReport和FineBI,但是部分用户可能会有个疑问:FineReport和FineBI到底有什么区别? 2.产品介绍FineRe ...

  5. ES6 箭头函数下的this指向

    在javscript中,this 是在函数运行时自动生成的一个内部指针,它指向函数的调用者. 箭头函数有些不同,它的this是继承而来, 默认指向在定义它时所处的对象(宿主对象),而不是执行时的对象. ...

  6. LeetCode 题解之Goat Latin

    1.问题描述 2.问题分析 将句子拆分成单词,然后放入vector中,对每一个单词做改变,最后连成句子返回. 3.代码 string toGoatLatin(string S) { vector< ...

  7. ubuntu下给raspy pi2 编译qt5库

    交叉编译时,通常要准备mkspec, 参考: http://wiki.qt.io/Building_Qt_for_Embedded_Linux mkspec包含两个文件: qmake.conf- Th ...

  8. MySQL MTS复制: hitting slave_pending_jobs_size_max

    测试步骤: 从库停止复制:stop slave; 主库创建大表400万条记录. 开启从库复制:start slave; 监测从库error log持续输出: 2018-12-06T10:40:52.6 ...

  9. sql server复制表数据到另外一个表 的存储过程

    ) Drop Procedure GenerateData go CREATE PROCEDURE GenerateData @tablename sysname AS begin ) ) ) dec ...

  10. 转:在ASP.NET MVC中通过URL路由实现对多语言的支持

    对于一个需要支持多语言的Web应用,一个很常见的使用方式就是通过请求地址来控制界面呈现所基于的语言文化,比如我们在表示请求地址的URL中将上语言文化代码(比如en或者en-US)来指导服务器应该采用怎 ...