很多网站都有一些比较个性的域名访问方式,如: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来看效果了。

java开发:分享一下使用urlrewrite实现网址的个性访问的更多相关文章

  1. 基于java开发的在线题库系统tamguo

    简介 探果网(简称tamguo)是基于java开发的在线题库系统,包括 在线访问 后台运营 会员中心 书籍中心 管理员账号:system 密码:123456 因为线上数据和测试数据没有做到隔离,作者已 ...

  2. Java微信分享接口开发

    发布时间:2018-11-07   技术:springboot+maven   概述 微信JS-SDK实现自定义分享功能,分享给朋友,分享到朋友圈 详细 代码下载:http://www.demodas ...

  3. 校园表白墙、微信表白墙、校园墙 微信小程序 JAVA 开发记录与分享

    目录 最新版表白墙博客地址 1.微信小程序前台展示 2.功能介绍 3.后台管理 4.后端语言采用 JAVA 开发 5.体验此微信小程序 扫描下方二维码 6.如何联系我或需要源码进行联系 最新版表白墙博 ...

  4. 分享Java开发的利器-Lombok

    译注:Lombok是一个很老的项目了,也非常实用,但奇怪的是这么多年来似乎一直不温不火.很多Lombok特性可以参考它的官网介绍哈.兄弟连教育在这里只是简单介绍一下它的基础功能. Lombok是一个旨 ...

  5. 分享:Java 开发精美艺术二维码

    博客地址:https://ainyi.com/58 Java 开发精美艺术二维码 看到网络上各种各样的二维码层出不穷,好像很炫酷的样子,一时兴起,我也要制作这种炫酷二维码效果 例如: 根据以往例子 根 ...

  6. Mac IntelliJ IDEA 2017(java开发集成环境)附注册码和破解教程 v2017.3.5破解版

    原文:http://www.orsoon.com/Mac/155938.html 原文中含有软件下载地址 软件介绍 IntelliJ IDEA 2017 Mac激活版是Mac平台上的一款java开发集 ...

  7. 轻松理解 Java开发中的依赖注入(DI)和控制反转(IOC)

    前言 关于这个话题, 网上有很多文章,这里, 我希望通过最简单的话语与大家分享. 依赖注入和控制反转两个概念让很多初学这迷惑, 觉得玄之又玄,高深莫测. 这里想先说明两点: 依赖注入和控制反转不是高级 ...

  8. 使用Java开发高性能网站需要关注的那些事儿

    无论大型门户网站还是中小型垂直类型网站都会对稳定性.性能和可伸缩性有所追求.大型网站的技术经验分享值得我们去学习和借用,但落实到更具体的实践上并不是对所有网站可以适用,其他语言开发的网站我还不敢多说, ...

  9. 打造Linux三流娱乐环境,二流办公环境,一流Java开发环境

    写这篇文章的目的首先是为让自己以后再装linux环境时候,不用再通宵google+百度,做个备忘录,其次,给新入Linux环境的同学分享一点个人经验,再高尚点的动机也算是想做为开源技术的传播布道者.我 ...

随机推荐

  1. Object类、instanceof

    一.Object 1.所有类都默认继承至Object 2.两个常用的方法 2.1.toString:返回类的字符串描述,一般子类会重写用来打印属性 2.2.equals:默认比较两个对象的引用是否相同 ...

  2. UI进阶 KVO

    KVO:(Key-Value-Observer)键值观察者,是观察者设计模式的一种具体实现 KVO触发机制:一个对象(观察者),监测另一对象(被观察者)的某属性是否发生变化,若被监测的属性发生的更改, ...

  3. CoreSeek有符号整型

    数据库status字段的值有:-1,0,1 设置过滤字段,发现sql_attr_uint不支持负数,后改用sql_attr_bigint sql_attr_bigint = status sql_at ...

  4. IE取消访问剪贴板设置

    1. 启动IE. 2. Internet选项. 3. “安全”选项卡. 4. 自定义级别. 5. “安全设置-Internet区域”->脚本->允许对剪贴板进行编程访问(启用)

  5. ASCII,GB2312,GBK,Unicode,Utf-8

    1.ASCII:American Stardand Code for Information Interchange,是当时美国制定出来的一套编码系统,使用7位或8位二进制来表示西文字符,0-31以及 ...

  6. GMT、UTC、PDT 时间是什么?Linux下如何调整时区

       今天碰到一个时区配置问题,如果服务器时区配置不对,很可能在使用date相关函数时会出现莫名其妙的错误,现将相关时区说明及LINUX下调整时区方法记录如下,以做备忘. GMT GMT 是 Gree ...

  7. error log

    04-29 18:18:17.295 6903-6913/? I/art: Debugger is no longer active 04-29 18:18:17.473 157-157/? I/DE ...

  8. CentOS 6系统下安装 JDK1.6

    CentOS 6系统下安装 JDK1.6 JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品.自从Java推出以来,JDK已经成为使用最广泛的 ...

  9. TC SRM 664 div2 A BearCheats 暴力

     BearCheats Problem Statement    Limak is an old brown bear. Because of his bad eyesight he sometime ...

  10. delphi execCommand

    WebBrowser1.Document as IHTMLDocument2 关键点 function execCommand(const cmdID: WideString; showUI: Wor ...