• jsp重写url


    众所周知,使用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就完成了,还有什么不足之处请大家多多指教哦!

  • 相关阅读:
    追求一个人怎么这么难
    基于PHPstream扩展手动实现一个redis客户端
    常见final修饰类
    位运算
    HTTP Status 404
    Hibernate Junit 运行报错:org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment
    根据银行卡号码获取银行卡归属行以及logo图标
    进程间通信IPC(InterProcess Communication)
    脏读、幻读、不可重复读和可重复读
    数据库锁知识总结
  • 原文地址:https://www.cnblogs.com/luhan/p/5952303.html
Copyright © 2020-2023  润新知