公司有时候要写一些小的项目,而用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. 微信小程序setData的使用,通过[...]进行动态key赋值

    首先先介绍一下微信小程序Page.prototype.setData(Object data, Function callback)的讲解: setData函数用于将数据从逻辑层发送到视图层(异步), ...

  2. composer查看安装情况

    composer install --no-progress --profile -vvv

  3. SeasLog的日志

    https://github.com/Neeke/SeasLog/blob/master/README_zh.md 中文文档地址, 这是一个很好用的记录日志扩展,可以用于项目之中

  4. Poj 3694 Network (连通图缩点+LCA+并查集)

    题目链接: Poj 3694 Network 题目描述: 给出一个无向连通图,加入一系列边指定的后,问还剩下多少个桥? 解题思路: 先求出图的双连通分支,然后缩点重新建图,加入一个指定的边后,求出这条 ...

  5. Python基础语法(转)

    作者:Peter 出处:http://www.cnblogs.com/Peter-Zhang/   Python 基础语法(一) Python的特点 1. 简单 Python是一种代表简单思想的语言. ...

  6. JPEG图像压缩出现资源不足问题的解决

    1,问题的提出 公司开发了一个图像压缩上传程序.采用Delphi语言实现.大致步骤如下: 1,上传前将文件打开装载到TJpegImage, 2,创建一个TBitmap组件,设置其大小,采用Stretc ...

  7. C# 调用带有输出参数的分页存储过程

    一.创建带有输出参数的分页存储过程 use StudentMISDB go select * from Course alter table Course go --update Course set ...

  8. Expectation-Maximization(EM) 算法

    Expectation-Maximization 算法是统计学中用来给带隐含变量的模型做最大似然(和最大后验概率)的一种方法.EM 的应用特别广泛,经典的比如做概率密度估计用的 Gaussian Mi ...

  9. 本地调试hbase

    需求说明 如果要本地调试Hbase程序,那么可以用本地连接集群的方式 配置文件 在maven里,配置文件cluster.properties放在target/classes里 cluster.prop ...

  10. Visual Studio 2017 无法连接到Web服务器"IIS Express"

    .net core2.2 无法连接到Web服务器"IIS Express" 解决方案: 用命令提示符输入以下命令 sc config http start= auto 重启计算机, ...