大部分搜索引擎都会优先考虑收录静态的html页面,而不是动态的*.jsp、*.php页面。但实际上绝大部分网站都是动态的,不可能全部是静态的html页面,因此互联网上大部分网站都会考虑伪静态——就是将*.jsp、*.php这种动态url伪装成静态的html页面。请问java中如何实现伪静态呢?
通过filter拦截所有发向*.html请求,然后按某种规则将请求forward到实际的*.jsp页面即可。下面要使用的url rewrite开源项目就是为这种思路提供了实现。
如何利用url rewrite实现网站伪静态:
1、下载url rewrite的最新版本。我下的是urlrewritefilter-4.0.3.jar
2、将下载得到的urlrewritefilter-4.0.3.jar放在你构建的项目web-inf下的lib文件夹中
3、在web.xml文件中配置启用url rewrite filter,在web.xml文件中增加如下配置片段(该片段放在所有的servlet标签的以前)
java代码:
urlrewritefilter
org.tuckey.web.filters.urlrewrite.urlrewritefilter
urlrewritefilter
/*
request
forward
上面的配置片段指定使用url rewrite filter 拦截所有的用户请求。
4、在你项目的web-inf路径下增加urlrewrite.xml文件,该文件定义了伪静态映射规则,这份伪静态规则是基于正则表达式的。
文件内容如下:
java代码:
l
%{context-path}/userinf.jsp?username=$1
上面的规则文件中只定义了一个简单的规则:所有发向/user-(\w*).html的请求都将被redirect到userinf.jsp页面,并将(\w*)正则表达式所匹配的内容作为username参数值。根据这个伪静态规则,我们为这个应用提供一个userinf.jsp页面(该页面只是我们的一个测试页面,用户可以自己定义自己的页面)。代码如下:
java代码:
<%@ page contenttype=text/html; charset=utf-8 language=java errorpage= %>
<%
string user = request.getparameter(username);
%>
<%=user%>的个人信息
<%
out.println(现在时间是: +new java.util.date() +
);
out.println(用户名: +user);
%>
一切准备就绪后,重启tomcat,然后在浏览器地址栏输入userinf-xxxx.html的请求地址,例如:我构建的项目名称叫做webdemo那么我就可以输入:l
个人站:/ 有时间做做静态处理
兰州冷库安装设计-兰州实惠的保鲜库批售
供应防水插头连接线
江西数控切割机厂哪家值得信赖?求推荐
山东托辊摩擦头销售选择法远专业又轻松
泊头抑风尘板成型机厂军诚值得信赖
java中如何用urlrewritefilter实现网站伪静态?
供应CPU散热片
半自动气动内孔清废机
厂家直销 抽绳锁口水杯保温袋隔热袋 便携加厚户外水杯袋水杯套
撰写广告软文的策略和方法
为什么要写好引流型文案?怎样写好引流型软文
内 地车辆申请FV车牌 吗
欧洲进口中欧铁路汽车报关流程
竹炭磁疗床垫厂家
新型小型空气源热泵品牌品质铸造专业
大型越野卡丁车全地形游乐沙滩车 卡丁车俱乐部
MOOG伺服阀D634-341C质量不一般
直立名片盒、单层高背名片架、亚克力名片盒、竖向名片架、名片座
夏天夜钓需要注意的4件事
广隆LONG蓄电池WP2.6-12 12V2.6AH销售供应