首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java urlrewrite兑现伪静态化

2012-08-31 
java urlrewrite实现伪静态化1.示例  http://www.onlyfun.com/goods/company.jsp?companyId455326 ?ht

java urlrewrite实现伪静态化

1.示例

  http://www.onlyfun.com/goods/company.jsp?companyId=455326 ==>?http://www.onlyfun.com/company/455326.html

?

2.好处

  (1)更好满足搜索引擎要求;

  (2)更美观,给用户带来更良好的体验;

  (3)安全性(页面,参数,技术)。

?

3.实现

  (1)第三包urlrewrite;(2)Apache HTTP Server 2.x配制mod_proxy,Rewrite;(3)struts、springMVC reset风格等。

?

4.urlrewrite示例

  (1)下载2.6或3.X版jar包导至项目。下载地址:http://www.tuckey.org/urlrewrite/ (以3.2为示例)。

  (2)解压下载文件,将urlrewritefilter-3.2.0\WEB-INF\lib\ urlrewrite-3.2.0.jar,导入工程。

  (3)将urlrewritefilter-3.2.0\WEB-INF\ urlrewrite.xml,加入至工程WEB-INF目录下。

  (4)web.xml添加如下代码(在urlrewrite.xml中可找到),拦截请求,对匹配的请求进行rewrite。

<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>

??

<rule>   <from>^/company/([0-9]+).html$</from>   <to>/goods/company.jsp?companyId=$1</to></rule>

?

<outbound-rule>   <from>^/urlrewriteDemo/goods/company.jsp\?companyId=([0-9]+)$</from>   <to>/urlrewriteDemo/company/$1.html</to></outbound-rule>??<c:url value="/goods/company.jsp?companyId=${goods.company.companyId }" var="tempUrl"></c:url><a href="${tempUrl }"> ${goods.company.companyName }</a>?
response.encodeURL(URL);
?

  

  (3)注意:转义&=>&amp;? ?=>/?等。

?

6.参考资料

  urlrewrite.xml配置http://www.tuckey.org/urlrewrite/manual/2.6/#filterparams

  正则表达式http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html

  本地查看示例http://localhost:8080/projectname/rewrite-status


?

7.apache整合404找不到地址问题

  httpd.conf中配制,伪路径由tomcat进行处理。

1 楼 fatedgar 2012-05-04   我想要一种结果像这样:
在外网服务器上有个项目他的URL是:http://10.252.4.4:8077/jkda3
我想在本地输入:http://happysys:8080/jkda3就连接到上面的URL中去了
这个可以实现不?

热点排行