日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

urlrewrite 地址重写

發(fā)布時間:2024/4/17 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 urlrewrite 地址重写 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

環(huán)境:

Maven 3.0.4 Urlrewrite 2.5.2 Myeclipse 8.6.1

借此機會順便提一下 Maven Project 的創(chuàng)建,會了的朋友或還不想了解 Maven 的朋友,可以略過創(chuàng)建過程。

創(chuàng)建一個 Maven Project:New --> Other --> Maven Project

在彈出的對話框里,如果你想修改你項目的存放路徑你可以改一下,其他的默認,我的所有項目都是存放在默認的工作區(qū)下,所以直接點NEXT

接下來找到并選擇webapp,其他的默認,NEXT

?

填寫你的 groupId、artifactId、version 和 package 信息,然后 Finish

(Finish 之后myeclipse在創(chuàng)建maven的時候可能會彈出錯誤框提示,沒事,不用管它,直接按兩次回車或手動關閉提示框)

?

下面我簡單解釋一下 groupId、artifactId、version 和 package:

groupId:group 翻譯成中文就是組、集團的意識,groupId就是這樣一個組或集團的ID標識,就拿 Apache 來說好了,Apache 大家都不陌生吧,

???????????? Apache 官網(wǎng)上有非常多的項目,每個項目里面肯定能找得到 org.apache.xxxx,而 org.apache 就是這里說的 groupId

artifactId:還是拿 Apache 來說,Apache 官網(wǎng)上有非常多的項目,而每個項目的名字就是這里的 artifactId,換句話說,artifactId 就是你的項目名

version:這個就沒有什么好解釋的了吧,是項目版本的意思

package:這個也沒什么好說的,就是 groupId.artifactId,創(chuàng)建的時候會自動幫你補全,如果沒有自動幫你補全就自己手動敲上去

好,下面來看創(chuàng)建出來的urlrewrite-maven-example的目錄結構:

src/main/resources:用來存放資源文件(默認會幫你創(chuàng)建這個資源文件夾)

src/main/java:用來存放 java 源碼文件(需要自己手動創(chuàng)建)

src/main/test:用來存放測試代碼(需要自己手動創(chuàng)建,也有人習慣命名為:src/test)

target:是用來存放 Maven 編譯好的字節(jié)碼的地方

Maven 的創(chuàng)建就講到這,接著講 urlrewrite,另外為了調(diào)試方便我引進了 Ant,即上面的 build.xml,這里我不講它,沒有影響。

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.fancy</groupId><artifactId>urlrewrite-maven-example</artifactId><packaging>war</packaging><version>1.0</version><name>urlrewrite-maven-example Maven Webapp</name><url>http://maven.apache.org</url><dependencies><!-- urlrewrite jar --><dependency><groupId>org.tuckey</groupId><artifactId>urlrewrite</artifactId><version>2.5.2</version></dependency></dependencies><build><finalName>urlrewrite-maven-example</finalName></build></project>


web.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><!-- 開啟URLREWRITE監(jiān)聽 --><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><dispatcher>REQUEST</dispatcher><dispatcher>FORWARD</dispatcher></filter-mapping><!-- 404錯誤 --><error-page><error-code>404</error-code><location>/404.jsp</location></error-page><!-- 500錯誤 --><error-page><error-code>500</error-code><location>/500.jsp</location></error-page><welcome-file-list><welcome-file>welcome.jsp</welcome-file></welcome-file-list></web-app>


urlrewrite.xml

<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN" "\\urlrewrite3.2.dtd"><urlrewrite><rule><note>重寫index.jsp成index.html</note><note>example:/index.html</note><from>/index.html</from><to type="forward">/index.jsp</to></rule><rule><note>將view根目錄下所有jsp資源重寫成/xxx.action</note><note>example:/index.action</note><from>/([A-Za-z0-9]+).action</from><to type="forward">/view/$1.jsp</to></rule><rule><note>forward(轉(zhuǎn)發(fā)模式)傳參</note><note>example:/user/param/fancy/8080.do</note><from>/user/([A-Za-z0-9]+)/([A-Za-z0-9]+)/([A-Za-z0-9]+).do</from><to type="forward">/view/parameter/$1.jsp?username=$2&amp;password=$3</to></rule><rule><note>redirect(重定向模式)傳參,to中寫絕對地址</note><note>example:/admin/param/fancy/8080.do</note><from>/admin/([A-Za-z0-9]+)/([A-Za-z0-9]+)/([A-Za-z0-9]+).do</from><to type="redirect">/urlrewrite-maven-example/view/parameter/$1.jsp?username=$2&amp;password=$3</to></rule></urlrewrite>

