JAVA框架Struts2--配置讲解
一、配置讲解:
<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--配置讲解的更多相关文章
- JAVA框架Struts2 结果页配置
一: Action类的返回逻辑视图,一般会出现一个场景就是:当前package 标签下,几个action类需要返回同一个页面的时候.这个时候需要全局结果. 全局结果(使用标签<global-re ...
- Java框架Struts2
struts2的核心和工作原理 在学习struts2之前,首先我们要明白使用struts2的目的是什么?它能给我们带来什么样的好处? 设计目标 Struts设计的第一目标就是使MVC模式应用于we ...
- JAVA框架Struts2(二)
一:Struts2执行流程: 1)编写页面,点击超链接,请求提交到服务器端. 2)请求先经过Struts2核心过滤器(StrutsprepareAndexectuterfilter). 3)过滤器的功 ...
- JAVA框架Struts2 servlet API
一:servlet API 1)完全解耦接口: 使用ActionContext类进行相关操作: package jd.com.actioncontex; import com.opensymphony ...
- JAVA框架Struts2 Action类
一.Action书写方式: 接口地址:https://struts.apache.org/maven/struts2-core/apidocs/index.html Action类就是一个POJO类. ...
- JAVA框架 SpringMVC RequestMapping讲解
一.窄化请求映射 在class上做RequestMapping注解. 好处:避免在同一个项目中和其他人的url重复,出现请求混乱问题,便于管理. @Controller @RequestMapping ...
- JAVA框架Struts2 数据封装
一.strust2封装数据包含二部分: 数据在到Action类的时候,会经过拦截器,拦截器会有很多功能:比如数据封装.类型转换等. 我可以查看下strust-default.xml文件,看那些拦截器默 ...
- Java安全(权限)框架 - Shiro 功能讲解 架构分析
Java安全(权限)框架 - Shiro 功能讲解 架构分析 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 简述Shiro Shiro出自公司Apache(阿帕奇),是java的一 ...
- java框架之Spring(4)-Spring整合Hibernate和Struts2
准备 导包 Struts2 导入 Struts2 zip 包解压目录下 'apps/struts-blank.war' 中所有 jar 包,如下: asm-3.3.jar asm-commons-3. ...
随机推荐
- Ubuntu14.16.18更新源
一.源概述 源,可以认为是软件库,使用apt-get install安装的时候,会在源保存的库中进行搜索,因此源(默认源在欧洲)会影响下载速度和资源数量 二.更新源 1.步骤 编辑/etc/apt/s ...
- CSS3多媒体查询
CSS2多媒体查询: @media规则在css2中有介绍,针对不同媒体类型(包括显示器,便携设备,电视机,等等)可以定制不同的样式规则. CSS3多媒体查询: CSS3多媒体查询继承了CSS2多媒体类 ...
- 【代码笔记】iOS-自定义alertView
一,效果图. 二,代码. ViewController.h #import <UIKit/UIKit.h> @interface ViewController : UIViewContro ...
- 关于对DI和IOC的概念理解
在spring框架学习过程中,涉及到两个新名词:DI和IOC.开始总是混淆两者的概念,稀里糊涂,后来上网搜了一下又和同学讨论之后,基本上理解了二者的概念.实际上DI(依赖注入)和IOC(控制反转)就是 ...
- docker 开发常用命令总结
Docker 常用命令总结,镜像下载,到docker容器创建,常用docker命令的 增删查 1.镜像下载,从hub.docker.com中下载最新版本的postgres docker pull po ...
- NodeJS配置TaoBao源
npm install -g cnpm --registry=https://registry.npm.taobao.org
- Expo大作战(四)--快速用expo构建一个app,expo中的关键术语
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- 从sqlserver数据库中提取年月日并截取出来
select convert(varchar,datepart(year,getdate()))--年+'-'+convert(varchar,datepart(month,getdate()))-- ...
- LeetCode题解之Insertion Sort List
1.题目描述 2.题目分析 利用插入排序的算法即可.注意操作指针. 3.代码 ListNode* insertionSortList(ListNode* head) { if (head == NUL ...
- Android Activity切换与Activity间数据交互
在Android程序内部, startActivity借助Intent来启动一个子Activity(使用父子关系进行表述,只为表达清晰,Android中并未有父子Activity的概念).如下: In ...