`

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

分享到:
评论

相关推荐

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

    本篇文章将详细介绍如何在Struts2中去除.action后缀,以及Struts1中隐藏.do扩展名,使URL更加简洁。 首先,让我们来看看Struts2的情况。在Struts2中,默认情况下,所有的请求都会映射到.action结尾的URL上。为了...

    struts2的一些扩展用法

    Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、高效且易于维护的Web应用。这篇博客文章“struts2的一些扩展用法”很可能深入探讨了如何超越Struts2的基本功能,利用其丰富的扩展机制来提升开发...

    struts2的各种jar包

    综上所述,"struts2的各种jar包"涵盖了构建Struts2应用所需的所有组件,从基础框架到特定功能的扩展,它们共同构建了一个强大且灵活的MVC框架。理解并熟练掌握这些知识点,将有助于你高效地开发和维护基于Struts2的...

    struts2中文学习文档

    3. **动态方法调用**:Struts2支持动态方法调用,即通过URL中的参数名自动映射到Action类的方法,大大简化了控制器的配置。 4. **国际化支持**:Struts2内置了强大的国际化支持,可以通过配置文件轻松实现多语言切换...

    struts2 项目源码

    9. **Struts2插件**:Struts2允许开发者通过插件扩展框架功能,例如国际化、上传下载等。 通过分析这个Struts2项目源码,你可以学习以下技能: 1. 如何创建Action类,并定义其方法与用户请求对应。 2. 理解配置...

    struts2所需jar包 lib.zip

    在这个名为"lib.zip"的压缩包中,包含了运行Struts2应用程序所必需的JAR文件。这些库文件对于理解Struts2的工作原理和开发流程至关重要。 首先,"commons"标签暗示了Apache Commons项目的一些组件,它们是Java开发...

    struts2漏洞利用工具

    Struts2是一款流行的Java Web框架,它为开发者提供了一种模型-视图-控制器(MVC)架构,便于构建可维护、可扩展的企业级应用程序。然而,Struts2在历史上曾出现过一系列的安全漏洞,其中一些是高危的,允许攻击者...

    Struts2与Struts1区别

    - Struts2 引入了拦截器机制,这是一个重要的增强,允许开发者定义一系列预定义和自定义的处理逻辑,可以用于事务管理、权限控制、日志记录等多种用途,增强了框架的可扩展性和可维护性。 总的来说,Struts2 相比 ...

    Struts2漏洞检查工具2018版.zip

    Struts2是一款基于MVC(Model-View-Controller)设计模式的开源Java Web框架,由Apache软件基金会维护。它在2005年发布,旨在提供一个更简单、灵活且可扩展的方式来构建Java web应用程序。Struts2的核心是Action类,...

    struts2讲义

    ### Struts2框架入门知识点详解 #### 一、Struts2框架概述 ##### 1.1 Struts2简介 Struts2是一个基于MVC...此外,Struts2框架还提供了丰富的插件和扩展机制,允许开发者根据具体的应用场景定制和优化框架行为。

    struts2讲义,讲解struts2的框架

    在`web.xml`配置文件中,需要定义一个名为`struts2`的过滤器,类为`org.apache.struts2.dispatcher.FilterDispatcher`。过滤器的映射应覆盖所有URL,以便所有请求都能被Struts2处理。当FilterDispatcher初始化时,它...

    Struts2案例翻译篇-Using Struts2 Tag

    Struts2标签库是基于JSP标准标签库(JSTL)的扩展,它提供了一系列预定义的标签,用于处理表单、链接、显示数据等常见的web交互。这些标签不仅简化了HTML代码,还提供了与Struts2框架的深度集成,如数据绑定、验证...

    Struts2漏洞利用工具2019版 V2.3.zip

    Struts2是一款非常流行的开源Java Web框架,它提供了一种模型-视图-控制器(MVC)架构,帮助开发者构建可维护性和可扩展性良好的Web应用程序。然而,随着时间的推移,Struts2框架出现了一些安全漏洞,这些漏洞可能被...

    struts2的新闻管理系统

    Struts2是一个强大的Java web开发框架,主要用于构建和维护可扩展、易于测试的MVC(Model-View-Controller)应用程序。这个"新闻管理系统"项目,是针对初学者设计的一个实践平台,旨在帮助他们理解并掌握Struts2的...

    struts2 lib包

    2. **Struts2 Plugins**: Struts2支持多种插件来扩展其功能,例如Struts2-convention-plugin(基于约定的配置)、Struts2-dojo-plugin(提供Dojo JavaScript库的支持)、Struts2-json-plugin(支持JSON数据格式)。...

    struts与struts2的区别

    由于Struts2提供了更现代的特性和更好的可扩展性,通常被认为比Struts1有更高的开发效率和维护性。 总的来说,Struts2是对Struts1的一次重大升级,它在许多方面进行了优化和增强,包括更强大的控制层、更灵活的视图...

    struts2改写url后缀demo

    然而,为了提供更加用户友好的URL和提高搜索引擎优化(SEO),开发者可能希望将这些后缀更改为更自然的扩展名,如`.html`。本教程将深入探讨如何在Struts2中实现URL重写,以将`.do`后缀改写为`.html`。 首先,我们...

    Struts1和Struts2区别

    - **Struts2**:继承了Struts1的Front Controller模式,并引入了拦截器(Interceptor)机制,使得扩展性和灵活性更强。拦截器链允许在请求到达Action之前和之后执行自定义逻辑。 2. 表达式语言(EL)支持: - **...

    struts2所需的jar包

    Struts2还允许自定义拦截器和结果类型,以扩展其功能。 总的来说,理解并正确使用Struts2所需的jar包对于开发基于Struts2的Web应用程序至关重要。它们构成了Struts2框架的基础,使得开发者能够高效地构建出结构清晰...

    struts2.ppt struts2.ppt 我们老师发的PPT

    总的来说,Struts2提供了一套完整的框架,帮助开发者构建可扩展、易于维护的Web应用。它的灵活性和强大的功能使其在Java Web开发领域中占有一席之地。通过理解并熟练掌握Struts2的核心概念和技术,开发者可以更高效...

Global site tag (gtag.js) - Google Analytics