?


urlrewrite.xml 這個配置文件一定只能放在 WEB-INF 下,放別的地方,無論你在web.xml中怎么配置都是不行的,至少現(xiàn)在是不行的。

所謂重寫,就一定會有規(guī)則的匹配,這里用到了正則表達式,方便起見,我只用了[A-Za-z0-9]+,簡單的解釋一下:

A-Z:匹配 A 到 Z 中的任意一個字符,說一句廢話,同理可得,

a-z:匹配 a 到 z 中的任意一個字符

0-9:匹配 0 到 9 的任意一個字符

+:至少出現(xiàn)一次,即,一次或一次以上

合起來 [A-Za-z0-9]+ 的意思就是:匹配一個任意的英文字母和數(shù)字組合的字符串

<rule>:自定義匹配規(guī)則

<note>:注釋,解釋標簽

<from>:定義具體的匹配規(guī)則

<to>:匹配成功后的目標地址

<to type="">:type的值有兩個,一個是 forward (轉(zhuǎn)發(fā),參數(shù)不丟失),一個是 redirect (重定向,地址欄顯示的地址就是目標真實地址)

$1:匹配中的第一個正則表達式的字符串的值,$2,$3,$4....也是如此

&amp; :是 & 的實體名,代表的就是 &,這個可以在 w3school 中找到:http://www.w3school.com.cn/tags/html_ref_entities.html

第一個rule:訪問 /index.html,實際上是訪問了 /index.jsp

第二個rule:訪問 /xx.action , 實際上是訪問了 view 目錄下的 xx.jsp

第三個rule:訪問 /user/xx/yy/zz.do , 實際上是訪問了 view 目錄下的 parameter 目錄下的 xx.jsp?username=yy&password=zz

第四個rule:跟第三個其實是一樣的,但是由于是重定向模式,所以地址欄就會顯示真的是地址

下面是 測試的 JSP :

/welcome.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html><head><title>Urlrewrite Simple Demo</title></head><body><h3>/welcome.jsp</h3><HR/><p><a href="index.html" target="_blank">/index.html</a></p><p><a href="index.action" target="_blank">/index.action</a></p><p><a href="user/param/fancy/8080.do" target="_blank">/user/param/fancy/8080.do</a>(forward[轉(zhuǎn)發(fā)模式])</p><p><a href="admin/param/fancy/8080.do" target="_blank">/user/param/fancy/8080.do</a>(redirect[重定向模式])</p></body> </html>

?

/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>Urlrewrite Simple Demo</title></head><body><h3>/index.jsp</h3><h1>Hello Urlrewrite</h1></body> </html>


/view/index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>Urlrewrite Simple Demo</title></head><body><h3>/view/index.jsp</h3><h1>Hello Urlrewrite</h1></body> </html>

?

/view/parameter/param.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><title>Urlrewrite Simple Demo</title></head><body><h3>/view/parameter/param.jsp</h3><h1>${param}</h1></body> </html>


Run it :

在 pom.xml 中右鍵,Run as --> Maven install

下面是生成的 target 資源:

將 war 文件拷貝到你的 服務器中,我用的是tomcat,然后啟動tomcat:

如果你是第一次使用 urlrewrite 可能會拋一個異常:

這個異常信息是說系統(tǒng)找不到 tomcat bin 下的?urlrewrite3.2.dtd 文件,解決辦法很簡單:

方法一:將 urlrewrite3.2.dtd 放到 urlrewrite.xml 所在的目錄下,即 WEB-INFO 的目錄下

方法二:將 urlrewrite3.2.dtd 放到 tomcat 的 bin 目錄下,這個方法一勞永逸,所以我選的是這個

