java/jsp使用伪静态的好处在于,可以让用户访问系统时像访问一般的静态网页一般,地址栏不会出现很多奇怪的参数,在用户体验上会更加的出色。
构建一个伪静态框架也就是简简单单的3步:1)加入jar包、2)在web.xml文件中加上伪静态的过滤器和映射机制、3)在web.xml同目录下创建一个urlrewrite.xml文件,在文件中编写伪静态规则。那么我觉得,最重要的一步就是在urlrewrite.xml文件加下面编写合适的,优质的规则。下面看看编写规则到底需要注意哪些地方?
一个基本的规则代码片段如下:
<url>
<from>^/xxx.html</from>
<to>/xxx.jsp</to>
</url>
其中from里面的url是展现给用户的伪静态页面访问地址,而to里面的Url是伪静态url所对应的真实系统页面跳转的地址。
下面是几种常见的规则:
1,单页面规则写法:(记得不要把项目名写到里面去了!)
<rule>
<from>^/index.html</from>
<to>/index.jsp</to>
</rule>
2,带一个参的URL规则写法
把:showNews.jsp?id=参数 伪成:shownews_参数.html
<rule>
<from>^/shownews_(.[0-9]*).html</from>
<to>/showNews.jsp?id=$1</to>
</rule>
()里面是正则表达式,自己去找找这方面的知识,美元符号$1的意思是匹配第一个正则表达式
3,带两个参和多个参的URL规则写法
把showNews.jsp?id=参1&type=参2伪成news-参1-参2.html
<rule>
<from>^/news-(.[0-9]*)-(.[0-9]*).html</from>
<to>/showNews.jsp?id=$1&type=$2</to>
</rule>
注意一点:用“&”来代替”&“,多个参的url规则基本类似,依葫芦画瓢,应该能写出来!哦,还有一点,那就是jsp页面上的url的写法,href=”shownews_<%=news.getNewsID() %>.html”,如果前面加项目名的话,就再多加个”/”,JSP用urlrewrite实现伪静态就这么些步骤!
补充:
比如我们实际的访问地址是:http://yousite.com/entity.htm ?category=user&page=2.而我们想把它重写为http://yousite.com/entity/uesr/page_2.html。这样看起来比我们实际的要好看的多。我们就应该这样的写:
<rule>
<from>^/(\w+)/(\w+)/page_(\d+)\.html$</from>
<to type="forward">/$1.htm?category=$2&page=$3</to>
</rule>
简单的介绍一下常用的正规表示式:
代码
说明
.
匹配除换行符以外的任意字符
\w
匹配字母或数字或下划线或汉字
\s
匹配任意的空白符
\d
匹配数字
\b
匹配单词的开始或结束
^
匹配字符串的开始
$
匹配字符串的结束
常用的&要用 &来表示。$1,$2代表与你配置正规表达式/(\w+)/(\w+)/相对应的参数。<to type="forward">默认的是 type="forward".
另一个常用的规则就是连接外部的网站。就要用到。<to type="redirect">
<rule>
<from>^/rss/yahoo\.html$</from>
<to type="redirect"> http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/MySiteFeed
</to>
</rule>
分享到:
相关推荐
Java URLRewrite是一个非常实用的库,用于在服务器端实现URL重写,进而实现网站的伪静态化。这个技术在优化网站SEO(搜索引擎优化)和提高用户体验方面具有重要作用。在这个"java urlrewrite 实现伪静态化 demo源码...
【标题】中的“简单的伪静态”...总的来说,这个压缩包可能包含了一个基本的Java伪静态实现,主要利用UrlRewriteFilter进行URL重写,有兴趣的读者可以通过下载并分析源码,了解其具体实现细节,以应用到自己的项目中。
在这个“asp.net 伪静态源码”示例中,我们可以看到两种不同的实现方法:Java和.NET。虽然标题中只提及了.NET,但描述中提到了Java也有相应的实现。这表明该压缩包可能包含两种语言的源代码文件,分别展示了如何在...
在Java Web开发中,"伪静态 URLRewrite"是一个重要的技术概念,主要用于优化网站的URL结构,使其看起来更像静态页面,从而提升用户体验和搜索引擎优化(SEO)。`URLRewrite`是一个基于Apache开源项目Tuckey开发的...
杰奇的安装及伪静态教程主要涵盖了两个核心概念:杰奇系统的安装以及网站伪静态的配置。杰奇,通常指的是“JeeSite”,是一个基于Spring Boot的开源Java快速开发平台,旨在提高开发效率,简化项目搭建流程。对于初学...
这个压缩包文件包含了与C#学习相关的资源,以及两个关键主题:“简单的保镖”和“伪静态”。这两个概念在不同的上下文中都有其独特的重要性。 首先,让我们深入了解一下C#。C#结合了C++和Java的特性,旨在提高开发...
安卓语言是:android stdio 苹果语言是:OC 环境php5.6 sql5.5 伪静态设置thinkphp 适合用来学习 原生Java高仿抖音短视频APP双端源码,java开发,上手有难度,小白童鞋请勿瞎捣鼓。 安卓语言是:android stdio 苹果...
JFinal 是一个高效的Java Web框架,它以快速开发、代码简洁、学习容易、功能全面、轻量级且可扩展著称。在Web开发中,为了提高搜索引擎优化(SEO)和用户体验,常常会采用伪静态技术,使动态网页看起来像静态页面。...
这几天又有人在社区问我无刷新联动和asp伪静态的问题,于是我就写了这么个小程序来给对这部分有疑问的朋友。 其中这个伪静态是本人原创作品(如有思路相同的前做则纯属意外呵呵)。试想,你可以把自己的页面地址...
总的来说,这个PHP实例项目涵盖了网络爬虫技术、URL重写(伪静态)和高效缓存策略等关键知识点,对于想要提升PHP Web开发技能,特别是对爬虫和性能优化感兴趣的开发者来说,这是一个很好的学习资源。通过研究这个...
它的语法混合了C、Java和Perl的特点,易于学习,且功能强大,能够轻松地与MySQL等数据库进行交互。 2. 搜搜问问: "搜搜问问"可能是指一个问答型的社交平台,类似于百度知道或Quora,用户可以提出问题,其他用户或...
在IT行业中,构建高效、可扩展的Web服务是至关重要的,Apache和Tomcat的集群配置、伪静态处理以及负载均衡正是实现这一目标的关键技术。Apache作为广泛应用的HTTP服务器,能够处理静态内容,而Tomcat则作为Java应用...
安卓语言是:android stdio 苹果语言是:OC 环境php5.6 sql5.5 伪静态设置thinkphp 适合用来学习 安卓语言是:android stdio 苹果语言是:OC 环境php5.6 sql5.5 伪静态设置thinkphp 适合用来学习 安卓语言是:...
伪静态是将动态URL转换为静态化的URL形式,但实际请求仍然是动态处理;全静态化则是将动态内容转化为独立的HTML文件,用户访问时直接读取这些文件,不再需要服务器执行任何动态脚本。 在Freemarker中实现页面静态化...
它的语法结构类似于C和Java,易于学习,且具有丰富的内置函数库,可以轻松地与HTML代码集成。PHP可以在服务器端运行,处理来自客户端(如浏览器)的请求,并返回动态生成的HTML页面。它支持多种数据库连接,如MySQL...
标题 "urlrewrite重写URL伪静态请求路径" 涉及到的是Web开发中的一个重要概念——URL重写,这是为了优化网站的SEO(搜索引擎优化)和用户体验而进行的一种技术手段。URL重写允许我们将复杂的动态URL转换为简洁、易于...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...
- **URL重写**:在ThinkPHP中,伪静态设置是为了优化SEO,通过URL重写规则使动态URL看起来像静态页面,提高搜索引擎友好性。 6. **学习路径**: - 对于新手,建议先学习Java基础,然后深入Android和iOS开发,同时...
包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用...