如何利用UrlReWriter伪装成静态网页
发布网友
发布时间:2022-04-22 05:04
我来回答
共1个回答
热心网友
时间:2022-04-22 06:33
使用方法:
第一步 下载urlrewriter
第二步 将jar包放在web工程中的web-inf/lib目录下。
第三步 在web.xml中配置过滤器
<?xml version="1.0" encoding="UTF-8"?><web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><!-- 配置过滤器 --><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> <welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>
第四步 在web-inf下新建urlrewrite.xml (此文件的作用是配置过滤url的规则)
在此处,我用的是正则表达式判断从浏览器过来的链接,如果是userinf-xxxx.html形式的则转向userinf.jsp,但是用户看到的地址不变。
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN" "http://tuckey.org/res/dtds/urlrewrite4.0.dtd"> <urlrewrite> <!-- 重定向规则 --> <rule> <from>/userinf-(/w*).html</from> <to>/userinf.jsp</to> </rule> </urlrewrite>
第五步 在webroot下新建userinf.jsp来测试是否配置成功<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>11</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body> 哈哈哈 </body></html>
第六步 此时基本工作已经完成。将测试工程发布到服务器,然后启动服务器。第七步 在浏览器中输入链接: localhost:8080/你的项目名/userinf-test.html