轻文章-使用URL Rewrite实现网站伪静态

news/2024/5/9 16:07:07/文章来源:https://blog.csdn.net/zsx0728/article/details/110110493

文章目录

        • 基础介绍
        • 案例代码
          • urlrewrite.xml
          • userinf.jsp
          • 验证结果
        • 注意事项
        • 参考文档

案例来源:《轻量级Java EE企业应用实战(第4版)-Struts2+Spring4+Hibernate整合开发》,李刚编著

基础介绍

    伪静态的作用:将*.jsp、*.php这种动态URL伪装成静态的HTML页面,便于搜索引擎收录。
    实现思路:对于Java Web应用,可以通过Filter拦截所有发向*.html的请求,然后按某种规则将请求转发到实际的.jsp页面。本文使用UrlRewriteFilter模块实现伪静态功能,它是一个非常强大的工具,类似于Apache的mod_rewrite模块。
    简单的说,整个过程分为3步:
    1.将urlrewritefilter-4.0.3.jar放到WEB-INF/lib下,附jar包下载地址;
    2.WEB-INF/web.xml添加如下配置,启用URL Rewrite模块:

<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>

    3.在WEB-INF目录下添加urlrewrite.xml文件,该文件用于自定义伪静态映射规则。

案例代码

环境:

  • 操作系统centos 8
  • openjdk version “1.8.0_272”
  • apache-tomcat-8.5.59

    在本例中,.html的请求会被URL Rewrite过滤,如果命中urlrewrite.xml设定的规则,会跳转到userinf.jsp页面,同时向该页面传递相关参数。userinf.jsp模拟了一个显示用户信息的页面。

urlrewrite.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN""http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite><rule><!-- 所有配置如下正则表达式的请求 --><from>^/userinf-(\w*).html$</from><!-- 将被forward到如下jsp页面,其中$1代表上面第一个正则表达式所匹配的字符串 --><to type="forward">/userinf.jsp?username=$1</to></rule><rule><from>/1.html</from><to type="forward">/userinf.jsp?username=zsx0728</to></rule>
</urlrewrite>
userinf.jsp
<%@ page contentType="text/html; charset=utf-8" language="java" errorPage="" %>
<%
//获取请求参数
String user = request.getParameter("username");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><%=user%>的个人信息</title>
</head>
<body>
<%
//此处应该通过数据库读取该用户对应的信息
//此处只是模拟,因此简单输出:
out.println("现在时间是:" + new java.util.Date() + "<br/>");
out.println("用户名:" + user);
%>
</body>
</html>
验证结果

    访问userinf-*.html,命中规则0,跳转到JSP页面,并将参数hehe传递至JSP页面。
在这里插入图片描述

    访问1.html,命中规则1,跳转到JSP页面,并将参数zsx0728传递至JSP页面。
在这里插入图片描述

注意事项

    1.注意各个文件和jar包的位置
在这里插入图片描述
    2.启动tomcat之后可以在本地浏览器输入http://localhost:8080/urlwrite/rewrite-status 查询转发状态。
在这里插入图片描述

参考文档

[1]李刚.轻量级Java EE企业应用实战(第4版)-Struts2+Spring4+Hibernate整合开发[M].电子工业出版社:北京,2014:136.
[2]Paul Tuckey.UrlRewriteFilter[EB/OL].http://www.tuckey.org/urlrewrite/,2020-01-01.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_776096.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云服务器Linux主机搭建网站环境

首先准备好连接linux服务器的工具&#xff0c;推荐用xshell和xftp。 xshell 是一个强大的安全终端模拟软件&#xff0c;它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。 下载地址&#xff1a;http://www.newhua.com/soft/36383.htmXftp 是一个基于 MS windows 平…

linux 画直线 c程序,绘制直线 - Ubuntu+OpenGL程序设计_Linux编程_Linux公社-Linux系统门户网站...

这次主要学习的是关于在opengl中绘制直线&#xff0c;也比较简单现上图吧这图乍一看上去是不是像是一条条弯曲的直线&#xff1f;&#xff1f;&#xff1f;我开始就把他看成这样了&#xff0c;不过这是个视觉问题&#xff0c;仔细看过起&#xff0c;其实还是一个同心的直线&…

如何得到一个网站的后台地址

一、猜测常见的网站后台 1、http://你的网址/login.asp 2、http://你的网址/admin/login.asp 3、http://你的网址/admin/ /admini/ 二、查看该网站的robots.txt 如&#xff1a;网站为&#xff1a;http://www.mmfi.net/ 在后面添加&#xff1a;robots.txt 得到&#xff1a; …

Eclipse添加J2EE开发功能(网站开发)

添加J2EE 其实很简单啦&#xff1a; 1、打开Eclipse&#xff0c;点击Help 2、选择Install New Software 3、在work with中输入网址&#xff1a;http://download.eclipse.org/releases/ 在下面出现的选项选择自己的Eclipse版本 4、在下面框框中选择“Web,XML,Java EE and OSG…

手机沙盒隔离软件_手机怎么安全无病毒的访问风险网站和APP

很多小伙伴&#xff0c;总会在夜深人静的时候不由自主的打开浏览器&#xff0c;登上一些不可描述的网站&#xff0c;不经意访问一些风险网站&#xff0c;或者在不知情的情况下下载了一些流氓APP。经常会有一些可恶的木马、病毒也会在这些网站和APP上&#xff0c;它们防不胜防&a…

网站页面左右_网站SEO优化基础入门与教程

掌握SEO基础知识&#xff0c;是我们进行简单的网站建设必备条件之一&#xff0c;没有子弹&#xff0c;如何打鸟呢?今天小编将给各位分享一下关于网站seo优化的基础知识与seo教程&#xff0c;希望新手SEO们认真看完以下内容&#xff0c;相信会给你带来帮助。一、SEO入门基础&am…

