美文网首页Java 杂谈java新手学习Java
Java UrlRewriter伪静态技术运用深入分析

Java UrlRewriter伪静态技术运用深入分析

作者: Python编程社区 | 来源:发表于2019-04-22 11:56 被阅读0次

通常我们为了更好的缓解服务器压力,和增强搜索引擎的友好面,都将文章内容生成静态页面。

但是有时为了能实时的显示一些信息,或者还想运用动态脚本解决一些问题,不能用静态的方式来展示网站内容,必须用到动态页面显示。

这样以来,就损失了对搜索引擎的友好面,怎么样在两者之间找个中间方法呢,如何增强你网站中地址的可读性和让搜索引擎快速的收录到你的站点?

这就需要你美化你的网页的地址,这就产生了伪静态技术,也就是我们常说的Url Rewriter重写技术。就是当我们访问一个页面时,地址栏中展示出来的是以“.html”为结尾的静态页面形式,而实际上我们访问的动态网页。这里就需要用到UrlRewriter技术。

大家熟悉的可能有很多服务器都提供Url重写的技术,以前我们用的最多的就是Apache,Jboss这样一些服务器自带的一些Url重写,但是他们的配置比较麻烦,性能又不是太好。现在我们有专一的开源框架来完成Url重写任务,今天我要介绍的就是UrlRewriteFilter,它使用起来比较简单。UrlRewriteFilter是一个用于改写URL的Web过滤器,类似于Apache的mod_rewrite。适用于任何Web应用服务器(如Resin,Orion,Tomcat等)。其典型应用就把动态URL静态化,便于搜索引擎爬虫抓取你的动态网页。

我们先简单的了解一下使用Url重写能给你网站带来哪些好处。

第一:有利于搜索引擎的抓取,因为现在大部分的搜索引擎对动态页面的抓取还比较弱,它们更喜欢抓取一些静态的页面。而我们现在的页面大部分的数据都是动态的显示的。这就需要我们把动态页面变成静态的页面,有利于搜索引擎的抓取。

第二:让用户更容易理解,很少有用户去关心你网站的页面的地址,但对一般的大中型网站增强可读性还是必须的。这样会让你的网站更加完美。

第三:隐藏技术的实现,我们可以通过Url重写可以实现技术的隐藏。不至于暴露你所采用的技术,给一些想攻击你网站的爱好者提供方便。

第四:可以很方便的重用,提高网站的移植性。如果我们后台方法改动的话,可以保证前台的页面部分不用改。这样就提高了网站的移植性。

它虽然有这么多的优点,但是也有一点缺点的,因为它是通过过滤器原理来实现的,就以为着又多了一道访问,会多少影响点访问速度的,这个可以忽略不计的。

现在UrlRewriter技术有两个技术平台的,一个就是在Java方向的,另一个就是.NET方向的。今天我们讲的是Java方向的应用。

首先让我们了解它的工作原理,说白了它就是一个简单的过滤器(Filter),看看源码你就会很快的明白,它就是通过我们在jsp中常用的两个方法实现的forward(),sendRedirect()。

下面我们就Url重写技术进行简单应用:

第一步:下载urlrewrite-3.2.0beta.jar包,并把urlrewrite-3.2.0beta.jar拷到classpath下。

第二步:在WEB-INF目录下建一个urlrewrite.xml配置文件。

第三步:在web.xml配置文件中初始化配置UrlRewriteFilter。在配置文件中加上下面的代码:

最后我要简单的讲一下常用的两个配置规则,以下就是简单的urlrewrite.xml配置片段。不要习惯Java的命名法把它写成urlRewrite.xml,这样即使你加上

所有的规则配置都写在这里。第一个常用个规则就是站内的简单重写。

写上你自己定义的访问地址,通常采用正则表达式的写法;

简单的介绍一下常用的正规表示式

代码说明

. 匹配除换行符以外的任意字符

\w 匹配字母或数字或下划线或汉字

\s 匹配任意的空白符

\d 匹配数字

\b 匹配单词的开始或结束

^ 匹配字符串的开始

$ 匹配字符串的结束

常用的&要用 &来表示。$1,$2代表与你配置正规表达式>/(\w+)/(\w+)/相对应的参数。默认的是 type="forward"。

另一个常用的规则就是连接外部的网站。就要用到。

我做开发十多年的时间,如果大家对于学习java的学习方法,学习路线以及你不知道自己应该是自学还是培训的疑问,都可以随时来问我,大家可以加我的java交流学习qun:615741636。qun内有学习教程以及开发工具。

相关文章

  • Java UrlRewriter伪静态技术运用深入分析

    通常我们为了更好的缓解服务器压力,和增强搜索引擎的友好面,都将文章内容生成静态页面。 但是有时为了能实时的显示一些...

  • 页面伪静态技术

    1、将index.php伪装成index.html 步骤 1:修改httpd.conf 文件 步骤 2:新增一个虚...

  • WEB服务器

    web资源:静态、动态静态技术:html动态技术:JSP/Servlet、ASP、PHP等java中,动态web资...

  • 伪静态实现

    伪静态实现 伪静态:没有静态文件的静态化 伪静态实现【1代码实现】比如这个网页http://www..net/so...

  • 品优购学习笔记六-网页静态化技术Freemarker

    1.网页静态化技术Freemarker 1.1为什么要使用网页静态化技术 网页静态化解决方案在实际开发中运用比较多...

  • 皓优企php官网代码组织结构

    概述 皓优企php官网采用经典的MVC架构,并通过伪静态技术实现动态路由。伪静态的优点是搜索引擎能够抓取网页中的动...

  • java class文件结构

    (<深入分析Java Web技术内幕>笔记)java语言在宣传时打出的名号就是"一次编译,到处运行", 也就是支持...

  • Java Web

    ref: 深入分析Java Web技术内幕 总结:Spring事务配置 Ch 1 深入Web请求过程 CDNCon...

  • 真伪静态

    有同学问到 真静态 和 伪静态,画图说明: 1.服务端真伪静态真静态 和 伪静态 2.客户端也可以通过路由来实现伪静态

  • phpcms v9伪静态设置

    好吧,网上关于phpcms伪静态的教程很少,尤其是关于企业黄页的伪静态,还是没有搞定,但是先处理了网站的伪静态。 ...

网友评论

    本文标题:Java UrlRewriter伪静态技术运用深入分析

    本文链接:https://www.haomeiwen.com/subject/pmhygqtx.html