不少網站都有一些比較個性的域名訪問方式,如:http://www.xxx.com/u/pp 點開就能夠看到pp的我的主頁了,這種地址比較容易讓人記住,那今天就來說講這種技術的實現方式。java
1.使用java做爲開發語言,實現這種地址重寫,須要你引入一個jar包:urlrewrite-3.1.0.jarweb
2.而後就是作個性化的地址配置了,這裏建立了urlrewrite.xml,我把它放在WEB-INF目錄下,代碼以下:瀏覽器
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.1//EN" "http://tuckey.org/res/dtds/urlrewrite3.1.dtd"> <urlrewrite> <rule> <from>^/u/([a-zA-Z0-9]*)$</from> <to type="forward">/blog/toHome.do?xxx=$1</to> </rule> <rule> //還能夠配置不少,帶參數或者不帶均可以 </rule> </urlrewrite>
3.接着就是要在web.xml加載咱們的urlrewrite.xml文件了,代碼以下:app
<!-- url rewrite filter --> <filter> <filter-name>UrlRewriteFilter</filter-name> <filter-class> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter </filter-class> <init-param> <param-name>confPath</param-name> <param-value>/WEB-INF/urlrewrite.xml</param-value> </init-param> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
4.若是是不帶參數的呢,直接在瀏覽器上輸入別名訪問,後臺會自動跳轉到指定的頁面。網站
4.若是是帶參數的,個性的域名地址呢,這裏也給出一個方法,後臺接到請求後處理,代碼以下:url
// 地址欄輸入別名處理 @RequestMapping(value = { "/toHome" }, method = { RequestMethod.GET }) public String toHome(Member model, HttpServletRequest req, ModelMap modelMap) { //根據別名查詢 Map<String, Object> maps = new HashMap<String, Object>(); maps.put("xxx", model.getXXX()); List<Object> list = memberService.selectAll(maps); if (list != null && list.size() > 0) { //加載數據,跳轉 return "home/page"; } else { return "404"; } }
5.最後,咱們就能夠在瀏覽器上輸入:http://www.xxx.com/u/pp來看效果了。spa