zoukankan      html  css  js  c++  java
  • 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就完成了,还有什么不足之处请大家多多指教哦!

  • 相关阅读:
    python中的GIL
    centos7 安装docker
    ORACLE INSERT INTO SELECT
    Java substring几个用例
    Java Date类型转换、操作等(util.Date sql.Date,)
    ORACLE 按字段去除重复数据
    OFFICE技巧汇编
    ORACLE自动类型转换的坑
    ubuntu下,pycharm svn 版本控制,svn服务器在win下
    【草稿】pip重要命令;python 变量命名规则
  • 原文地址:https://www.cnblogs.com/luhan/p/5952303.html
Copyright © 2011-2022 走看看