zoukankan      html  css  js  c++  java
  • java开发:分享一下使用urlrewrite实现网址的个性访问

         很多网站都有一些比较个性的域名访问方式,如:http://www.xxx.com/u/pp  点开就可以看到pp的个人主页了,这种地址比较容易让人记住,那今天就来讲讲这种技术的实现方式。

         1.使用java作为开发语言,实现这种地址重写,需要你引入一个jar包:urlrewrite-3.1.0.jar

       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文件了,代码如下:

    <!-- 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.如果是带参数的,个性的域名地址呢,这里也给出一个方法,后台接到请求后处理,代码如下:

            // 地址栏输入别名处理
        @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来看效果了。

  • 相关阅读:
    Spring Boot的每个模块包详解
    spring框架所有包说明
    TCP三次握手和四次挥手
    线程池实现原理
    AVL树与红黑树
    去哪儿网面经
    什么是缓存一致性问题?如何解决?
    Redis的应用场景和优缺点
    线程池
    手写快排
  • 原文地址:https://www.cnblogs.com/qq-602904354/p/4051958.html
Copyright © 2011-2022 走看看