SSH框架之Struts的默认访问后缀、相同访问路径问题、常量

原创 2017年01月03日 13:47:51

一、Struts中默认访问后缀:
1、Struts1中默认访问后缀是*.do
2、Struts2中默认访问后缀是*.action

3、如何修改默认访问后缀:
1)Struts2的.action访问后缀在哪里定义?
Struts-core-2.3.4.1.jar/org.apache.struts/default.properties中的

struts.action.extension=action,,

2)在struts.xml中进行对常量的修改
所有的项目都要使用,是一个全局配置,所以位置应该位于:
<struts>标签的后面,<package>标签的前面!

<!--指定访问后缀为action/do/没有访问后缀,都可以-->
<constant name="struts.action.extension" value="action,do,"></constant>

4、情况分析

value="action,,"
    localhost:8080/struts_02/user_register          OK
    localhost:8080/struts_02/user_register.action   OK

value="action,"value="action"
    localhost:8080/struts_02/user_register.action   OK

value="action,do,"
    localhost:8080/struts_02/user_register          OK
    localhost:8080/struts_02/user_register.do       OK
    localhost:8080/struts_02/user_register.action   OK

value="action,do"
    localhost:8080/struts_02/user_register.do       OK
    localhost:8080/struts_02/user_register.action   OK

二、相同访问路径问题
问题产生:
1、Action

2、struts.xml

<action name="user_*" class="sram.config.UserAction4" method="{1}">
    <result name="success">/index.jsp</result>
</action>

<action name="user_*" class="sram.config2.UserAction" method="{1}">
    <result name="success">/index.jsp</result>
</action>

3、由于上述情况,所以二者想要访问register方法的访问路径均为:
http://localhost:8080/struts_02/user_register

结果:
当我们访问此路径时,运行情况到底如何?

由此可见,配置在前面的会被配置在后面的覆盖掉

三、Struts中的常量(Struts-core-2.3.4.1.jar/org.apache.struts/default.properties中)
1、详解:

<!--指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker 、velocity的输出(仅对POST起作用)-->
<constant name="struts.i18n.encoding" value="UTF-8"/>

<!--自定义后缀修改常量-->
<constant name="struts.action.extension" value="do"/>

<!--设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 -->
<constant name="struts.serve.static.browserCache" value="false"/>

<!--当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 -->
<constant name="struts.configuration.xml.reload" value="true"/>

<!--开发模式下使用,这样可以打印出更详细的错误信息 -->
<constant name="struts.devMode" value="true" />

<!--默认的视图主题 -->
<constant name="struts.ui.theme" value="simple" />

<!--与spring集成时,指定由spring负责action对象的创建--> 
<constant name="struts.objectFactory" value="spring" />

<!--该属性设置Struts 2是否支持动态方法调用,该属性的默认值是true。如果需要关闭动态方法调用,则可设置该属性为 false-->
<constant name="struts.enable.DynamicMethodInvocation" value="false"/>

<!--上传文件的大小限制,value的值为单位字节-->
<constant name="struts.multipart.maxSize" value=“10701096"/>

2、应用:动态方法调用(不推荐使用,原因:这种形式,需要对程序结构有所了解,不安全)
1、动态方法调用语法:action name+!+方法名
2、举例:

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Struts2里.do的后缀无法访问的解决方法

方法如下:  在struts.xml里面添加红色部分:          其中value属性可以设置成你想要的后缀名,value="do,action",表示.action,.do都可...

Struts2中action访问路径配置

struts.xml的一些配置: Struts2中constant标签的一些配置: ....................................... ...

SSH框架中如何输出访问的Action路径和页面

在一般的SSH框架开发的系统中后期会有很多的类和jsp,如果需要维护就需要去配置文件中一个一个的去找相应的类映射和返回的jsp页面,非常麻烦。 其实利用struts2的Interceptor可以很轻...
  • avwjq
  • avwjq
  • 2014-11-07 19:01
  • 882

搭建SSH框架遇到的struts.xml找不到spring定义的bean的错误(配置文件的路径问题)

最近想写一个jsp的课程作业,打算用了jsp就打算使用一下著名的ssh框架,最近几天一直都在使用原生eclipse搭建ssh,还真的遇到了很多问题,最后不断的改包,修正,我最终的ssh框架是Strut...

SSH框架之Struts的Action的开发、通配符、路径匹配原则(了解即可)

一、Struts2的Action的开发的三种方式 1、方式1(使用最多):继承ActionSupport 注意: 如果用struts的数据校验功能,必须继承此类! 如果不使用用struts...

【SSH进阶之路】一步步重构MVC实现Struts框架——封装业务逻辑和跳转路径(四)

Struts的第一篇博客【SSH进阶之路】Struts基本原理 + 实现简单登录(二),我们介绍了MVC和Struts的基本理论,上篇【SSH进阶之路】一步步重构MVC实现Struts框架——从一个简...

Spring整合Struts2 wel.xml中写spring核心配置文件路径问题,顺便总结下我学习SSH整合的过程

Spring整合Struts2 wel.xml中写spring核心配置文件路径问题,顺便总结下我学习SSH整合的过程

struts2整合CXF访问路径冲突问题

在用struts2整合cxf提供webservice供外部调用时,会出现访问路径冲突问题,原因是struts2的过滤器把所有的请求都拦截了,当我们调用webservice时,也会被拦截,在路由map中...

解决SSH框架中Struts不能接受Android的不同Key值上传图片问题

在Struts中上传多张图片打包时候,由于其接受Filename没有指定的时候,会无法接受,但是又没有像Servelt类中 List list = (List)upload.parseRequest...

ssh三大框架简单整合,struts2整合JasperReport报表、图表,解决HTML显示图片不出来,PDF中文不显示的问题

ssh三大框架简单整合,struts2整合JasperReport报表,解决HTML显示图片不出来,PDF中文不显示的问题
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)