《转》java URL重写
生活随笔
收集整理的這篇文章主要介紹了
《转》java URL重写
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章來源:http://www.it300.com/article-5319.html
?現在url重寫技術用的越來越廣泛了,很高興今天和各位網友分享一下:
???? 首先我們要從網上下一個UrlReWriter?? jar包 現在地址進不了,我這里有一個3.0版本的,文章底有下載地址,大家可以去下載
???? 引用jar包后,我們需要配制web.xml配制文件,配制如下:
????
<filter> ? ? <filter-name>UrlRewriteFilter</filter-name> ? ? <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> ? ?</filter> ? ?<filter-mapping> ? ? <filter-name>UrlRewriteFilter</filter-name> ? ? <url-pattern>/*</url-pattern> ? ? <dispatcher>REQUEST</dispatcher> ? ? <dispatcher>FORWARD</dispatcher> ? </filter-mapping>新建一個urlrewrite.xml文件
?
?
| 01 | <?xml version="1.0"?encoding="utf-8"?> |
| 02 | <!DOCTYPE urlrewrite PUBLIC?"-//tuckey.org//DTD UrlRewrite 3.0//EN""http://tuckey.org/res/dtds/urlrewrite3.0.dtd"> |
| 03 | <urlrewrite> |
| 04 | ???<rule> |
| 05 | ???<from>/test.html</from> |
| 06 | ???<to type="redirect">%{context-path}/page.html</to> |
| 07 | ???</rule> |
| 08 | ???<rule> |
| 09 | ???????<from>/name/(.*)</from> |
| 10 | ???????<to>/MyName.jsp?name=$1</to> |
| 11 | ???</rule> |
| 12 | </urlrewrite> |
我們再新建test.html
?
?
? ? <html> ? <body> ? ? ?test.html ? </body> </html>新建?page.html
新建MyName.jsp
?
?
?<%@ page language="java" contentType="text/html; charset=UTF-8"?%> ?<html> ?<head> ?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> ?</head> ? <body> ? ? 我的姓名是:<%=request.getParameter("name")%> ?</body> ?</html>?
我們實現的效果是輸入http://localhost:8080/MyUrl/name/chenjie?達到效果http://localhost:8080/MyUrl/MyName.jsp?name=chenjie
輸入http://localhost:8080/MyUrl/test.html?跳轉到http://localhost:8080/MyUrl/page.html
URL重寫我們最重要是正則表達式的寫法,我們隨便也介紹一下正則的用法
?
?package com.testMatch;?import java.util.regex.Matcher;
?import java.util.regex.Pattern;
?public class MyMatch {
? ? ? public static void main(String[] args) {
? ? ? ? ?/** ?方法一
? ? ? ? ? ?//創建pattern對象,加載正則表達式? ? ? ??
?????Pattern p=Pattern.compile("^t.*java");
? ? ? ? ?//將需要的匹配的字符串加載到Matcher對象、
? ? ? ? ? Matcher m=p.matcher("think in java");? ? ? ? ??
?????boolean b=m.matches();? ? ? ? ??
?????System.out.println(b);
? ? ? ? ?**/??? ? ? ?
?????????//".代表一任意一個字符"
? ? ? ? ?//"^"1.在字符串中代表開始 ?2.在[]代表取反? ? ? ? ??
????? ? ?//"$"表示結尾
? ? ? ? ?//"|"表示或者,^[a|b]表示以a或b開頭^[1][358]? ? ? ? ??
????? ? ?//"[]"表示選擇,匹配手機號碼:^[1][358][0-9]{9}
? ? ? ? ?//"*"表示前面的字符可以出現0次,1次,或多次? ? ? ? ??
????? ? ?//"+"表示前面的字符至少出現一次或多次
? ? ? ? ?//"?"表示前面的字符可以出現0或1次? ? ? ? ??
?????????//"{}"允許前面的字符可以出現多少次????? ? ??
????boolean b=Pattern.matches("^t.*java","think in java");? ? ?
}
?}?
總結
以上是生活随笔為你收集整理的《转》java URL重写的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android EditView
- 下一篇: awk详细教程:第二部分