公司有时候要写一些小的项目,而用java搭建web的一个缺(特)陷(征)就是动态网页的后缀名.jsp。没办法啊,就是不能以.jsp结尾,原因有几个:隐藏服务端技术;吸引爬虫;对用户更友好;等等。如果全都用Servlet,那我选择狗带。

实际上,Spring MVC已经很好地解决了这个问题(不要问我怎么解决,RequestMapping注解),但由于项目很小,使用Spring简直就是为了Spring而Spring,所以还是传统的jsp+Servlet开发模式。那么,怎么解决我们的问题呢?答案很简单,重写Url。怎么重写?用Url Rewrite Filter!

官网:http://www.tuckey.org/urlrewrite/

还有一篇文章写得不错:http://blog.csdn.net/kimsoft/article/details/4194853

  1. 使用方法

    导入jar包,在web.xml里配置一个filter,在完善配置文件urlrewrite.xml。

    官方压缩包里面有下面几个文件,全部放在WEB-INF文件夹下

  2. 配置文件

    官方配置里说明的很详细,这里我分享一下我的配置。

    1. web.xml

      <welcome-file-list>

      <welcome-file>/jsp/index.jsp</welcome-file>

      </welcome-file-list>

      <error-page>

      <error-code>404</error-code>

      <location>/jsp/error.jsp</location>

      </error-page>

      <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>*.html</url-pattern>

      <url-pattern>*.jsp</url-pattern>

      </filter-mapping>

    2. urlrewrite.xml

      <rule>

      <from>/(.*).html</from>

      <to>/jsp/$1.jsp</to>

      </rule>

      <rule>

      <from>.jsp</from>

      <to>/jsp/error.jsp</to>

      </rule>

  3. 我将index.jsp和error.jsp放入/WebRoot/jsp文件夹中,上述配置实现了访问.jsp结尾的网页资源时都报404,而访问.html的网页资源时,都去访问jsp文件夹下的同名jsp文件。

如何将jsp后缀重写为html的更多相关文章

  1. 利用jspx解决jsp后缀被限制拿shell

    有些struts2的站在web.xml里面设置url是jsp的格式就自动跳转主页的action,转换jsp后缀大小写还不解析.查了查有Tomcat默认jspx可以解析.看了看jspx的手册,那就好说了 ...

  2. .html 页面修改成 .jsp 后缀后中文乱码解决办法。

    .html 后缀的文件,如果直接将 .html后缀改成 .jsp 后缀,则会乱码. 正确方法如下: 将如图的代码中 html  声明去掉,然后加上这段代码:<%@ page language=& ...

  3. tony_nginx_02_URL重写

    location正则写法 一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的 ...

  4. JAVA记录-JSP内容

    JSP(JavaServer Pages )是什么? JavaServer Pages(JSP)是一种支持动态内容开发的网页技术它可以帮助开发人员通过利用特殊的JSP标签,其中大部分以<%开始并 ...

  5. jsp的简介(2)

    JSP(JavaServer Pages )是什么? JavaServer Pages(JSP)是一种支持动态内容开发的网页技术它可以帮助开发人员通过利用特殊的JSP标签,其中大部分以<%开始并 ...

  6. Nginx中location匹配及rewrite重写

    目录 一.常用的Nginx正则表达式 二.location 2.1.location三类匹配类型 2.2.常用的匹配规则 2.3.location优先级 2.3.1.举例说明 2.4.实际网站使用中, ...

  7. Nginx中的 location 匹配和 rewrite 重写跳转

    Nginx中的location匹配和rewrite重写跳转 1.常用的Nginx正则表达式 2.location 3.rewrite 4.rewrite实例 1.常用的Nginx正则表达式: ^ :匹 ...

  8. 17.Nginx 重写(location rewrite)

    Nginx 重写(location / rewrite) 目录 Nginx 重写(location / rewrite) 常见的nginx正则表达式 location lication的分类 loca ...

  9. Nginx重写功能(rewrite与location)

    一.常用的Nginx 正则表达式 二.访问路由location 2.1location的分类 location 大致可以分为三类: 精准匹配:location = / {} 一般匹配:location ...

随机推荐

  1. [C++ STL] map使用详解

    一.set介绍: Map由红黑树实现,其元素都是"键值/实值"所形成的一个对组(key/value pairs).每个元素有一个键,是排序准则的基础.每一个键只能出现一次,不允许重 ...

  2. TCPClient、TCPListener的用法

    支持Http.Tcp和Udp的类组成了TCP/IP三层模型(请求响应层.应用协议层.传输层)的中间层-应用协议层,该层的类比位于最底层的Socket类提供了更高层次的抽象,它们封装 TCP 和 UDP ...

  3. Integer / BigInteger / BigDecimal 方法

    import java.math.BigDecimal; import java.math.*; public class Main{ public static void main(String[] ...

  4. [ CCO 2015 ] Artskjid

    \(\\\) \(Description\) \(N\)个点\(M\)条边的有向图,求从\(0\)号节点出发,\(N-1\)号节点结束,且图中每个点至多经过一次的最长路. \(N\in[2,18]\) ...

  5. 第3章 DOM

    1.节点,dom有3种节点,元素节点,文本节点,属性节点 2.元素节点是dom的原子,所有的属性节点和文本节点都被元素包含,但并不是所有的元素都包含他们 3.继承,节点树上的元素将继承父元素的样式和属 ...

  6. python __slots__ 详解(上篇)

    转自:http://blog.csdn.net/sxingming/article/details/52892640 python中的new-style class要求继承Python中的一个内建类型 ...

  7. Application crashes -程序崩溃原因

    Typical errors that result in application crashes include: attempting to read or write memory that i ...

  8. jmeter元件的作用域和顺序

    jmeter是一个开源的性能测试工具,它可以通过鼠标拖拽来随意改变元件之间的顺序以及元件的父子关系,那么随着它们的顺序和所在的域不同,它们在执行的时候,也会有很多不同. jmeter的test pla ...

  9. CAD插入图片

    在CAD设计绘图时,需要插入外部图片,可以设置图片的缩放比例.旋转角度.图片显示文件名等属性. 主要用到函数说明: _DMxDrawX::DrawImageMark 绘图制一个图象标记对象.详细说明如 ...

  10. Java基础——面向对象(封装——继承——多态 )

    对象 对象: 是类的实例(实现世界中 真 实存在的一切事物 可以称为对象) 类: 类是对象的抽象描述 步骤: 1.定义一个类 (用于 描述人:) ( * 人:有特征和行为) 2.根据类 创建对象 -- ...