`

struts2 后缀名

 
阅读更多

我不想说如何配置 Struts2 处理的 url 后缀名,因为关于这方面的文章太多了,今天我说一说如何配置 Struts2 不处理的 url 后缀名。

  在 struts.xml 或 struts.properties 配置文件中配置 struts.action.extension 项可以设置 Struts2 处理的 url 请求后缀名,
  如:struts.action.extension = action, do
  这样 url 是这样:http://www.mxjava.com/index.do

  很多网站的 url 是没有后缀的,比如利用 ror 开发的网站的 url 类似这样:http://www.mxjava.com/index 。这样的 url 对搜索引擎更加友好。其实利用上面讲的 struts.action.extension 也可以让 Struts2 的 url 变成这样。很简单,只要将 struts.action.extension 设置为空即可。
  如:struts.action.extension =
  此时 url 是这样:http://www.mxjava.com/index
  问题来了,服务器的某个目录下有个 html 文件是希望被访问的,这时在地址栏输入该 html 文件的地址 http://www.mxjava.com/10000.html 后画面上显示的并不是该 html 的内容,而的系统出错信息:

Struts has detected an unhandled exception:
# Messages: There is no Action mapped for namespace / and action name 10000.html.


  Struts2 为我们提供了处理的请求后缀配置,但并没有提供不处理的请求后缀配置,难道要为 struts.action.extension 追加 html 的配置,并为每个 html 专门建立一个 Action ?如果网站需要全站静态化,又当如何处理??
  其实并不用这么麻烦,关键还在 struts.action.extension 上。只要将配置改为:
  struts.action.extension = ,
  在等号后面加个逗号即可。

  原理是这样的:Struts2 在取得 struts.action.extension 配置后,如果为空,就会对所有请求进行拦截(拦截后只对后缀为空的请求做处理,其它请求出错)。当为不空字符串时,先用逗号分割字符串,然后只对配置的后缀进行拦截。当配置仅为一个逗号时,分割后为空,所以只对后缀为空的请求进行拦截。这时若请求后缀为 .do 或 .action 等的场合,将跳转到 404 页面而不是出错信息页面。

 

转自:http://www.mxjava.com/struts2-extension.html

 

另一篇文章,关于去掉后缀并重写URL:http://www.360doc.com/content/08/1111/14/61497_1904254.shtml

分享到:
评论

相关推荐

    Struts2 in action中文版

    第12章 使用插件扩展Struts 2 264 12.1 插件概要 264 12.2 常用插件 265 12.2.1 SiteMesh 266 12.2.2 Tiles 267 12.2.3 JFreeChart 269 12.3 内部组件系统 271 12.3.1 Bean 271 12.3.2 常量 272 12.3.3 注入 272 ...

    Struts2属性文件详解

    该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理.如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开. struts.serve.static 该属性设置是否...

    去掉.action去掉.do字样 隐藏struts2 URL地址action, strus1的扩展名do也是同理.zip

    隐藏struts2 URL地址action, strus1的扩展名do也是同理.zip

    Struts课堂笔记.rar--struts2的struts.properties配置文件详解

    用URL扩展名来确定是否这个请求是被用作Struts action,其实也就是设置 action的后缀,例如login.do的'do'字。 struts.configuration The org.apache.struts2.config.Configuration implementation class org....

    Struts2 Convention Plugin中文文档 Annotion

    从struts2.1版本开始,Convention Plugin作为替换替换Codebehind Plugin来实现Struts2的零配置。 • 包命名习惯来指定Action位置 • 命名习惯制定结果(支持JSP,FreeMarker等)路径 • 类名到URL的约定转换 • 包名...

    Struts2\constant应用

    该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理。 如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开。 --> <constant name="...

    基于spring,struts(struts2),hibernate的web项目脚手架

    内置一个基于数据库的代码生成器rapid-generator,极易进行二次开发 struts1,struts2的零配置 spring集成及加强,自动搜索hibernate的entity annotation class 集成动态构造sql的工具:rapid-xsqlbuilder 集成...

    Struts资源文件

    Struts资源文件,找不到的人员可以从这里面获取资源文件

    java struts如何隐藏提交后缀.action, .do.zip

    java struts如何隐藏提交后缀.action, .do

    Struts2-RCE:Burp Extender用于检查struts 2 RCE漏洞

    描述此burp扩展有助于识别struts2 Web应用程序中的Struts2远程代码执行漏洞。 此Burp扩展程序检测以下18个RCE,它们是S2-001 S2-007 S2-008 S2-012 S2-013 S2-014 S2-015 S2-016 S2-019 S2-029 S2-032 S2-033 S2-037...

    jfreechar 整合struts2.1.8版本生成线图,饼图,柱形图

    <package name="com.kay.struts2" extends="struts-default" namespace="/test"> <!-- 定义拦截器 name:拦截器名称 class:拦截器类路径 --> ...

    struts2注解详细说明

    从struts2.1版本开始,Convention Plugin作为替换替换Codebehind Plugin来实现Struts2的零配置。• 包命名习惯来指定Action位置• 命名习惯制定结果(支持JSP,FreeMarker等)路径• 类名到URL的约定转换• 包名...

    struts2下载上传

    struts下载上传 包括对中文处理 文件大小 扩展名 类型 处理等

    ajaxFileUpload+struts2实现多文件上传(源码)

    ajaxFileUpload+struts2实现多文件上传(源码) 博文地址:http://blog.csdn.net/itmyhome1990/article/details/36396291

    struts2文件上传,与struts2-xml校验

    struts2文件上传,与xml校验 struts2文件校验可通过xml配对action的名称去校验属性的值。例如UploadAction.java中有一个book的属性。那么我可以定义一个UploadAction-validation.xml去校验这个book属性的内容。 xml的...

    精通Struts基于MVC的Java Web设计与开发 孙卫琴 光盘

    本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分体会Struts框架在开放大型、可扩展的Web应用方面发挥的优势。第4章到第7章深入探讨了Struts框架的核心...

    谈谈你对Struts的理解。

     一个扩展知识点:struts的配置文件可以有多个,可以按模块配置各自的配置文件,这样可以防止配置文件的过度膨胀;  2. ActionServlet把请求交给action去处理之前,会将请求参数封装成一个formbean对象(就是一个...

    Struts2的struts.xml配置详细介绍

    配置常量,可以改变Struts 2框架的一些行为 name属性表示常量名称,value属性表示常量值 package元素: 包的作用:简化维护工作,提高重用性 包可以“继承”已定义的包,并可以添加自己包的配置 name属性为必须去且...

    ssh2(struts2+spring2.5+hibernate3.3)自动生成模版

    {自定义的存放包}目录:4个xml文件(applicationContext-dao.xml(dao注入配置),applicationContext-service.xml(service注入配置),action-servlet.xml(action注入配置),struts-{自定义的存放包名}.xml(struts2的...

    Struts终极漏洞利用工具教程.rar

    Struts终极漏洞利用工具教程.rar

Global site tag (gtag.js) - Google Analytics