- 浏览: 90500 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
hairongtian:
我想问一下在GC中的gc roots是什么?教科书的看不懂,能 ...
JVM-GC实践总结(纠正并发线程数 转载)
urlrewritefilter 下载: http://tuckey.org/urlrewrite/#download
所用基于动态的url http://www.nihaoblog.com/content.jsp?id=1&contentid=404按照各大搜索引擎的喜好,应该美化成http://www.nihaoblog.com/content/1_404.html静态网页的方式,尽管目前的google及几大搜索引擎宣称支持动态页网的抓取,但与传统的html文件相比较抓取率仍不在一个数量级。Apche的mod_rewrite模块具有此功能,但是对于租用虚拟主机的用户来说就比较麻烦不太可能对所有运营商有更多的要求,需要条件依赖就不具通用性。
2、配置web.xml
xml 代码
- <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、配置urlwrite规则文件WEB-INF/urlrewrite.xml
xml 代码
- <rule>
- <from>/content/([0-9]+)_([0-9]+).html</from>
- <to>/content.jsp?id=$1&contentid=$2</to>
- </rule>
注意:有多个参数时,中的连接符号&应该是&
每个网页或请求都是一个url地址,一般,这个地址可能是.do,.page,.action之类的并加上'?'号、'&'号查询串等构成的一个长长的的url。很urgly。
一般的url----------------------------------------------------------较好的url
http://www.xxx.net/user/profile.do?id=20001 ====> http://www.xxx.net/user/20001
http://www.xxx.net/forum/board.do?name=java ====> http://www.xxx.net/forum/java
http://www.xxx.net/forum/thread.do?id=29923 ====> http://www.xxx.net/thread/29923
后者明显较为直观和漂亮。
使用url rewrite可以很好的改善这个状况。网站url rewrite应用是非常广泛的,良好的url设计给用户带来的非常好的体验,同时也能吸引搜索引擎的注意。
一种rewrite称为一个规则,上面的例子就是3个规则。rewrite技术可以在代理服务器实现,或者可以在tomcat之类的java web服务器实现。 Apache HTTP Server 2.x 和 mod_proxy提供了不错的Rewrite处理方法。so如果使用apache,则直接在apache中配置Rewrite即可。但是对于没有使用代理,或者不完全要在代理服务器配置Rewrite的web应用,通过第三方Jar包也是可以实现很perfect的rewrite技术的。这是本帖的着重点。
这个第三方包的地址是:http://tuckey.org/urlrewrite/ (待会再去这个网站,现在先别去)
这个包使用正则表达式仿照了apache rewrite的做法。而实现原理也是很明晰的:filter,forward,redirect机制组合:
在web.xml配置一个UrlRewriteFilter,拦截所有进来的请求,对服务要求的请求进行rewrite。比如,对http://www.xxx.net/user/([0-9]+)请求,forward到/profile.do?id=$1。这就是一条规则。在这个第三方包中的规则文件urlrewrite.xml中可以这样定义:
- <rule>
- <from>^/user/([0-9]+)/?$from>
- <to type="forward">/profile.do?id=$1to>
- rule>
对我来说,一般我会配置一个通用的rule,使所有没有包含"."的url forward到.do的action上来(本人使用strut做系统较多)
- <rule>
- <note>
- - 这是一个通用请求url rewrite
- - 将请求forword url加上“.do”的处理器上。
- - 例:
- - 请求 http://{domain}/user/login 将被forward到 http://{domain}/user/login.do
- - 请求 http://{domain}/user/login/ 将被forward到 http://{domain}/user/login.do
- - 请求 http://{domain}/user/logout/ 将被forward到 http://{domain}/user/logout.do
- note>
- <from>^/([_a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+)/?$from>
- <to type="forward">/$1.doto>
- rule>
上面只是介绍个大概,并不是urlrewriter这个jar包的使用指南。如果你觉得这种rewrite做法不错的话,不如直接访问这个网站吧 http://tuckey.org/urlrewrite/
第一步:从http://tuckey.org/urlrewrite/ 上下载urlrewrite-3.0.3.jar包,放到webapp classpath下
第二步:在web.xml配置UrlRewriteFilter:
- <filter>
- <filter-name>UrlRewriteFilterfilter-name>
- <filter-class>
- org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
- filter-class>
- <init-param>
- <param-name>logLevelparam-name>
- <param-value>WARNparam-value>
- init-param>
- filter>
- <filter-mapping>
- <filter-name>UrlRewriteFilterfilter-name>
- <url-pattern>/*url-pattern>
- filter-mapping>
第三步:在web-inf下新建urlrewrite.xml文件,简单填入以下内容:
- <!---->xml version="1.0" encoding="utf-8"?>
- "http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
- <urlrewrite>
- <rule>
- <note>
- - 这是一个通用请求url rewrite
- - 将请求forword url加上“.do”的处理器上。
- - 例:
- - 请求 http://{domain}/user/login 将被forward到 http://{domain}/user/login.do
- - 请求 http://{domain}/user/login/ 将被forward到 http://{domain}/user/login.do
- - 请求 http://{domain}/user/logout/ 将被forward到 http://{domain}/user/logout.do
- note>
- <from>^/([_a-zA-Z]+[_0-9a-zA-Z-/]*[_0-9a-zA-Z]+)/?$from>
- <to type="forward">/$1.doto>
- rule>
- urlrewrite>
第四步:启动web应用,将原来需要.do的请求改为去掉.do后请求,看看结果。
第五步:更详细的规则定义,请看http://tuckey.org/urlrewrite/manual/3.0/
转自:http://www.nihaoblog.com/1_733.html http://www.iteye.com/article/53834
发表评论
-
JVM 运行时数据区(转)
2012-07-11 23:02 1058运行时数据区 java虚拟机定义了若干种程序运行时使用 ... -
图解JVM 内存分配
2012-07-10 23:57 12211.简介 现摘录一段Java5 ... -
JVM-GC实践总结(纠正并发线程数 转载)
2012-07-10 16:27 3547首先感谢阿宝同学的帮 ... -
深入Java虚拟机:JVM中的Stack和Heap
2012-07-10 14:26 1093在JVM中,内存分为两个部分,Stack(栈)和He ... -
JVM分代垃圾回收策略的基础概念
2012-07-10 13:50 1358由于不同对象的生命周期不一样,因此在JVM的垃圾回收策略中 ... -
Java虚拟机(JVM)中的内存设置详解(转载)
2012-07-09 17:13 1135在一些规模稍大的应用 ... -
JVM原理_内存篇(转载)
2012-07-09 16:56 2160一、JVM简介 ... -
JVM参数调优的八条经验(转载)
2012-07-09 14:35 955要想配置好JVM参数,需要对年轻代、年老代、救助空间和永久代有 ... -
Tomcat负载均衡原理详解及配置(Apache2.2.19+Tomcat7.0.12)
2012-06-30 11:45 1231使用Tomcat的童鞋们注意了。为了增加tomcat的性能和稳 ... -
Tomcat和Terracotta服务器将普通的Web应用部署到集群中,实现跨Tomcat节点的session复 制
2012-06-30 11:31 1353本文介绍如何配置Tomcat和Terracotta服务器将普通 ... -
tomcat session 持久化会话
2012-06-30 11:29 1601tomcat6 中关闭服务 会自动把session持久化 ... -
Tomcat集群Session丢失解决方案
2012-06-29 01:38 4406这几天单服务器整合项目很正常,集群的时候问题就来了,配 ... -
nginx+tomcat集群+session复制
2012-06-29 01:34 1238ulimit -SHn 65535 echo " ... -
linux下的并发数量
2012-06-26 21:32 967在部署系统后,为了增加系统并发量,系统响应速度,做了一些 ... -
linux+nginx+tomcat负载均衡,实现session同步
2012-06-21 15:18 3898花了一个上午的时间研究nginx+tomcat的负载均衡测试, ... -
tomcat6_apache2.2_ajp负载均衡加集群实战 [转]
2012-04-26 16:07 935秀脱linux笔记之tomcat6_apa ... -
JVM内存最大能调多大分析-转帖
2012-02-18 12:48 1389JVM内存最大能调多大分析【经典】 上次用webl ... -
nginx for windows之负载均衡
2011-05-06 17:53 9641.编辑c:\nginx\conf\nginx.conf ... -
Tomcat6性能调优 出现java.lang.OutOfMemoryError: PermGen space
2010-08-03 13:51 1379Tomcat6在部署应用中,Server报错:java.lan ... -
APACHE 2.2.8+TOMCAT6.0.14配置负载均衡
2010-01-21 02:11 0目标: 使用 apache 和 tomcat ...
相关推荐
ASP.NET到HTML的网站静态化处理是一个常见的技术实践,它主要目的是提高网站的访问速度、SEO优化以及降低服务器负载。这个程序提供了一种自动化的方法,将动态生成的ASP.NET页面转换为静态的HTML文件,无需编写额外...
网站静态化处理是大型网站技术中的重要一环,旨在提高网站性能、降低服务器负载和提升用户体验。在描述中提到了几个关键概念,包括CSI(可能是Content Serving Infrastructure,内容分发基础设施)、web前端优化、...
页面静态化处理是一种提高网站性能和用户体验的技术,它将动态生成的网页转换为静态HTML文件,用户请求时直接返回这些预先生成的文件,而非每次都执行数据库查询和其他服务器端逻辑。这种方式降低了服务器负担,加快...
而对于有经验的开发者,这可能是一个学习网站静态化处理策略和技巧的好例子。 总结来说,易语言网站静态生成器源码提供了深入学习网站静态化和易语言编程的机会。通过对源码的分析和实践,不仅可以提升编程技能,还...
网站静态化是提升大型站点性能和可扩展性的重要策略,尤其在处理高并发访问和优化SEO(搜索引擎优化)方面有着显著优势。以下是对这个大型站点网站静态化实现方案的详细解读。 1. **静态化原理**: 静态化是将动态...
【标题】"httpclient 静态化网站 project...通过这个项目,开发者可以学习到如何利用HttpClient进行网络通信,以及如何设计和实现一个完整的网站静态化解决方案。这对于提升Web开发技能和理解网络爬虫原理非常有价值。
ASP.NET页面静态化和伪静态化是Web开发中提高网站性能和SEO优化的重要技术。页面静态化是指将原本动态生成的HTML页面转化为静态HTML文件,这样用户请求时无需执行服务器端的代码,直接从硬盘读取文件,提高了访问...
### 动态网站静态化的实现方法 随着互联网技术的发展与用户需求的变化,网站设计与开发领域不断探索新的优化方案以提升用户体验与系统性能。其中,动态网站静态化是一种被广泛采用的技术手段,尤其是在Java EE环境...
在本文中,我们将深入探讨如何实现一个简单的网页静态化过程,以"网页静态化例程 网站静态化学习的第一步"为例,结合开发环境MyEclipse和MySQL数据库。 首先,我们要理解静态化的基本概念。静态化是指将动态生成的...
在网站静态化的过程中,Freemarker扮演着关键角色。通过将动态数据注入到预定义的模板中,它能够生成HTML或其他静态格式的文件,从而极大地提高了网站的访问速度,减轻了服务器的负担。 在网站静态化时,Freemarker...
在IT行业中,静态化是一种常见的优化网站性能的技术。它涉及到将动态生成的网页转换为静态HTML文件,以便用户可以直接从服务器获取,而无需通过复杂的服务器端脚本处理。这种技术可以显著提高页面加载速度,减轻...
直接静态化是指在处理请求时,将生成的HTML内容直接保存为静态文件。当后续相同的请求到达时,服务器会直接返回这个静态文件,而不是再次执行PHP脚本。这种方法的优点在于减少了服务器的计算负担和数据库查询,提高...
ASP静态化插件是一种用于提升网站性能和SEO优化的工具,尤其在处理高访问量的ASP(Active Server Pages)网站时显得尤为重要。该插件的主要功能是将动态生成的ASP页面转换为静态的HTML页面,从而减少服务器的负担,...
网站采用前台全静态化是一种常见的优化策略,旨在提高网页加载速度、降低服务器压力以及提升用户体验。这一技术将动态网页在用户请求时预先转化为HTML静态页面,使得用户无需通过复杂的服务器端脚本处理即可直接获取...
【SpringBoot2 整合FreeMarker模板,完成页面静态化处理】 在Web开发中,页面静态化是一种提高网站性能和用户体验的技术。它涉及到将原本动态生成的页面转换为静态HTML文件,减少对服务器的依赖,加快页面加载速度...
部分页面静态化则只对经常访问或对性能要求高的页面进行静态化处理。 在CMS系统中实现页面静态化,通常包括以下步骤: 1. **内容发布**:当用户在后台编辑并发布内容时,系统会生成对应的静态HTML文件。 2. **URL...
`Rewrite`文件、IIS(Internet Information Services)静态文件配置以及PHP网站静态化文件是实现这一目标的关键技术环节。下面将详细解释这些概念及其在实际应用中的作用。 1. **Rewrite文件**: `Rewrite`文件...
在静态化过程中,URLRewrite可以将动态URL转换为伪静态格式,使得用户和搜索引擎看到的是看似静态的URL,而实际上这些请求仍被转发到动态处理程序。通过这种方式,可以提升用户体验,同时利于SEO优化。 4. **JSP+...
"帝国cms TAG静态化插件"是专门为这个系统设计的一款扩展插件,它的主要目标是实现TAG标签的静态化处理,以提升网站的加载速度和SEO优化。 在网站运营中,TAG标签是一种常用的内容组织方式,它能够将具有相似主题的...
.NET页面静态化是一种提高网站性能和搜索引擎优化(SEO)的技术,它通过将动态网页转换为HTML文件存储在服务器上,从而减少服务器处理时间并减轻数据库负载。这种技术尤其适用于那些内容相对固定、更新频率不高的...