来源:
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&moduleId=$2
- </to>
- </rule>
。 第一个是没有产数的action映射为html。第二个是有两个参数的action映射为html。这里需要有几个注意的地方:一、多个参数在url中我 们用“&”符号链接,但在这里面如要转义为:“&”;二、原来url中的参数在这里用$1、$2......表示即可,但是顺序 要一致。
4、配置完成时候就可以使用了,例如在浏览器中输入.../index.html这个地址之后,程序会去执行queryFontModules.action这个action,但是地址栏中还是显示.../index.html,这样子就起到了url重写的目的。
相关推荐
这就是`URL Rewrite Filter`发挥作用的地方,它是一个基于Apache的开源过滤器,用于实现URL重写规则。在这个场景中,我们将深入探讨如何使用`URL Rewrite Filter`来重写Struts2的Action。 首先,让我们理解`URL ...
`urlRewrite`是Tuckey开源组织提供的一个URL重写过滤器,它能够帮助我们在Struts2应用中实现这个目标。 在这个最简实例中,我们将探讨如何在MyEclipse环境中集成Struts2和urlRewrite,创建一个基本的应用来演示URL...
下面我们将详细探讨如何在Struts2框架中实现URL重写。 首先,了解URL重写的基本概念。URL重写是通过改变HTTP请求URL的外观,而不会改变其实际的行为。这通常涉及到在URL中添加或修改查询字符串,或者将路径信息改写...
在SSH2(Spring + Struts2 + Hibernate)框架中,URLRewrite是一种强大的工具,可以用于实现URL重写功能,使得网站的URL更加友好、易于理解和记忆。这在SEO优化及用户体验提升方面具有重要意义。 ##### URLRewrite...
`urlrewrite`可以很好地与Spring MVC、Struts2等框架集成,用于统一处理URL映射。 总的来说,`urlrewrite`是一个强大的工具,能够帮助开发者灵活地管理和控制应用程序的URL结构,提升用户体验和系统性能。学习和...
这个库提供了一套配置文件(如urlrewrite.xml)来定义URL重写规则,使得管理变得更加方便。 6. **测试与调试**:完成URL重写后,我们需要进行充分的测试,确保所有URL都能正确重写并执行相应的Action,同时不会影响...
UrlRewrite是一个强大的URL重写工具,常用于Java Web应用中,尤其是与Struts2框架结合使用时,能够帮助开发者优化URL结构,提高网站的SEO友好性和用户体验。在这个"UrlRewrite例子"中,我们将深入探讨UrlRewrite的...
本教程将深入探讨如何在Struts2中实现URL重写,以将`.do`后缀改写为`.html`。 首先,我们需要引入URL重写工具,例如`Tuckey URL Rewrite Filter`。这是一个强大的URL管理过滤器,可以帮助我们轻松地重写和管理URL。...
《URL重写技术详解——基于Java的URLrewrite实践》 在Web开发中,URL重写(URL Rewrite)是一项重要的技术,它允许我们以更友好、更可读的方式隐藏实际的URL路径,从而提升用户体验和搜索引擎优化(SEO)。本文将...
`URLRewrite`是一款强大的URL重写工具,主要用于Apache Tomcat服务器,它可以让你灵活地管理和重写URL,实现诸如URL美化、隐藏参数、路径映射等功能。在Web开发中,URL重写对于SEO(搜索引擎优化)和提升用户体验都...
标题 "urlrewrite的简单搭建" 涉及到的知识点主要集中在使用URL重写工具 `UrlRewriteFilter` 上,这是一个基于Java的开源过滤器,用于处理和重写HTTP请求的URL,通常与Web应用程序(如Spring MVC或Struts)一起使用...
3. **使用框架支持**:许多现代的Java Web框架如Spring MVC、Struts2等都提供了内置的URL重写机制。比如Spring MVC可以通过`@RequestMapping`注解和`HandlerMapping`接口来实现友好的URL设计。 ```java @Controller...
为了实现URL重写功能,我们需要在`web.xml`中配置URL Rewrite Filter,并在`urlrewrite.xml`中定义重写规则。 **1. `web.xml` 配置:** ```xml <filter-name>UrlRewriteFilter <filter-class>org.tuckey.web....
综上所述,Struts2的路径问题可能涉及多个层面,包括Action配置、结果类型设置、静态资源访问策略、插件和拦截器的使用,以及URL重写和部署配置等。解决这些问题通常需要对Struts2的工作原理有深入理解,并能熟练...
然而,URL重写是一个重要的功能,用于优化和管理Web应用中的URL,使得它们更加用户友好,搜索引擎优化(SEO)友好,同时也有助于实现RESTful架构。URLRewriteFilter是一款开源的URL重写工具,它可以方便地对HTTP请求的...
2. **规则定义**:接下来,我们需要创建一个名为`urlrewrite.xml`的配置文件,定义URL重写规则。在这个例子中,可能有如下规则: ```xml ^/old-page\.jsp$ <to>/new-page.html</to> ``` 这个规则会将所有访问`/...
4. **配置Struts2框架**:同样在web.xml中,配置Struts2的FilterDispatcher,并确保URL重写拦截器能在Struts2之前执行。 5. **部署与测试**:将项目部署到Web服务器后,可以通过配置的静态URL(如:...
9. **与Web框架集成**:`URLRewrite`可以很好地与Spring MVC、Struts等Web框架集成,进一步优化URL管理和路由。 10. **性能优化**:合理使用`URLRewrite`可以提高网站性能,例如通过减少不必要的参数传递,使URL更...
2. **Filter配置**:在Java Web应用中,`UrlRewrite`通常通过一个Filter实现,如`Tuckey's UrlRewriteFilter`。`web.xml`配置文件是设置这个Filter的关键,我们需要在其中声明Filter并指定其初始化参数。 ```xml ...