URLRewrite伪静态实现-url重写技术

 

URLRewrite伪静态实现-url重写技术


目录(?)[+]

一.直观感受

1.未使用重写url


2.使用重写url


二.伪静态技术介绍

1.使用优点:

满足搜索引擎的要求、隐藏技术实现,提高网站的移植性 、满足美感的要求 

将动态URL伪装成静态的HTML页面

实现思想:通过Filter拦截所有法相*.html请求,按照某种规则将请求forward到实际的*.jsp页面即可。

2.使用介绍:

1.目录结构
2.导入jar包
urlrewrite-3.1.0.jar
3.web.xml配置
[html]  view plain copy print ?
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <web-app version="2.5"   
  3.     xmlns="http://java.sun.com/xml/ns/javaee"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee   
  6.     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
  7.       
  8.       
  9.     <!-- urlRewriteFilter -->  
  10.     <filter>  
  11.         <filter-name>UrlRewriteFilter</filter-name>  
  12.         <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>  
  13.         <init-param>  
  14.             <param-name>logLevel</param-name>  
  15.             <param-value>WARN</param-value>  
  16.         </init-param>  
  17.     </filter>  
  18.       
  19.     <filter-mapping>  
  20.         <filter-name>UrlRewriteFilter</filter-name>  
  21.         <url-pattern>/*</url-pattern>  
  22.     </filter-mapping>  
  23.       
  24.       
  25.     <servlet>  
  26.         <servlet-name>hw</servlet-name>  
  27.         <servlet-class>com.techbirds.servlet.HelloWorldServlet</servlet-class>  
  28.     </servlet>  
  29.       
  30.     <servlet-mapping>  
  31.         <servlet-name>hw</servlet-name>  
  32.         <url-pattern>/hw.do</url-pattern>  
  33.     </servlet-mapping>  
  34.       
  35. </web-app>  

4.urlrewrite.xml配置
伪静态配置文件,基于正则表达式的(完成将网页的forward   from--->to)
[html]  view plain copy print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN"  
  3.         "http://tuckey.org/res/dtds/urlrewrite3.2.dtd">  
  4. <!--  
  5.     Configuration file for UrlRewriteFilter  
  6.     http://tuckey.org/urlrewrite/  
  7. -->  
  8.   
  9. <urlrewrite>  
  10.        
  11.    <!-- 地址栏输入demo1 主页固定:  
  12.         首页访问,直接在地址栏输入xxxx/home->(自动转换成)->xxxx/index.jsp  
  13.     -->  
  14.    <rule>  
  15.         <from>/home</from>  
  16.         <to>/index.jsp</to>  
  17.    </rule>  
  18.      
  19.    <!-- 地址栏输入demo2:  
  20.         将所有jsp页面的访问请求,重写成html的访问请求  
  21.         ps:正则要求0-9和a-z和A-Z以及斜杠/  
  22.     -->  
  23.    <rule>  
  24.         <from>^([0-9a-zA-Z\/]*).htm$</from>  
  25.         <to>/$1.jsp</to>  
  26.    </rule>  
  27.      
  28. </urlrewrite>  


将struts2过滤器进行修改,修改后如下

[xhtml]  view plain copy
  1. <filter-mapping>  
  2.         <filter-name>struts2</filter-name>  
  3.         <url-pattern>/*</url-pattern>  
  4.         <dispatcher>REQUEST</dispatcher>   
  5.         <dispatcher>FORWARD</dispatcher>   
  6.     </filter-mapping>  

一定要加
        <dispatcher>REQUEST</dispatcher> 
        <dispatcher>FORWARD</dispatcher>

不然会导致404错误


三、使用总结

对任何服务器请求可进行url重写,无论是在地址栏输入地址还是页面中通过超链接进行访问都是可以实现地址的重写,并且也可以对ajax的


请求进行url重写。
ps:只通过rule便可实现配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值