java開發:分享一下使用urlrewrite實現網址的個性訪問

     不少網站都有一些比較個性的域名訪問方式,如: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

相關文章
相關標籤/搜索