为了访问方便,防止用户在url后乱加参数等安全原因,有时候需要对网站的访问路径进行伪装,如把http://localhost:8080/datasystem/portal/toIndex.do伪装成http://localhost:8080/datasystem/index.html
1.下载urlrewritefilter-4.0.3.jar包
普通web项目的话直接百度下载就可以了(我的上传里就有)
如果是maven项目:
<dependency>
<groupId>org.tuckey</groupId>
<artifactId>urlrewritefilter</artifactId>
<version>4.0.3</version>
</dependency>
2.修改web.xml及在WEB-INF里添加urlrewrite.xml
web.xml里添加如下代码(放在所有servlet拦截之前):
<!--配置Url Rewrite的Filter -->
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<!--配置Url Rewrite的Filter拦截所有请求-->
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
urlrewrite.xml里代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
"http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite>
<rule>
<from> /index.html </from>
<to type="forward"> /portal/toIndex.do</to>
<!-- <to type="redirect"> %{context-path}/portal/toIndex.do</to> -->
</rule>
</urlrewrite>
forward和redirect都可以用,但forward访问完后还是不会显示真实访问地址,个人感觉好一些
3.前台访问
现在就可以用http://localhost:8080/datasystem/index.html访问所配置的相应后台地址了