URL重写说的简单一点就是把浏览器中显示的URL显示为你想要的各种形式的URL链接
除此之外,还能进行URL生成.html .htm .shtml等伪静态页面,更有利于搜索引擎的搜索
最近项目中用到了URL重写,其实URL重写有很多中方法,个人感觉用的比较多的有两种,
一种是写个filter对请求进行拦截,可以使用正则表达式进行匹配
1.配置过滤器一般在web.xml中
<filter>
<filter-name>urlFilter</filter-name>
<filter-class>com.url.filter.URLFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>urlFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
2.过滤器处理类 URLFilter.java
public class URLFilter implements Filter {
public void doFilter(ServletRequest servletRequest, ServletResponse
servletResponse, FilterChain filterChain) throws
IOException,ServletException
{
HttpServletRequest request = (HttpServletRequest) servletRequest;
HttpServletResponse response = (HttpServletResponse) servletResponse;
//做相应的拦截处理
//filterChain.doFilter代表请求已经通过拦截器,可以将请求转发或者重定向
filterChain.doFilter(servletRequest, servletResponse);
}
第二种方法是采用过滤组件,进行url重定向
下载urlrewrite-2.6.0.jar
1.web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>confPath</param-name>
<param-value>/WEB-INF/urlrewrite.xml</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
2.urlrewrite.xml名字不能改变,放在和web.xml一起即可
下面的正则表达式代表,它会拦截url后缀为0-9的链接,然后转发到jsp/url.jsp页面,并把匹配的正则表达式复制给mid,url.jsp页面可以得到匹配的正则表达式的值
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.1//EN"
"http://tuckey.org/res/dtds/urlrewrite3.1.dtd">
<urlrewrite>
<rule>
<from>^/([0-9]*)$</from>
<to>/jsp/url.jsp?mid=$1</to>
</rule>
</urlrewrite>
分享到:
相关推荐
asp.net c# Url重写和无扩展名Url重写 内有所有源码 注:无扩展名Url重写,必须是虚拟目录的相对路径
URL重写URL重写URL重写URL重写URL重写URL重写
Url重写,无后缀Url重写,UrlRewriter.dll
URL重写URL重写URL重写URL重写URL重写URL重写
URL重写DEMOURL重写DEMOURL重写DEMOURL重写DEMO
C# url重写 C# url重写 C# url重写
描 述:UrlReWrite(Url重写或伪静态)完美示例源码 UrlReWrite(Url重写或伪静态)完美示例源码,已利用ActionlessForm解决原始地址form回传的问题 例如:/products.aspx?category=books 转换为/products/Books....
URL重写URL重写URL重写URL重写URL重写URL重写
IIS URL Rewrite模块(URL 重写)
这是本人博客上《用自定义IHttpModule实现URL重写》一文的示例代码,如果有未尽之处或者不明白之处请到本人博客上查看,网址是:http://blog.csdn.net/zhoufoxcn/archive/2009/07/14/4346356.aspx
jsp 动态转静态 URL重写 jsp 动态转静态 URL重写 jsp 动态转静态 URL重写 jsp 动态转静态 URL重写
URL重写实例,无二级重写,URL重写实例,实例代码 vs2008
url重写工具 .net重写url的工具
URL重写的一个例子,不是自己的东东,有需要的自己下来看看
URL重写概念和例子:这是简单的URL重写概念和例子能使你容易的快速了解学习。
asp.net url重写 demo 框架 3.5 利用Intelligencia.UrlRewriter.dll组件实现url重写
iis7.5url重写安装包32和64,url重写,一键安装即可,
URL重写指南 - Apache HTTP服务器.mht
url重写软件配合iis服务器