Java URLRewriter使用小节
程序员文章站
2022-03-16 10:35:44
...
最近总结了下URLRewriter.
http://fykyx521.iteye.com/blog/494263 很好地总结了页面URL重写的问题.
http://zhxing.iteye.com/blog/456713 有较详细的翻译
1首先web.xml中要注意
<!-- URLRewriter --> <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> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
http://hintcnuie.iteye.com/blog/226251 给出了关于它的详细说明
2再有页面ULR重写要注意:
<!-- rule用于页面重定向 --> <rule> <from>^/([\w\W]+).htm$</from> <to type="redirect">$1.action</to> </rule> <rule> <from>^/(\w+)/(\w+)/(\w+).html$</from> <to type="forward">%{context-path}/$1.action?valueInt=$2&valueString=$3</to> <!-- %{context-path}指当前项目路径(多层次下使用).--> <!-- type="redirect",type="forward"(默认方式) 是另一种页面重定向方式 --> </rule> <!-- outbound-rule用于页面链接显示重定向 --> <outbound-rule> <from>^([\w\W]+).action$</from> <to>$1.htm</to> </outbound-rule>
这里type="redirect",type="forward"(默认方式) ,如使用redirect 是页面跳转,即浏览器地址栏会显示.forward则是重定向. %{context-path}指当前项目路径.
3页面URL 若不重写意义也不大,重写方式通过outbound-rule定制,它会重写 response.encodeURL(result)然手达到重写页面URL的目的
<a href="<%=request.getContextPath() + response.encodeURL("/home.action")%>">URLRewriter 修正页面URL</a>
<a href="<c:url value="/home.action" />">URLRewriter 修正页面URL</a>
<s:a value="/home.action">urlRewriter</s:a>
4最后正则就不多说了.
上一篇: java基础第2小节--流程控制
下一篇: Java位运算小节
推荐阅读
-
java8中使用java.util.Base64报“java.lang.IllegalArgumentException: Illegal base64 character d”
-
如何使用java制作假数据接口
-
如何使用java写Student类的功能
-
【Effective Java】条39:必要时使用保护性拷贝
-
学以致用——Java源码——使用多态输出平面及立体几何图形的面积和体积(Project: Shape Hierarchy)
-
Java 集合框架之List 的使用(附小游戏练习)
-
java使用字符画一个海绵宝宝
-
java-使用war将spring-boot和angular 7应用程序部署到tomcat 8.5中
-
java下OCR的实现[j4l简单使用]
-
java学习+JDK下载安装环境配置+IDEA安装下载简单使用