您的位置:首页 > 编程语言 > Java开发

伪静态(Java)

2015-09-10 21:59 267 查看
现在开发网站的没有说再做纯html的网站的了,都在开发动态网站,Java +JSP,PHP 或者ASP都可以做,但是做完以后URL全都变成了带?参数的样子,这样搜索爬虫是不会收录的,于是有了伪静态的概念,URL还是html的老样式,但是会在服务器端有一个转换URL的机制,将html转换为真正的资源,可以是JSP(controller) ASP PHP 等等,其实这样做,很自然的提高了网站的安全性,很多URL路径暴漏导致的漏洞很好的隐藏了,我第一次接触伪静态就是考虑的网站的安全性,而不是网络爬虫,当然这样做很自然的增加了服务器的负担,现在没有其他好的办法,相信以后会有解决办法的。

我今天介绍的是Java实现伪静态,实现思路很简单,设置一个过滤器,将客户端请求的路径拦截下,然后用正则表达式匹配,转换成真正的路径,将请求传递给服务器就可以了,当然在做URL映射的时候要满足某个规则,用正则表达式判断的时候,才会不困难。其实很多第三方实现了伪静态,包括spring mvc ,urlrewritefilte我们需要做的就是会用就可以了。下面介绍urlrewritefilte这个的用法。

1)下载urlrewritefilte的jar包,将其导入到工程中,我就不说用哪个版本 了,基本上通用。

2) 配置 urlrewrite.xml文件 他用from to 两个单词来区分,简单易懂

<rule>
<from>/(0)_([0-9a-zA-Z]*)_([0-9]{1})\.html$</from>
<to type="forward">/$1.jsp?header=$3</to>
</rule>


3)配置 过滤器 让服务器找到 urlrewrite.xml这个文件

<filter>
  <filter-name>UrlRewriteFilter</filter-name>
  <filter-class>      org.tuckey.web.filters.urlrewrite.UrlRewriteFilter 
  </filter-class>
  <init-param>
  <param-name>logLevel</param-name>
  <param-value>WARN</param-value>
  </init-param>
  </filter>
  <filter-mapping>
  <filter-name>UrlRewriteFilter</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping>


4 ok!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: