众所周知,使用java web编程出来的网站都是.jsp结尾的,而别人的网站都是以.html结尾的,那么这种效果是怎么实现的呢?就是这篇文章产生的原因,jsp重写url需要设计到第三方架包urlrewritefilter,这里提供一个下载地址

urlrewritefilter

java导入第三方架包

1.将urlrewrite-2.6.0.jar放入项目的WEB-INF—>lib文件夹下

2.将urlrewrite.xml放入WEB-INF文件夹下

3.在web.xml中加入,表示加载UrlRewriteFilter类,并且拦截所有访问请求

<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>
</filter-mapping>

4.修改urlrewrite.xml里面的配置

其余的不用管,只需要管理<rule>这个节点里面的内容,这里面配置的就是重写url的规则

<from>显示在浏览器上的地址,呈现出来给人看的,比如xxx.html

<to>实际指向的项目里面的页面地址,比如呈现出来的xxx.html其实访问的是xxx.jsp

<from>里面编写拦截规则,^代表规则开始;$代表规则结束;()代表参数,里面可以填写正则表达式;$1代表第一个参数

比如<from>^/(.*).html</from> <to>/$1.jsp</to> 只要是.html结尾的地址都会被拦截然后转成实际地址,(.*)表示可以填写任意内容$1表示括号里面是什么这个值就是什么

比如/index.html实际访问的就是/index.jsp

 

注意:

  如果<from>里面填写的是(.*)那么你的图片路径,引用各种外部资源路径就会有问题

  如果地址栏后面会有参数的拼接,可以

<from>^/(.*).html?(.*)</from>第二个(.*)即为拼接参数的形式字符串比如/index.html?name=''&id=''
<to>/$1.jsp?$2</to>第二个$2即为拼接参数带进来的值比如/index.jsp?name=''&id=''

至此整个重写url就完成了,还有什么不足之处请大家多多指教哦!

jsp重写url的更多相关文章

  1. (转) jsp页面 URL传中文参数到Action里面出现乱码

    jsp页面 URL传中文参数到Action里面出现乱码,方法如下: 第一种:在Action中用 new String(str.getBytes("ISO8859_1"), &quo ...

  2. 在Apache中使用mod_rewrite模块重写URL

    如果有使用第三方框架做项目时,url路径是可以同过框架给的方法来设定的(如thinkphp),但如果使用原生php写的项目又想重写url,则可通过apache的一些设置来达到想要的效果. 在更改apa ...

  3. HttpContext.Current.RewritePath方法重写URL

    if (!IsPostBack) { //如果请求ID为空,则重写URL为:~/index.aspx?ID=shouji.115sou.com if (Request.QueryString[&quo ...

  4. 利用URLRewriter重写url地址

    首先,当然是下载URLRewriter了 download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDN ...

  5. 在js中获取query string 以及重写URL的函数

    函数用途:如标题.1. 从URL中解析出參数,2.重写URL中的參数值 例如以下代码所看到的.包括了測试.能够直接copy到浏览器中,输入測试地址:localhost:xxx?a=1&b=2& ...

  6. 【转载】ASP.NET MVC重写URL制作伪静态网页,URL地址以.html结尾

    在搜索引擎优化领域,静态网页对于SEO的优化有着很大的好处,因此很多人就想把自己的网站的一些网页做成伪静态.我们现在在网络上发现很多博客网站.论坛网站.CMS内容管理系统等都有使用伪静态这一种情况,伪 ...

  7. asp.net 重写URL方法和封装好的DLL

    .net 重写URL方法和封装好的DLL URL重写方法DLL(2.0)

  8. jsp 的url传参中文乱码问题解决办法

    在js文件中,使用连接jsp的url传参,如果参数是中文会出现乱码问题,如下可以解决: 方法一:(已确认 可行) String username = new String(request.getPar ...

  9. apache重写URL时,排除静态资源

    THINKPHP项目部署的apache 上面时,如果为了隐藏入口文件配置了重写URL,会导致将静态资源的URL也解析成Controller/Method,导致触发模块不存在 所以在URL重写配置中,需 ...

随机推荐

  1. Struts2标签-checkbox只读属性设置

    Struts2标签-checkbox只读属性设置 在struts2的checkbox标签中,为实现只读效果,一般使用readonly="true"是达不到效果的,但设置disabl ...

  2. AnyChart创建实时仪表

    AnyChart创建实时仪表 简述: AnyChart是一款基于Flash和HTML5的图表.仪表控件,所包含的图表类型众多和跨平台以及跨浏览器是该产品的主要特点和优点,另外该产品基于XML文件作为数 ...

  3. java面2

    面试试题汇总集: <[面试题]2018年最全Java面试通关秘籍汇总集!> <[面试题]2018年最全Java面试通关秘籍第二套!> <[面试题]2018年最全Java面 ...

  4. R语言入门视频笔记--2--一些简单的命令

    一.对象 1.列举当前内存中的对象 ls() 2.删除不需要的对象 rm(某对象名称) 3.查看向量长度 length(某向量名称) 4.查看向量类型 mode(某向量名称) 二.函数 1.seq函数 ...

  5. Day 9 Linux samba & ngnix

    (摘) Samba服务 一.Samba简介  Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服 ...

  6. Android借助Handler,实现ViewPager中页面的自动切换(转)

    在很多电商网页及app上都有自动切换的商品的推广快,感觉体验挺不错的,正好今天学习使用ViewPager,因此也实现了一个功能类似的demo. 下面是其中的两个截图:           实现一个自动 ...

  7. BZOJ 2957 楼房重建 (线段树)

    题目链接  楼房重建 解题思路:我们可以把楼房的最高点的斜率计算出来.那么问题就转化成了实时查询x的个数,满足数列x的左边没有大于等于x的数. 我们可以用线段树维护 设t[i]为如果只看这个区间,可以 ...

  8. File类 文件过滤器

    创建过滤器 package cn.zmh.File; import java.io.File; import java.io.FileFilter; // 实现FileFilter类的功能 publi ...

  9. Java中jshell脚本

    1.当所编写的代码量少时,倘若要按照步骤会显得繁琐,可直接用JDk当中的jshell,进入cmd,输入jshell,即进入jshell脚本交互模式.省去繁琐的定义类,main方法,可直接输出Syste ...

  10. Kafka windows下的安装

    1. 安装JDK 1.1 安装文件:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载JDK1.2 安装完成后需 ...