java中如何用URL Rewritefilter,實現網站偽靜態?

(0)
主頁 > SEO > SEO技術 > 閱讀: 作者: CRAZYSEO 發布日期: 2019-03-22 15:03:46
SEO診斷、外包、顧問業務 請聯系QQ:3534790242
大部分搜索引擎都會優先考慮收錄靜態的HTML頁面,而不是動態的*.jsp、*.php頁面。但實際上絕大部分網站都是動態的,不可能全部是靜態的HTML頁面...

  

大部分搜索引擎都會優先考慮收錄靜態的HTML頁面,而不是動態的*.jsp、*.php頁面。但實際上絕大部分網站都是動態的,不可能全部是靜態的HTML頁面。因此互聯網上大部分網站都會考慮偽靜態,那么,java中如何實現偽靜態呢?
  
  如何利用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代碼:
  
  "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
  
  /userinf-(\w*).html
  
  %{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那么就可以輸入:
  
  http://localhost:8080/webDemo/userinf-test.html

相關文章

QQ咨詢 四川快乐12开奖直播