zoukankan      html  css  js  c++  java
  • JAVA使用urlrewrite实现伪静态化

    什么是伪静态?

    • 伪静态字面理解就是假的静态,说的官方点就是“地址重写,用户得到的全部地址都是经过处理后的URL地址”。

    为什么要伪静态呢?

    • 提高安全性,可以有效的避免一些参数名、ID等完全暴露在用户面前,如果用户随便乱输的话,不符合规则的话直接会返回个404或错误页面,这比直接返回500或一大堆服务器错误信息要好的多
    • 美化URL,去除了那些比如*.do之类的后缀名、长长的参数串等,可以自己组织精简更能反映访问模块内容的URL
    • 更有利于搜索引擎的收入,通过对URL的一些优化,可以使搜索引擎更好的识别与收录网站的信息

    应用场景是什么?

    • 最直接的就是SEO优化(上面“为什么要伪静态呢?”已提到)

    伪静态案例

    • 这是我之前参加的一个项目中使用到的伪静态技术。

    图片描述
    图片描述

    怎么用?

    • 准备工作

    • 正式操作

      • 把 urlrewritefilter-x.jar 放入项目,可以直接放到 WEB-INF/lib 下,如果使用的maven,可以copy以下代码:
        <!-- 伪静态url --><dependency><groupId>org.tuckey</groupId><artifactId>urlrewritefilter</artifactId><version>4.0.4</version></dependency>
    • 配置web.xml:其实urlrewrite其实就是个过虑器,它将会过虑用户的所有请求,符合规则的便对其进行重定向,具体的配置参数的使用方法见官方文档http://www.tuckey.org/urlrewrite/
    <!--伪静态url重写--><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>
    • 把urlrewrite.xml 放到 WEB-INF根目录下
      图片描述
    • 最后配置urlrewrite.xml:主要放置一些过滤规则
      图片描述

    以上配置全部完成,下面看一下页面中如何使用:

    • 其实页面中的地址按照你在urlrewrite中配置的规则书写即可
      列表项
    • 效果图片描述

    最后在网上摘录了一段关于伪静态技术的弊端的表述:
    伪静态的坏处

      有人测试过,"如果流量稍大一些使用伪静态就出现CPU使用超负荷,我的同时在线300多人就挂了,而不使用伪静态的时候同时在线超500人都不挂,我的ISS数是1000"。
      我们不用怀疑这个说法的真实性,其实由于伪静态是用正则判断而不是真实地址,判断到底显示哪个页面的艰巨工作需要CPU的计算来完成,因此需要消耗更多的内存来处理,同时CPU会持续上升,这正是伪静态最大的弊病。
      正是由于这个原因,所以网站在采用伪静时需要站长斟酌三分,谨慎考虑清楚。

    没有验证过,不知道是否是正确,希望各位有兴趣的可以深入研究一下。

    最后的最后,附上一些资料:
    urlrewrite.xml配置详情介绍
    正则表达式的应用
    查看一个网页是真静态还是伪静态

  • 相关阅读:
    129. Sum Root to Leaf Numbers
    113. Path Sum II
    114. Flatten Binary Tree to Linked List
    112. Path Sum
    100. Same Tree
    300. Longest Increasing Subsequence
    72. Edit Distance
    自定义js标签库
    JS 实现Table相同行的单元格自动合并示例代码
    mysql 高版本only_full_group_by 错误
  • 原文地址:https://www.cnblogs.com/cat520/p/9579134.html
Copyright © 2011-2022 走看看