Struts初步入门(四)
1.默认Action-深入Struts
struts.xml 文件:
<struts>
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index"></default-action-ref>
<action name="index">
<result>error.jsp</result>
</action>
<action name="*_*_*" method="{2}" class ="com.imooc.{3}.{1}Action">
<result>/result.jsp</result>
<result name="add">/{2}.jsp</result>
<result name="update">/{2}.jsp</result>
</action>
</package>
</struts>
默认action配置,需要在xml文件中配置:
<default-action-ref name="index"></default-action-ref>
<action name="index">
<result>error.jsp</result>
</action>
其中 default-action-ref的name,和action的name 必须相同,同上。
遇到报错误500如下:HTTP Status 500 - Unable to instantiate Action, com.imooc.Action.HelloWorlsddAction, defined for 'HelloWorlsdd' in namespace '/'com.imooc.Action.HelloWorlsddAction,
未解决之前,xml文件配置为如下:
<struts>
<package name="default" extends="struts-default" namespace="/">
<default-action-ref name="index"></default-action-ref>
<action name="index" >
<result>/error.jsp</result>
</action>
<action name="*_*" method="{2}" class="com.imooc.Action.{1}Action">
<result>/result.jsp</result>
<result name="add">/{2}.jsp</result>
<result name="update">/{2}.jsp</result>
</action>
</package>
</struts>
原因为:把包名未写为通配符,解决办法把包名也写成通配符替换就可以了,如下:
<struts>
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index"></default-action-ref>
<action name="index">
<result>error.jsp</result>
</action>
<action name="*_*_*" method="{2}" class ="com.imooc.{3}.{1}Action">
<result>/result.jsp</result>
<result name="add">/{2}.jsp</result>
<result name="update">/{2}.jsp</result>
</action>
</package>
</struts>
访问网址:

2.strut2后缀
为了改变访问Struts后缀,有三种方式改变:(1)在Struts.xml文件里,<struts></struts>里添加
<constant name="struts.action.extension" value="do"></constant>,value值可以为"do","html","action"
(2)在struts.properties里配置,内容如下:
#指定默认编码集,对于请求参数带有中文的情况应该设置陈GBK或GB2312.默认值UTF-8
struts.i18n.encoding=GB2312#是否每次HTTP请求到达时,都重新加载国际化资源文件。默认值falsestruts.i18n.reload=true#但struts.xml改动后,是否重新加载该文件。在开发阶段建议将此属性设置为“true”,提高开发效率。默认值falsestruts.configuration.xml.reload=true#是否使用Struts2的开发模式,可以获得更多报错信息,便于调试。在开发阶段设置为true。默认值falsestruts.devMode = true#设置浏览器是否缓存静态页面。开发阶段设置为false,以获得服务器的最新响应。默认值truestruts.serve.static.browserCache=true#指定后缀为.action形式的请求可被Struts2处理。可配置多个请求后缀,比如.do、.struts2等,配置时多个后缀名用逗号隔开struts.action.extension=action,do,struts2,#配置服务器运行时的端口号。一般情况下该属性不修改,如果端口号占用则重新分配端口号。默认值80struts.url.http.port = 8080<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>do</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Struts初步入门(四)的更多相关文章
- Struts 2 初步入门(三)
接Struts 2初步入门(二) 若想用多个通配符设定访问: <struts> <package name="default" namespace="/ ...
- Struts 2 入门
Struts 2 入门: 一:Struts 2执行流程: 1 客户端发送请求: 2这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤 ...
- Java反射-初步入门
Java反射-初步入门 学反射先了解什么是反射. 百度百科:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动 ...
- 【原创】NIO框架入门(四):Android与MINA2、Netty4的跨平台UDP双向通信实战
概述 本文演示的是一个Android客户端程序,通过UDP协议与两个典型的NIO框架服务端,实现跨平台双向通信的完整Demo. 当前由于NIO框架的流行,使得开发大并发.高性能的互联网服务端成为可能. ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- Swift语法基础入门四(构造函数, 懒加载)
Swift语法基础入门四(构造函数, 懒加载) 存储属性 具备存储功能, 和OC中普通属性一样 // Swfit要求我们在创建对象时必须给所有的属性初始化 // 如果没办法保证在构造方法中初始化属性, ...
- Thinkphp入门 四 —布局、缓存、系统变量 (48)
原文:Thinkphp入门 四 -布局.缓存.系统变量 (48) [控制器操作方法参数设置] http://网址/index.php/控制器/操作方法 [页面跳转] [变量调节器] Smarty变量调 ...
- DevExpress XtraReports 入门四 创建 Web 报表
原文:DevExpress XtraReports 入门四 创建 Web 报表 本文只是为了帮助初次接触或是需要DevExpress XtraReports报表的人群使用的,为了帮助更多的人不会像我这 ...
- 微服务(入门四):identityServer的简单使用(客户端授权)
IdentityServer简介(摘自Identity官网) IdentityServer是将符合规范的OpenID Connect和OAuth 2.0端点添加到任意ASP.NET核心应用程序的中间件 ...
随机推荐
- BZOJ 2754 【SCOI2012】 喵星球上的点名
题目链接:喵星球上的点名 首先可以发现姓和名两个串就是逗你玩的.在两个串中间插入一个\(10001\),当成一个串做就可以了. 于是我们的问题转化为了: 有\(n\)个串\(A_1,A_2,\dots ...
- Codeforces 785 D. Anton and School - 2
题目链接:http://codeforces.com/contest/785/problem/D 我们可以枚举分界点,易知分界点左边和右边分别有多少个左括号和右括号,为了不计算重复我们强制要求选择分界 ...
- sklearn preprocessing (预处理)
预处理的几种方法:标准化.数据最大最小缩放处理.正则化.特征二值化和数据缺失值处理. 知识回顾: p-范数:先算绝对值的p次方,再求和,再开p次方. 数据标准化:尽量将数据转化为均值为0,方差为1的数 ...
- Java的CountDownLatch和CyclicBarrier的理解和区别
CountDownLatch和CyclicBarrier的功能看起来很相似,不易区分,有一种谜之的神秘.本文将通过通俗的例子并结合代码讲解两者的使用方法和区别. CountDownLatch和Cycl ...
- [原][osg][oe]分析一块倾斜摄影瓦片的数据
RangeMode PIXEL_SIZE_ON_SCREEN 首先我们看看原始数据的构成: 第12层:(第一层) 第23层:(最后一层) pagelod下面有N多的pagelod一层包裹一层 通过os ...
- [osg]osg窗口显示和单屏幕显示
osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFile("cow.osg"); osg::ref_ptr&l ...
- leecode第五十九题(螺旋矩阵 II)
class Solution { public: vector<vector<int>> generateMatrix(int n) { )//特殊情况 { vector< ...
- Webpack 常见静态资源处理 - 模块加载器(Loaders)+ExtractTextPlugin插件
Webpack 常见静态资源处理 - 模块加载器(Loaders)+ExtractTextPlugin插件 webpack系列目录 webpack 系列 一:模块系统的演进 webpack 系列 二: ...
- Mysql数据库如何自动备份
Mysql数据库如何自动备份 一.总结 一句话总结:用navicat配合windows的批处理即可 navicat windows批处理 二.Mysql数据库自动备份 参考:Mysql数据库自动备份 ...
- 第十二周(MySort)
注意:研究sort的其他功能,要能改的动代码,需要答辩 模拟实现Linux下Sort -t : -k 2的功能. 要有伪代码,产品代码,测试代码(注意测试用例的设计) 参考 Sort的实现.提交博客链 ...