`
liu_87663663
  • 浏览: 36695 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java web 伪静态化

 
阅读更多

1.示例

  http://www.onlyfun.com/goods/company.jsp?companyId=455326 ==> http://www.onlyfun.com/company/455326.html

 

2.好处

  (1)更好满足搜索引擎要求;

  (2)更美观,给用户带来更良好的体验;

  (3)安全性(页面,参数,技术)。

       urlrewrite顾名思义,就是对URL进行重写,用户得到的全部都是经过处理后的URL地址,这样做我觉得好处有三:

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

 

3.实现

  (1)第三包urlrewrite;(2)Apache HTTP Server 2.x配制mod_proxy,Rewrite;(3)struts、springMVC reset风格等。

 

4.urlrewrite示例

  (1)下载2.6或3.X版jar包导至项目。下载地址:http://www.tuckey.org/urlrewrite/ (以3.2为示例)。

  (2)解压下载文件,将urlrewritefilter-3.2.0\WEB-INF\lib\ urlrewrite-3.2.0.jar,导入工程。

  (3)将urlrewritefilter-3.2.0\WEB-INF\ urlrewrite.xml,加入至工程WEB-INF目录下。

  (4)web.xml添加如下代码(在urlrewrite.xml中可找到),拦截请求,对匹配的请求进行rewrite。

    <filter>
  <filter-name>UrlRewriteFilter</filter-name>
  <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
  <init-param>
  <param-name>logLevel</param-name>
  <param-value>WARN</param-value>
  </init-param>
  </filter>
  <filter-mapping>
  <filter-name>UrlRewriteFilter</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping>

  (5)urlrewrite.xml中配制需实现静态化的请求。

 

5.urlrewrite.xml配制

  (1)rule配制

    处理伪静态化地址。如

    将请求为http://www.onlyfun.com/company/455326.html转至http://www.onlyfun.com/goods/company.jsp?companyId=455326进行处理,

    地址栏中仍显示为http://www.onlyfun.com/company/455326.html,在urlrewrite.xml中配制

      <rule>
  <from>^/company/([0-9]+).html$</from>
  <to>/goods/company.jsp?companyId=$1</to>
  </rule>

    <from>通过正则表达式对请求进行匹配</from>

    <to>实际请求地址</to>

 

  (2)outbound-rule配制 

    将页面的超链接选项转化为伪静态化,如:

    http://www.onlyfun.com/goods/company.jsp?companyId=455326 转化为 http://www.onlyfun.com/company/455326.html,在urlrewrite.xml中配制 

      <outbound-rule>
  <from>^/urlrewriteDemo/goods/company.jsp\?companyId=([0-9]+)$</from>
  <to>/urlrewriteDemo/company/$1.html</to>
  </outbound-rule>

    同时页面中的超链接需经过response.encodeUrl(url)转化,或采用<C:URL>标签进行转化。如:  

    <c:url value="/goods/company.jsp?companyId=${goods.company.companyId }" var="tempUrl"></c:url>
<a href="${tempUrl }"> ${goods.company.companyName }</a>
    response.encodeURL(URL);

 

  (3)注意:转义&=>&amp;  ?=>/?等。

 

6.参考资料

  urlrewrite.xml配置http://www.tuckey.org/urlrewrite/manual/2.6/#filterparams

  正则表达式http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html

  本地查看示例http://localhost:8080/projectname/rewrite-status


7.DEMO源码地址

  http://download.csdn.net/detail/junliu0930/3881220

 

8.apache整合404找不到地址问题

  httpd.conf中配制,伪路径由tomcat进行处理。

分享到:
评论

相关推荐

    java urlrewrite 实现伪静态化 demo源码

    Java URLRewrite是一个非常实用的库,用于在服务器端实现URL重写,进而实现网站的伪静态化。这个技术在优化网站SEO(搜索引擎优化)和提高用户体验方面具有重要作用。在这个"java urlrewrite 实现伪静态化 demo源码...

    java伪静态简单实例

    Java伪静态技术是一种在Web开发中用于优化搜索引擎友好度(SEO)的技术,它使得动态URL看起来像静态的HTML页面,从而提升网站的可读性和用户体验。在这个实例中,我们将探讨如何使用`urlrewrite`框架来实现Java中的...

    jsp静态化和伪静态化

    在JSP中,实现伪静态化通常需要借助Web服务器(如Apache、Nginx)或应用服务器(如Tomcat)的URL重写模块,通过配置规则将看似静态的URL映射到实际的动态处理程序。 总的来说,静态化和伪静态化都是优化Web性能的...

    java伪静态的实现doc

    Java 伪静态技术是一种优化网站性能和SEO(搜索引擎优化)的方法,它使得动态生成的网页在用户浏览器中显示为静态的URL,从而提供更好的用户体验和搜索引擎友好性。在Java中实现伪静态主要依赖于URL重写技术。 首先...

    jsp web 实现伪静态源码

    在Web开发中,"伪静态"是一种技术手段,主要用于将动态网页的URL转换为静态页面的外观,但实际上仍然是由服务器...如果你希望了解更多关于如何在Java Web环境中实现伪静态的细节,可以进一步研究这些核心概念和技术。

    伪静态页面生成技术|静态页面|生成技术

    1. **URL重写**:通过配置Web服务器(如Apache或IIS)的规则,将动态URL转换为静态化的伪静态URL。例如,使用Apache的`.htaccess`文件或者IIS的`web.config`文件,配合Rewrite模块(如提供的Rewrite.dll)来实现URL...

    jsp伪静态,javaweb实现伪静态

    在Java Web开发中,"伪静态"是一种技术手段,它主要用来解决动态URL对搜索引擎不友好,以及提高网站性能的问题。动态URL往往包含各种参数,而静态URL则更易于理解和爬取。伪静态就是将动态页面通过技术手段转换成...

    java/jsp网站实现伪静态

    本文将深入探讨如何在Java/JSP环境中实现伪静态,以及它所带来的好处。 首先,我们需要了解动态URL和静态URL的区别。动态URL通常包含问号(?)、等号(=)和参数,这些是服务器处理请求时所需要的。而静态URL看起来...

    伪静态.txt伪静态.txt

    本节将详细介绍如何在Java Web应用中实现伪静态,主要通过配置UrlRewriteFilter来完成。 #### 1. 配置Filter 首先,在`web.xml`文件中配置UrlRewriteFilter,以便在Web应用启动时加载并执行URL重写规则: ```xml ...

    简单的伪静态,看了很多 自己做了一个简单的jsp的伪静态,和大家分享哈,其实很简单的

    在本例中,作者提到了一个基于JSP的伪静态实现,JSP(JavaServer Pages)是Java的一种动态网页技术。 【描述】中的“看了很多,和大家分享哈!”暗示了作者可能从多个来源学习了伪静态技术,并且自行实践后,觉得颇...

    java/.net伪静态简介加例子

    **Java与.NET伪静态技术详解** 在Web开发中,伪静态是一种优化技术,它通过将动态页面的URL转换为静态页面的外观,从而提高用户体验和搜索引擎优化(SEO)。这种技术通常用于那些实际上由服务器动态生成但希望表现...

    JSP+Servlet系统 使用伪静态

    "JSP+Servlet系统 使用伪静态" 这个标题表明这是一个基于Java Web技术构建的系统,特别提到了"JSP"(JavaServer Pages)和"Servlet",它们是Java语言用于开发动态网页和服务的核心组件。"伪静态"则是指将动态URL转化...

    asp.net 伪静态源码

    在这个“asp.net 伪静态源码”示例中,我们可以看到两种不同的实现方法:Java和.NET。虽然标题中只提及了.NET,但描述中提到了Java也有相应的实现。这表明该压缩包可能包含两种语言的源代码文件,分别展示了如何在...

    JSP伪静态实现

    当用户访问伪静态化的URL时,服务器内部会将其转换为真实的动态URL进行处理,然后再返回给用户。在这个过程中,用户看到的是一个静态的URL,但实际上后台执行的是动态页面的操作。 #### 三、Tuckey URL Rewrite ...

    java伪静态URL重写的方法

    总之,Java伪静态URL重写是通过URL重写库和Web应用的配置实现的,它可以使得动态网站以静态URL的形式展现,从而提高网站的可访问性和SEO效果。在实际应用中,可以根据项目需求自定义更复杂的URL重写规则。

    伪静态(url重写)

    在IT行业中,伪静态(URL重写)是一种常见的优化网站技术,主要应用于Web开发领域,尤其是对于搜索引擎优化(SEO)有着显著的积极影响。伪静态技术的目的是将动态URL转换为看似静态的URL形式,以提高用户体验并使...

    UrlRewrite实现伪静态

    - **用户友好**:静态化的URL对于用户来说更直观,易于理解,能快速知道页面内容。 - **搜索引擎优化**:搜索引擎更喜欢静态URL,因为它们认为静态URL的内容更稳定,有利于提高网页的收录和排名。 - **性能优化**...

    Apache与Tomcat集群,伪静态,负载均衡

    在Web开发中,伪静态是一种将动态URL转化为静态URL的技术,以利于搜索引擎优化(SEO)。在Apache中,可以通过Rewrite模块实现这个功能,通过编写.htaccess文件,定义重写规则,将动态URL转换为类似静态页面的格式。...

    JSP使用URLRewirte实现url地址伪静态化

    本篇文章将深入探讨如何在JSP环境中使用URLRewrite来实现URL的伪静态化。 首先,理解URL伪静态化的概念至关重要。伪静态化是将动态网页的URL转换成看似静态的URL形式,这样做的好处包括提高搜索引擎友好度、提升...

    Url Rewrite Filter实现页面伪静态化,简单实例及步骤

    在现代Web开发中,为了提升用户体验、提高搜索引擎友好度以及优化网站结构,页面伪静态化成为了一种常见的技术手段。本文将详细介绍如何通过UrlRewriteFilter来实现页面伪静态化,并提供一个简单的实例来帮助读者...

Global site tag (gtag.js) - Google Analytics