国产成人毛片视频|星空传媒久草视频|欧美激情草久视频|久久久久女女|久操超碰在线播放|亚洲强奸一区二区|五月天丁香社区在线|色婷婷成人丁香网|午夜欧美6666|纯肉无码91视频

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

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

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

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

舉例

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

重寫(xiě)后,可以用

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

我目前使用Tomcat Apache,嘗試過(guò)三種重寫(xiě)的方法

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

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



UrlRewriteFilter

org.tuckey.web.filters.urlrewrite.UrlRewriteFilter



UrlRewriteFilter
/*

過(guò)濾規(guī)則


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


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



二、使用Apache的mod

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


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

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


三、使用系統(tǒng)的404錯(cuò)誤進(jìn)行
也就是頁(yè)面沒(méi)找到的錯(cuò)誤
實(shí)例:
http://www.zuzwn.com/f29
會(huì)被自動(dòng)轉(zhuǎn)發(fā)到
http://www.zuzwn.com

因?yàn)橄到y(tǒng)并不存在f29,所以使用了404的錯(cuò)誤處理頁(yè)面來(lái)實(shí)現(xiàn)這個(gè)功能
頁(yè)面代碼如下
查看復(fù)制到剪切板打印
<@ 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;
}
}
>
對(duì)不起,您請(qǐng)求的頁(yè)面沒(méi)有找到!
總結(jié)
第一種修改麻煩,但對(duì)于平穩(wěn)運(yùn)行的系統(tǒng),是個(gè)不錯(cuò)

標(biāo)簽: