jsp重写url
众所周知,使用java web编程出来的网站都是.jsp结尾的,而别人的网站都是以.html结尾的,那么这种效果是怎么实现的呢?就是这篇文章产生的原因,jsp重写url需要设计到第三方架包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的更多相关文章
- (转) jsp页面 URL传中文参数到Action里面出现乱码
jsp页面 URL传中文参数到Action里面出现乱码,方法如下: 第一种:在Action中用 new String(str.getBytes("ISO8859_1"), &quo ...
- 在Apache中使用mod_rewrite模块重写URL
如果有使用第三方框架做项目时,url路径是可以同过框架给的方法来设定的(如thinkphp),但如果使用原生php写的项目又想重写url,则可通过apache的一些设置来达到想要的效果. 在更改apa ...
- HttpContext.Current.RewritePath方法重写URL
if (!IsPostBack) { //如果请求ID为空,则重写URL为:~/index.aspx?ID=shouji.115sou.com if (Request.QueryString[&quo ...
- 利用URLRewriter重写url地址
首先,当然是下载URLRewriter了 download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDN ...
- 在js中获取query string 以及重写URL的函数
函数用途:如标题.1. 从URL中解析出參数,2.重写URL中的參数值 例如以下代码所看到的.包括了測试.能够直接copy到浏览器中,输入測试地址:localhost:xxx?a=1&b=2& ...
- 【转载】ASP.NET MVC重写URL制作伪静态网页,URL地址以.html结尾
在搜索引擎优化领域,静态网页对于SEO的优化有着很大的好处,因此很多人就想把自己的网站的一些网页做成伪静态.我们现在在网络上发现很多博客网站.论坛网站.CMS内容管理系统等都有使用伪静态这一种情况,伪 ...
- asp.net 重写URL方法和封装好的DLL
.net 重写URL方法和封装好的DLL URL重写方法DLL(2.0)
- jsp 的url传参中文乱码问题解决办法
在js文件中,使用连接jsp的url传参,如果参数是中文会出现乱码问题,如下可以解决: 方法一:(已确认 可行) String username = new String(request.getPar ...
- apache重写URL时,排除静态资源
THINKPHP项目部署的apache 上面时,如果为了隐藏入口文件配置了重写URL,会导致将静态资源的URL也解析成Controller/Method,导致触发模块不存在 所以在URL重写配置中,需 ...
随机推荐
- 安装 node-sass 的不成功
昨天安装项目依赖的包,差不多都装好了,然后就卡在了node-sass上,各种报错. 报错一.gyp ERR! stack Error: Can't find Python executable &qu ...
- python和python-dev
问:python-dev是什么?为什么安装了python后有时还要安装python-dev? 答: linux发行版通常会把类库的头文件和相关的pkg-config分拆成一个单独的xxx-dev(el ...
- [Bzoj5043][Lydsy1709月赛]密码破译(按位dp)
5043: [Lydsy1709月赛]密码破译 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 477 Solved: 125[Submit][Sta ...
- [Bzoj5254][Fjwc2018]红绿灯(线段树)
5254: [Fjwc2018]红绿灯 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 31 Solved: 24[Submit][Status][D ...
- linux shell简单实现数据库自动备份
以centos系统为例,实现数据库自动备份.1.写一个shell: 12 #! /bin/bashmysqldump -cp --user=root --password='123' dbName | ...
- java之 ------ 文件的输入、输出(一)
import java.io.*; public class IntFile { private String filename; public IntFile(String filename) { ...
- JavaScript 层
代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--& ...
- php-cpp用来开发php的拓展
官网: http://www.php-cpp.com/documentation/install, 找时间要学一下.
- Error: cannot call methods on draggable prior to initialization; attempted to call
cannot call methods on draggable prior to initialization; attempted to call 报这个问题的根本原因是由于你的引用文件有问题 ...
- 用rsync命令删除大文件夹
删除大文件夹 rsync 命令做同步文件用的命令 我们可以借助其快速的运行 来对大文件夹删除:原来就是 新建一个空文件夹 然后把这个空文件夹同步到一个大文件夹下面: 这样会删除大文件夹下面的内容 是高 ...