`
jackroomage
  • 浏览: 1222871 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

struts2 url 重写 用urlrewrite

 
阅读更多

来源:

 struts2 url 重写

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

Java代码  收藏代码
  1. <!-- url 重写 -->  
  2.    <filter>  
  3. <filter-name>UrlRewriteFilter</filter-name>  
  4. <!-- 过滤器类所在的路径: -->  
  5. <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>  
  6. </filter>  
  7.   
  8. <filter-mapping>  
  9.     <filter-name>UrlRewriteFilter</filter-name>  
  10.     <!-- 拦截所有url -->  
  11.     <url-pattern>/*</url-pattern>  
  12. </filter-mapping>  
  13.    <filter>  
  14.        <filter-name>struts2</filter-name>  
  15.        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>  
  16.    </filter>  
  17.    <filter-mapping>  
  18.        <filter-name>struts2</filter-name>  
  19.        <url-pattern>/*</url-pattern>  
  20.        <dispatcher>REQUEST</dispatcher>  
  21.     <dispatcher>FORWARD</dispatcher>  
  22.     <dispatcher>INCLUDE</dispatcher>    (有些网站没有加上?)
  23.    </filter-mapping>  

,这里面尤其要记得修改struts2的过滤器的mapping中的几种dispatcher。因为在没有添加之前url重写无效。
3、添加urlrewrite.xml文件。改文件放在web.xml同一级目录下面。主要内容如下:

Java代码  收藏代码
  1. <!-- 将首页映射为/-->  
  2.     <rule>  
  3.         <from>/index.html</from>  
  4.         <to type="forward">queryFontModules.action</to>  
  5.     </rule>  
  6.     <!-- 将新闻内容映射为/news-contentId-moduleId.html -->  
  7.     <rule>  
  8.         <from>^/news-([0-9]+)-([0-9]+).html$</from>  
  9.         <to type="forward">  
  10.         /queryModuleContent.action?contentId=$1&amp;moduleId=$2  
  11.         </to>  
  12.     </rule>  

。 第一个是没有产数的action映射为html。第二个是有两个参数的action映射为html。这里需要有几个注意的地方:一、多个参数在url中我 们用“&”符号链接,但在这里面如要转义为:“&amp;”;二、原来url中的参数在这里用$1、$2......表示即可,但是顺序 要一致。
4、配置完成时候就可以使用了,例如在浏览器中输入.../index.html这个地址之后,程序会去执行queryFontModules.action这个action,但是地址栏中还是显示.../index.html,这样子就起到了url重写的目的。

 

 

 

分享到:
评论

相关推荐

    使用urlrewrite重写struts2的action

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

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

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

    struts2中实现URL重写

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

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

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

    urlrewrite重写jar包

    `urlrewrite`可以很好地与Spring MVC、Struts2等框架集成,用于统一处理URL映射。 总的来说,`urlrewrite`是一个强大的工具,能够帮助开发者灵活地管理和控制应用程序的URL结构,提升用户体验和系统性能。学习和...

    Struts1 ULR重写

    这个库提供了一套配置文件(如urlrewrite.xml)来定义URL重写规则,使得管理变得更加方便。 6. **测试与调试**:完成URL重写后,我们需要进行充分的测试,确保所有URL都能正确重写并执行相应的Action,同时不会影响...

    UrlRewrite例子

    UrlRewrite是一个强大的URL重写工具,常用于Java Web应用中,尤其是与Struts2框架结合使用时,能够帮助开发者优化URL结构,提高网站的SEO友好性和用户体验。在这个"UrlRewrite例子"中,我们将深入探讨UrlRewrite的...

    struts2改写url后缀demo

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

    URLrewrite-实例

    《URL重写技术详解——基于Java的URLrewrite实践》 在Web开发中,URL重写(URL Rewrite)是一项重要的技术,它允许我们以更友好、更可读的方式隐藏实际的URL路径,从而提升用户体验和搜索引擎优化(SEO)。本文将...

    urlrewrite完整示例2.6/3.2/4.0jar包

    `URLRewrite`是一款强大的URL重写工具,主要用于Apache Tomcat服务器,它可以让你灵活地管理和重写URL,实现诸如URL美化、隐藏参数、路径映射等功能。在Web开发中,URL重写对于SEO(搜索引擎优化)和提升用户体验都...

    urlrewrite的简单搭建

    标题 "urlrewrite的简单搭建" 涉及到的知识点主要集中在使用URL重写工具 `UrlRewriteFilter` 上,这是一个基于Java的开源过滤器,用于处理和重写HTTP请求的URL,通常与Web应用程序(如Spring MVC或Struts)一起使用...

    Java WEB实现URL重写

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

    java urlrewrite解决默认页问题

    为了实现URL重写功能,我们需要在`web.xml`中配置URL Rewrite Filter,并在`urlrewrite.xml`中定义重写规则。 **1. `web.xml` 配置:** ```xml &lt;filter-name&gt;UrlRewriteFilter &lt;filter-class&gt;org.tuckey.web....

    struts2 路径问题

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

    struts1.2与urlrewritefilter 的整合

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

    urlrewrite静态页面的使用例子

    2. **规则定义**:接下来,我们需要创建一个名为`urlrewrite.xml`的配置文件,定义URL重写规则。在这个例子中,可能有如下规则: ```xml ^/old-page\.jsp$ &lt;to&gt;/new-page.html&lt;/to&gt; ``` 这个规则会将所有访问`/...

    java伪静态URL重写的方法

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

    urlrewrite示例

    9. **与Web框架集成**:`URLRewrite`可以很好地与Spring MVC、Struts等Web框架集成,进一步优化URL管理和路由。 10. **性能优化**:合理使用`URLRewrite`可以提高网站性能,例如通过减少不必要的参数传递,使URL更...

    ss3ex中使用UrlRewrite

    2. **Filter配置**:在Java Web应用中,`UrlRewrite`通常通过一个Filter实现,如`Tuckey's UrlRewriteFilter`。`web.xml`配置文件是设置这个Filter的关键,我们需要在其中声明Filter并指定其初始化参数。 ```xml ...

Global site tag (gtag.js) - Google Analytics