乔布斯斯 + 关注

签名:加油加油!

javaweb实现url重写

发表于 7个月前   800次查看    0评论  5 赞

      在网上我们都见过很多类似于这样的页面:是动态的页面但是页面显示类型是静态的(比如本站),也就是后缀是.html或者.htm类型的,这种做法叫做伪静态,在JavaWeb(JSP)中实现此方法很简单,只需要一个包搞定,下面就来说说具体步骤。

  首先我们要下载urlwrite.jar包,接着导入到项目的lib目录,然后在项目的web.xml里面添加URL重写的过滤器。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!-- url重写 -->
       <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>   
         <dispatcher>REQUEST</dispatcher>   
          <dispatcher>FORWARD</dispatcher>   
      </filter-mapping>



   然后我们在web.xml同级目录下创建一个urlrewrite.xml,在其中写入重写规则:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
        "http://tuckey.org/res/dtds/urlrewrite2.6.dtd">
  <!-- Configuration file for UrlRewriteFilter http://tuckey.org/urlrewrite/ -->
 <urlrewrite>
     <rule>
         <from>/p/(.*).html</from>
         <to>/article/showContent.action?aid=$1</to>
    </rule>
    <rule>
         <from>/allArt</from>
         <to>/article/findPageArticle.action</to>
    </rule>
 </urlrewrite>



在上方的重写规则中,当我们访问/p/1.html的时候,实际上是请求的是/article/showContent.action?aid=$1,特别注意,在请求的参数中&不能直接这样写,要用&map;进行代替,否则不能带多个参数进行请求的

5人已赞


本文由Fun言网 – 乔布斯斯创作,转载请务必附上本文链接和出处,欢迎参与我们的付费投稿计划


你还没有登录,请先 登录注册!
文章评论0