php和seo有关系吗_php seo 优化之文章的字数和SEO的关系

文章内容字数与seo的有关系的&#xff0c;下面就来和小编一起了解一下文章字数与SEO的联系&#xff0c;一起来了解一下吧。一篇文章多少字数更有利于收录&#xff0c;有利于网站的优化&#xff0c;从大的方面来讲&#xff0c;有几个共识的点。1、第一考虑用户的需求是什么&…

php同学录网站设计_php校友录网站设计

校友录系统站我们使用 PHP开发工具&#xff0c;利用其提供的各种面向对象的开发工具&#xff0c;尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象&#xff0c;首先在短时间内建立系统应用原型&#xff0c;然后&#xff0c;对初始原型系统进行需求迭代&#xff0c;不断修…

一些网站

考试资源 考试163&#xff1a;www.test163.com大量的资格认证考试试题&#xff0c;计算机&#xff0c;英语视听材料 IT认证考试资源网&#xff1a;www.itexamprep.com大量IT认证考试题库 中国大学生网&#xff1a;www.chinadaxuesheng.com题库模拟题以及论文 中国考试网&am…

软件测试大型网站如何进行压力测试及性能调优优化方案

性能测试在大型网站系统的设计和开发中非常重要&#xff0c;通常会和容量预估等工作结合在一起&#xff0c;穿插在系统开发的不同方案。性能测试可以帮助我们及时发现系统的性能短板&#xff0c;评估系统的能 性能测试在大型网站系统的设计和开发中非常重要&#xff0c;通常会…

经典网页设计:20个美味的餐馆和食品网站

餐馆和食品网站设计目标是吸引更多的人到他们的店中消费或者购买他们的食品&#xff0c;这类网站通常都会搭配美味的食物图片&#xff0c;吊人胃口。有的网站也会应用视差滚动特效和大背景布局设计来吸引消费者。下面分享的这20个精心设计的餐馆和食品网站案例看起来就让人充满…

SEO知识结构

引一张图片待续转载于:https://www.cnblogs.com/mackxu/archive/2012/10/30/2746211.html

【Python自动化测试网站推荐】免费资源网址,帮你找到所有想要的资源!!

软件测试学习思维导图/工具软件汇总 今天来讲一个小伙伴经常问的一个问题——如何高效的去自学Python ​ 我们今天就来讲一讲&#xff0c;我们作为一个基础不好或者刚刚入行软件测试的新手&#xff0c;如何利用宝贵的时间高效自学Python。 今天从三个方面进行讲解。 PARTO1.为…

jquery 访问手机摄像头_手机网站开发选择zepto还是jquery mobile?

移动端网站现在已经不是什么新鲜的话题&#xff0c;毕竟如果哪个企业没做手机网站就意味着跟移动互联脱节。很多开发者用jquery mobile或者zepto进行移动构建&#xff0c;那么我们选择哪一个框架进行开发呢&#xff1f;jquery mobile和zepto哪个更适合移动网站开发&#xff1f;…

查询ecshop网站代码排查方法_一次线上接口超时的排查过程

1、事件还原昨天下午&#xff0c;收到一个504的告警&#xff0c;显然这是一个超时告警。当时由于手头有其他事情&#xff0c;没在意&#xff0c;就只是瞄了一眼&#xff0c;但是引起告警的方法很熟悉&#xff0c;是我写的&#xff0c;第一反应有点诧异。诧异之后&#xff0c;继…

python学习网站_超全python资料合集

阅读文本大概需要 15 分钟。今天给大家推荐一些python相关的学习资料。在信息爆炸的时代&#xff0c;获取信息的渠道尤为重要。这篇可以称得上比较全的资料集了&#xff0c;希望对大家有所帮助。Python资料汇总(来源&#xff1a; Python学习交流)包括长期必备、入门教程、练手…

linux网站运行系统下载文件,linux系统中如何打开文本文件_网站服务器运行维护,linux,打开,文本文件...

linux终端显示中文乱码_网站服务器运行维护linux终端显示中文乱码的解决方法&#xff1a;1、首先执行【yum -y groupinstall chinese-suport】命令&#xff0c;安装中文语言包&#xff1b;2、编辑配置文件&#xff0c;添加【export LANG"zh_CN.UTF-8"】&#xff1b;3…

潮流设计!15个现代风格的单页扁平化网站设计

下面是15个现代风格的单页扁平化网站设计的例子。扁平化设计&#xff08;Flat UI Web Design&#xff09;和单页网站&#xff08;Single Page Web Design&#xff09;这两个概念可以算作是去年网页设计最热门的趋势。所以设计师结合这两个概念来进行网站设计并不奇怪。看看这些…

(转载)一步步构建大型网站架构

2019独角兽企业重金招聘Python工程师标准>>> 之前我简单向大家介绍了各个知名大型网站的架构&#xff0c;亿万用户网站MySpace的成功秘密、Flickr架构、YouTube网站架构、PlentyOfFish 网站架构学习、WikiPedia技术架构学习笔记。这几个都很典型&#xff0c;我们可以…

html底部添加备案号,网站底部怎么放备案号 WordPress、CMS、discuz等常见程序添加方法...

应工信部备案要求&#xff0c;现在很多站长不知道怎么添加备案号和跳转&#xff0c;导致网站备案被退回&#xff0c;甚至网站备案被注销&#xff0c;需要重新备案&#xff0c;下面给大家讲解一下&#xff0c;常见的程序怎么添加备案号和添加跳转网站上跳转代码一般都是使用html…