urlrewrite3.2.dtd 這個文件可以在文章的最下面下載,源碼包里我沒有放這個文件,沒問題之后,

訪問:http://localhost:8080/urlrewrite-maven-example/?留意地址欄的地址,你會發(fā)現(xiàn),真實的地址沒有被顯示出來,你看到的是偽地址:

?

?

/index.html

?

/index.action

?

/user/param/fancy/8080.do

?

/user/param/fancy/8080.do , 這次是重定向了,注意留意地址欄地址,這回不再是偽地址了,而是真實的地址

?

源碼:http://files.cnblogs.com/fancyzero/urlrewrite-maven-example.zip

DTD: http://files.cnblogs.com/fancyzero/urlrewrite3.2.dtd.zip

轉(zhuǎn)載于:https://www.cnblogs.com/fancyzero/archive/2012/06/10/urlrewrite.html

總結

以上是生活随笔為你收集整理的urlrewrite 地址重写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天堂精品一区二区三区 | 无码任你躁久久久久久老妇 | 五月天丁香在线 | 成人在线播放av | 日日草夜夜草 | 亚洲av无码一区二区三区网站 | 国产黄在线免费观看 | 91蝌蚪91九色白浆 | 日韩国产综合 | 国产三级午夜理伦三级 | 欧美粉嫩videosex极品 | 一起草最新网址 | 青青草综合视频 | 欧美一区二区三区四区五区 | 三级福利 | 四虎精品欧美一区二区免费 | 两口子交换真实刺激高潮 | 好吊色视频988gao在线观看 | 欧美一级视频免费观看 | 欧美一二三区在线观看 | 日韩国产成人无码av毛片 | 中文高清av| 国产精品久久久久99 | 91l九色lporny | 东北少妇不带套对白 | 日韩一级免费观看 | 狠狠操很很干 | 亚洲欧洲综合网 | 在线观看中文字幕第一页 | 噜噜噜网站 | 久久av无码精品人妻系列试探 | 婷婷国产一区二区三区 | 国产精品99re | 黄色激情在线 | 亚洲性欧美 | 免费看黄色网址 | a国产免费 | 国产毛片视频网站 | 操她视频网站 | 日本在线黄色 | 热精品 | 欧美sese | 欧美黄色激情 | 肉色欧美久久久久久久免费看 | 第四色男人天堂 | 国产精品久久毛片av大全日韩 | 亚洲大胆| 国产精品扒开腿做爽爽爽视频 | 黄色免费av网站 | 熟妇熟女乱妇乱女网站 | 国产一区二区波多野结衣 | 17c国产精品一区二区 | 美女啪啪动态图 | 亚洲色图19p | 免费草逼网站 | 成人亚洲国产 | 肉色丝袜小早川怜子av | 岳狂躁岳丰满少妇大叫 | 欧美特级黄色片 | 黄色高潮 | 亚洲欧美综合 | 欧美亚洲成人网 | 美女又爽又黄又免费 | 玖玖玖在线观看 | 我的公把我弄高潮了视频 | 日韩一区欧美 | 调教丰满的已婚少妇在线观看 | 色一情一区二区三区四区 | 在线观看视频国产 | 国产精品视频免费在线观看 | 国产精品久久久久久久专区 | 污污内射在线观看一区二区少妇 | 一级黄色短片 | 久久在线免费观看 | youjizz国产 | 久久免费电影 | 午夜精品极品粉嫩国产尤物 | 秒拍福利视频 | 视频污在线观看 | 成人深夜网站 | 日韩在线第一 | 一级片www| 国产精品成人国产乱 | 黄色av片三级三级三级免费看 | 四虎精品在线观看 | 一区二区高清 | 国产精品一区二区视频 | 清纯粉嫩极品夜夜嗨av | 成人欧美一区二区三区黑人动态图 | 男女搞黄网站 | 伊人www | 中文字幕在线观看免费 | 超碰激情 | 精品国产乱码久久久久久郑州公司 | 成年视频在线观看 | 精品人妻少妇嫩草av无码专区 | 免费在线色 | 亚洲一区二区高清 | 桃色av|