之前做的网站基本成型,不过,听说要对搜索引擎友好点,还得要将网站弄成静态化,至少要做点“伪静态”的工作。而我对url rewrite早有所闻,于是乎就上其官网
下了个来玩。入门很简单,下载地址是http://tuckey.org/urlrewrite/dist/urlrewritefilter-2.6.zip
,下载来解压。将解压出来的urlrewrite-2.6.0.jar复制到项目中的WEB-INF\lib下,还有urlrewrite.xml复制到WEB-INF下。
接下来就是配置了,配置也是超级简单的。
web.xml里的配置如下,在urlrewrite.xml里面也有注释说明怎么添加的。
<!– UrlRewriteFilter –>
<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-pattern>/*</url-pattern>
</filter-mapping>
注意将这一段配置放在struts2的配置上面。还要在struts2的配置里加上两行,具体如下:
<!– 配置struts2 –>
<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>
</filter-mapping>
接下来是修改配置urlrewrite.xml里的内容,它的规则如下:
<urlrewrite>
<rule>
<note>
The rule means that requests to /test/status/ will be redirected to /rewrite-status
the url will be rewritten.
</note>
<from>/test/status/</from>
<to type="redirect">%{context-path}/rewrite-status</to>
</rule>
<outbound-rule>
<note>
The outbound-rule specifies that when response.encodeURL is called (if you are using JSTL c:url)
the url /rewrite-status will be rewritten to /test/status/.
The above rule and this outbound-rule means that end users should never see the
url /rewrite-status only /test/status/ both in thier location bar and in hyperlinks
in your pages.
</note>
<from>/rewrite-status</from>
<to>/test/status/</to>
</outbound-rule>
</urlrewrite>
只要你自己把需要重写的URL规则写上去就好了,我的一个例子就是:
<rule>
<note>shop</note>
<from>/shops.html</from>
<to>/shops/findShops.action</to>
</rule>
这样访问shops.html就是访问/shops/findShops.action。
分享到:
相关推荐
在Struts2中,我们可以使用Tuckey的URLRewriteFilter来实现URL重写。这是一个开源的过滤器,它可以灵活地配置以满足不同的重写需求。以下是一些基本步骤: 1. **添加依赖**:在项目的pom.xml文件中,引入...
在这个场景中,我们将深入探讨如何使用`URL Rewrite Filter`来重写Struts2的Action。 首先,让我们理解`URL Rewrite Filter`的基本概念。这个工具提供了一种方式,通过配置XML文件(如`urlrewrite.xml`)来定义一...
例如,将上面的URL从`/struts2urlrewrite/welcome.action`重写为`/welcome`: ```xml <from>/welcome <to type="forward">/struts2urlrewrite/welcome.action ``` 这条规则会将所有匹配`/welcome`的请求...
本教程将深入探讨如何在Struts2中实现URL重写,以将`.do`后缀改写为`.html`。 首先,我们需要引入URL重写工具,例如`Tuckey URL Rewrite Filter`。这是一个强大的URL管理过滤器,可以帮助我们轻松地重写和管理URL。...
### Struts2中的URL配置与处理机制 #### 引言 在Web开发中,URL的配置及处理一直是开发者关注的重点之一。特别是在Struts2框架中,如何高效且准确地配置URL,以确保程序能正确地识别用户请求并作出响应,是一项...
### Struts2初步使用总结 #### 一、Struts2原理概述 **1.1 为什么要用Struts2** 在探讨为何使用Struts2之前,我们先简要回顾一下Struts2的一些基本特点: - **模块化设计**:Struts2采用模块化的架构设计,使得...
3. **使用框架支持**:许多现代的Java Web框架如Spring MVC、Struts2等都提供了内置的URL重写机制。比如Spring MVC可以通过`@RequestMapping`注解和`HandlerMapping`接口来实现友好的URL设计。 ```java @Controller...
根据提供的信息,项目中使用的是版本为2.6.0的`urlrewrite`库,其路径为`WebRoot/WEB-INF/lib/urlrewrite-2.6.0.jar`。 - **配置文件`urlrewrite.xml`**:这是URLRewrite的核心配置文件,其中定义了URL重写的规则。...
在Struts1中实现URL重写,我们通常会使用过滤器来处理HTTP请求。这里提到的"URLFilter.java"文件很可能就是一个实现了URL重写的过滤器类。 首先,我们需要理解URL重写的原理。在HTTP协议中,URL是请求资源的统一...
综上所述,Struts2的路径问题可能涉及多个层面,包括Action配置、结果类型设置、静态资源访问策略、插件和拦截器的使用,以及URL重写和部署配置等。解决这些问题通常需要对Struts2的工作原理有深入理解,并能熟练...
同时,Struts2框架提供了丰富的拦截器(Interceptors)、结果类型(Result Types)和插件(Plugins),这些工具可以帮助开发者更好地管理和控制路径的使用,例如通过Interceptor实现URL重写,或者使用FreeMarker等...
在Struts2框架中,文件上传是一个常见的功能,它允许用户通过表单提交包含文件的请求。`PerfMultiPartRequest`是Struts2中处理文件上传的核心类之一,主要负责解析请求中的多部分数据(multipart/form-data)。在这...
Struts2和Struts1是两个非常著名的Java Web框架,它们在处理请求时通常会在URL中显式地显示.action或.do后缀。然而,为了提供更友好的用户体验和增强安全性,有时我们需要隐藏这些扩展名。本篇文章将详细介绍如何在...
这个方案是通过重写 Struts2 的 DefaultActionMapper 的 handleSpecialParameters 方法,增加 action、redirect、redirectAction 等参数的过滤,以防止攻击者 inject 恶意代码。操作步骤如下: 1. 新建 ...
在Struts2中,Jquery可以与Ajax结合使用,实现页面的无刷新更新。 Ajax(Asynchronous JavaScript and XML)技术允许前端与后台进行异步通信,无需整个页面刷新,提高了用户体验。在Struts2框架下,我们可以使用...
5. **放行配置**: 在Struts2的配置文件(如struts.xml)中,可以设定哪些URL不通过`LoginInterceptor`。这样,即使用户未登录,也能访问这些特定的URL。 6. **组合使用**: 一个应用可能有多个拦截器,它们可以形成...
下面将详细介绍Struts2框架以及在该项目中可能涉及的关键知识点。 1. **Struts2框架概述**:Struts2是Apache软件基金会下的开源项目,它继承了Struts1的优点,并融合了WebWork框架的许多特性。Struts2的主要目标是...
在项目中使用Struts2时,我们需要配置struts2的主配置文件(struts.xml),定义Action、结果类型、拦截器栈等。Action是业务逻辑的入口点,Result表示一个操作完成后转向的页面或结果。拦截器是Struts2的一大特色,...
struts2中的国际化 struts2转化器 struts2实现表单数据校验 struts2的基石-拦截器 struts2中实现IOC struts2中实现文件上传 struts2中实现CRUD struts2中的OGNL struts2的新表单标志的使用 struts2与AJAX一 struts2...