`
songjindian
  • 浏览: 76417 次
  • 性别: Icon_minigender_1
  • 来自: 河南
文章分类
社区版块
存档分类
最新评论

struts2 url 重写

 
阅读更多
刚做完一个项目,因为是一个网站,所以会考虑到seo的东西。因为是用ssh做的,因此这里面就会出现*.action、*.jsp等不利于seo的一些值,所以就用urlrewtire这个插件做了处理,处理的相关内容如下:
1、下载urlrewrite-3.2.0.jar,当然也可以是其他版本,在这里我用的是这个版本。然后放到项目的lib目录下。
2、配置过滤器,在web.xml中添加以下代码:
 <!-- url 重写 -->
    <filter>
	<filter-name>UrlRewriteFilter</filter-name>
	<!-- 过滤器类所在的路径: -->
	<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
	</filter>

	<filter-mapping>
		<filter-name>UrlRewriteFilter</filter-name>
		<!-- 拦截所有url -->
		<url-pattern>/*</url-pattern>
	</filter-mapping>
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
        <dispatcher>REQUEST</dispatcher>
		<dispatcher>FORWARD</dispatcher>
		<dispatcher>INCLUDE</dispatcher>
    </filter-mapping>
,这里面尤其要记得修改struts2的过滤器的mapping中的几种dispatcher。因为在没有添加之前url重写无效。
3、添加urlrewrite.xml文件。改文件放在web.xml同一级目录下面。主要内容如下:
<!-- 将首页映射为/-->
	<rule>
		<from>/index.html</from>
		<to type="forward">queryFontModules.action</to>
	</rule>
	<!-- 将新闻内容映射为/news-contentId-moduleId.html -->
 	<rule>
		<from>^/news-([0-9]+)-([0-9]+).html$</from>
		<to type="forward">
		/queryModuleContent.action?contentId=$1&amp;moduleId=$2
		</to>
	</rule>
。第一个事没有产数的action映射为html。第二个是有两个参数的action映射为html。这里需要有几个注意的地方:一、多个参数在url中我们用“&”符号链接,但在这里面如要转义为:“&amp;”;二、原来url中的参数在这里用$1、$2......表示即可,但是顺序要一致。
4、配置完成时候就可以使用了,例如在浏览器中输入.../index.html这个地址之后,程序会去执行queryFontModules.action这个action,但是地址栏中还是显示.../index.html,这样子就起到了url重写的目的。
1
0
分享到:
评论

相关推荐

    使用urlrewrite重写struts2的action

    这就是`URL Rewrite Filter`发挥作用的地方,它是一个基于Apache的开源过滤器,用于实现URL重写规则。在这个场景中,我们将深入探讨如何使用`URL Rewrite Filter`来重写Struts2的Action。 首先,让我们理解`URL ...

    struts2中实现URL重写

    下面我们将详细探讨如何在Struts2框架中实现URL重写。 首先,了解URL重写的基本概念。URL重写是通过改变HTTP请求URL的外观,而不会改变其实际的行为。这通常涉及到在URL中添加或修改查询字符串,或者将路径信息改写...

    Struts1 ULR重写

    总的来说,"Struts1 URL重写"是一个提高Web应用用户体验和SEO的重要技术,通过自定义过滤器或使用第三方库,我们可以将复杂的动态URL转化为简洁的伪静态URL。"URLFilter.java"文件就是这一过程中的核心实现,它的...

    Struts2下使用urlReWrite的最简实例(MyEclipse工程)

    `urlRewrite`是Tuckey开源组织提供的一个URL重写过滤器,它能够帮助我们在Struts2应用中实现这个目标。 在这个最简实例中,我们将探讨如何在MyEclipse环境中集成Struts2和urlRewrite,创建一个基本的应用来演示URL...

    struts2改写url后缀demo

    本教程将深入探讨如何在Struts2中实现URL重写,以将`.do`后缀改写为`.html`。 首先,我们需要引入URL重写工具,例如`Tuckey URL Rewrite Filter`。这是一个强大的URL管理过滤器,可以帮助我们轻松地重写和管理URL。...

    Java WEB实现URL重写

    3. **使用框架支持**:许多现代的Java Web框架如Spring MVC、Struts2等都提供了内置的URL重写机制。比如Spring MVC可以通过`@RequestMapping`注解和`HandlerMapping`接口来实现友好的URL设计。 ```java @Controller...

    struts2 路径问题

    综上所述,Struts2的路径问题可能涉及多个层面,包括Action配置、结果类型设置、静态资源访问策略、插件和拦截器的使用,以及URL重写和部署配置等。解决这些问题通常需要对Struts2的工作原理有深入理解,并能熟练...

    struts2 最新漏洞 S2-016、S2-017修补方案 .docx

    方案 2:重写 Struts2 DefaultActionMapper 的 handleSpecialParameters 方法,增加action、redirect、redirectAction 等参数的过滤 这个方案是通过重写 Struts2 的 DefaultActionMapper 的 ...

    ssh2中的urlrewrite和Struts2的生成静态页面

    在SSH2(Spring + Struts2 + Hibernate)框架中,URLRewrite是一种强大的工具,可以用于实现URL重写功能,使得网站的URL更加友好、易于理解和记忆。这在SEO优化及用户体验提升方面具有重要意义。 ##### URLRewrite...

    java伪静态URL重写的方法

    4. **配置Struts2框架**:同样在web.xml中,配置Struts2的FilterDispatcher,并确保URL重写拦截器能在Struts2之前执行。 5. **部署与测试**:将项目部署到Web服务器后,可以通过配置的静态URL(如:...

    struts2核心技术整理

    Struts2是一个强大的Java web应用程序框架,用于构建和部署企业级的MVC(Model-View-Controller)架构应用。它是Apache软件基金会旗下 Jakarta项目的一部分,是Struts1的升级版本,提供了更丰富的功能和更好的性能。...

    struts2完整版

    例如,在Struts1中,Action类通常需要继承自`Action`类并重写`execute`方法,而在Struts2中,开发者可以定义任何类作为Action,只需实现特定的接口或使用注解来标记处理方法。 其次,Struts2引入了拦截器...

    struts2 源码绝对完整

    5. **org.apache.struts2.components.UrlRenderer**:UrlRenderer负责生成URL,实现URL重写和Action的映射。 通过阅读这些关键类的源码,你可以理解Struts2内部的流程控制和数据传递,从而更好地利用这个框架。同时...

    2016最新struts2漏洞利用工具无后门版(K8 Struts2 Exploit)

    4. **CVE-2016-1000031**:这个漏洞发生在Struts2的URL重写功能中,攻击者可以利用此漏洞通过HTTP头注入执行任意代码。 5. **CVE-2016-10179**:此漏洞源于Struts2的Struts REST插件,攻击者可以通过JSON动作配置...

    struts2配置过滤器

    ### Struts2配置过滤器详解 #### 一、概述 Struts2是基于MVC模式的一个开源框架,它能够帮助开发者构建出结构清晰且易于维护的Web应用。在实际开发过程中,为了实现某些功能(例如用户认证、权限控制等),往往...

    struts1.2与urlrewritefilter 的整合

    然而,URL重写是一个重要的功能,用于优化和管理Web应用中的URL,使得它们更加用户友好,搜索引擎优化(SEO)友好,同时也有助于实现RESTful架构。URLRewriteFilter是一款开源的URL重写工具,它可以方便地对HTTP请求的...

    Struts2使用详情

    同时,Struts2框架提供了丰富的拦截器(Interceptors)、结果类型(Result Types)和插件(Plugins),这些工具可以帮助开发者更好地管理和控制路径的使用,例如通过Interceptor实现URL重写,或者使用FreeMarker等...

    struts2+myeclipse 配置入门

    Struts2是一个强大的Java web应用程序框架,它基于MVC(Model-View-Controller)设计模式,主要用于构建可维护性高、结构清晰的企业级应用。MyEclipse是集成开发环境(IDE),尤其适合Java EE项目的开发,它集成了很...

    Struts2的Jar包整合

    7. **测试与调试**: 完成配置后,通过运行应用并测试不同的URL,确保Struts2能够正确处理请求并返回预期的结果。如果遇到问题,可以查看Struts2的日志,或者启用开发模式以获取更详细的错误信息。 总的来说,Struts...

Global site tag (gtag.js) - Google Analytics