成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

java實現(xiàn)URL重寫的三種方法

[轉]java實現(xiàn)URL重寫的三種方法2008-11-18 12:09URL重寫,其實就是把帶一大堆參數(shù)的url,變成一個看上去很規(guī)矩的url,主要目的是為了搜索引擎。舉例/viewthread.js

[轉]java實現(xiàn)URL重寫的三種方法2008-11-18 12:09

URL重寫,其實就是把帶一大堆參數(shù)的url,變成一個看上去很規(guī)矩的url,主要目的是為了搜索引擎。

舉例

/viewthread.jsp?id=1234
/viewthread.jsp?id=1235
/viewthread.jsp?id=1236

重寫后,可以用

/viewthread/1234.htm
/viewthread/1235.htm
/viewthread/1236.htm

我目前使用Tomcat Apache,嘗試過三種重寫的方法

一、Tomcat的過濾器
最典型的就是用urlReweite的類庫。如果有經(jīng)驗,自己寫也不是很麻煩。也可以用現(xiàn)成的開源的免費的urlrewrite filter. http://tuckey.org/urlrewrite/下載

修改web.xml增加過濾器,然后配置個過濾的規(guī)則就可以了
web.xml修改部分



UrlRewriteFilter

org.tuckey.web.filters.urlrewrite.UrlRewriteFilter



UrlRewriteFilter
/*

過濾規(guī)則


"http://tuckey.org/res/dtds/urlrewrite2.6.dtd">


/viewthread/(d ).htm$
/viewthread.jsp?id=$1



二、使用Apache的mod

# 去掉這個前面的#,啟用它
LoadModule rewrite_module modules/mod_rewrite.so


# 其它的配置數(shù)據(jù)

RewriteEngine On
# 下面三行實現(xiàn)動態(tài)解析
RewriteRule ^/viewthread/(d ).htm$ /viewthread.jsp?id=$1 [L,PT]


三、使用系統(tǒng)的404錯誤進行
也就是頁面沒找到的錯誤
實例:
http://www.zuzwn.com/f29
會被自動轉發(fā)到
http://www.zuzwn.com

因為系統(tǒng)并不存在f29,所以使用了404的錯誤處理頁面來實現(xiàn)這個功能
頁面代碼如下
查看復制到剪切板打印
<@ page language="java" contentType="text/html; charset=GBK" isErrorPage="true" pageEncoding="GBK">
<
response.setStatus(HttpServletResponse.SC_OK);
String key = (String) request.getAttribute("javax.servlet.forward.servlet_path");
if (key != null) {
int index = key.lastIndexOf("/");
if (index != -1) {
key = key.substring(index 1);
if (key.startsWith("f") || key.startsWith("p")) {
try {
long id = Long.parseLong(key.substring(1));
String url = key.startsWith("f") ? "forumdisplay.jsp?fid=" : "viewthread.jsp?tid=";
>

<
return;
} catch (Exception ex) {}
}
>
">
<
return;
}
}
>
對不起,您請求的頁面沒有找到!
總結
第一種修改麻煩,但對于平穩(wěn)運行的系統(tǒng),是個不錯

標簽: