一、url重写的优缺点:
优点:掩藏真实的url以及url中可能暴露的参数,以及隐藏web使用的编程语言,提高安全性
便于搜索引擎收录
缺点:降低效率,影响性能。如果项目是内网使用,比如公司内部软件,则没有必要配置。
二、配置过程
将http://localhost:8080/atfc/pict/getUserList 伪装成http://localhost:8080/atfc/userList.html
1.下载urlrewritefilter jar,添加至pom文件
<!-- https://mvnrepository.com/artifact/org.tuckey/urlrewritefilter -->
<dependency>
<groupId>org.tuckey</groupId>
<artifactId>urlrewritefilter</artifactId>
<version>4.0.4</version>
</dependency>
2.修改web.xml及在WEB-INF里添加urlrewrite.xml
1)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>
2)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> /userList.html </from>
<to type="forward"> pict/getUserList</to>
</rule>
</urlrewrite>
3)此时,,配置成功。
3、分析
urlrewrite其实是一个过滤器,通过正则来进行过滤与匹配url连接,上面的例子没有使用正则。
主要标签为rule、from、to
from标签中的value是展示给用户的请求url,通过正则表达式匹配url,也可以直接写成确定的url
to标签则是,web中真实的url;to中的type有forward和redirect,,一般选择forward即可