java web开发使用伪静态

 现在UrlRewriter技术有两个技术平台 的,一个就是在Java方向的,另一个就是.NET方向的。今天我们讲的是Java方向的应用。
首先让我们了解它的工作原理,说白了它就是一个简 单的过滤器(Filter) ,看看源码你就会很快的明白,它就是通过我们在jsp中常用的两个方法实现的forward(),sendRedirect().
下面我们就快速 的为你的网站搭建Url重写技术。
第一步:下载urlrewrite-2.6.0.现在最新版本是3.1 的。(http://tuckey.org/urlrewrite/dist/urlrewritefilter-2.6.zip
http://urlrewritefilter.googlecode.com /files/urlrewritefilter-3.1.0.zip把urlrewrite-2.6.0.jar拷到classpath下。
第 二步:在WEB-INF目录下建一个urlrewrite.xml文件。
第三步:在web.xml中初始化。加上下面的代码:
<!-- Set URL Rewrite-->
< 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>
最 后我要简单的讲一下常用的两个配置规则.以下就是简单的urlrewrite.xml配置片段。不要习惯Java的命名法把它写成 urlRewrite.xml,这样即使你加上
<init-param>
< param-name>confPath</param-name>
< param-value>/WEB-INF/urlRewrite.xml</param-value>
< /init-param>
在 启动的服务器的时候还是会报错的,因为源码中必须是全小写的(urlrewrite.xml)且只能放到WEB-INF下面。
<?xml version="1.0" encoding="utf-8"?>
< !DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 2.6//EN"
"http://tuckey.org/res/dtds/urlrewrite2.6.dtd">
< urlrewrite>
< rule>
< from>^/(/w+)/(/w+)/page_(/d+)/.html$</from>
< to type="forward">/$1.htm?category=$2&amp;page=$3</to>
< /rule>
< rule>
< from>^/rss/yahoo/.html$</from>
< to type="redirect"> http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/W3CSSiteFeed
< /to>
< /rule>
< /urlrewrite>
所 有的规则配置都写在这里。第一个常用个规则就是站内的简单重写。

<rule>
< from></from>
< to type="forward></to>
< /rule>
< from></from> 写上你自己定义的访问地址,<to type="forward></to>就是实际的访问地址。比如我们实际的访问地址是: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&amp;page=$3</to>
< /rule>
简 单的介绍一下常用的正规表示式: 

代码
说明

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

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

/s
匹配任意的空白符

/d
匹 配数字

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

^
匹配字符串的开始

$
匹 配字符串的结束

常用的&amp;要用 &amp;来表示。$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>
< !--v:3.2-->

时间: 2024-12-02 13:30:48

java web开发使用伪静态的相关文章

Tomcat与Java Web开发技术详解连载之一

web|详解 本章介绍如何在Tomcat上创建和发布Web应用.这里首先讲解Tomcat的目录结构以及Web应用的目录结构,接着介绍如何将HTML.Servlet.JSP和Tag Library部署到Web应用中,然后介绍把整个Web应用打包并发布的方法,最后介绍如何在Tomcat上配置虚拟主机. 本章侧重于讨论Web应用的结构和发布方法,所以没有对本章的Servlet和JSP的例子进行详细解释,关于Servlet和JSP的技术可以分别参考其它章节的内容. 2.1 Tomcat的目录结构 在To

Tomcat与Java Web开发技术详解连载之二

web|详解 2.2.4 部署HTML文件 在helloapp目录下加入index.htm文件,这个文件仅仅用来显示一串带链接的字符"Welcome to HelloApp", 它链接到login.jsp文件.以下是index.htm文件的代码: <html><head><title>helloapp</title></head><body ><p><font size="7"

Tomcat与Java Web开发技术详解连载之三

web|详解 2.2.8 创建并发布WAR文件 Tomcat既可以运行采用开放式目录结构的Web应用,也可以运行WAR文件.在本书配套光盘的sourcecode/chapter2/helloapp目录下提供了所有源文件,只要把整个helloapp目录拷贝到/webapps目录下,即可运行开放式目录结构的helloapp应用.在Web应用的开发阶段,为了便于调试,通常采用开放式的目录结构来发布Web应用,这样可以方便地更新或替换文件.如果开发完毕,进入产品发布阶段,应该将整个Web应用打包为WAR

用Stripes做Java Web开发

摘要:Stripes是一个以让程序员的web开发简单而高效为准则来设计的基于动作的开源Java web框架.本文将介绍Stripes与其它如Struts之类基于动作的框架的区别和其提供的一些存在于Ruby on Rails之中的简单性. Stripes是一个以让程序员的web开发简单而高效为准则来设计的基于动作的开源Java web框架.传统的Java web开发着眼于借去耦(Decoupling)来实现其灵活性,但导致多个的配置文件,额外的对象,和其他资源的分散.这些困难造成相当多的程序员的更

利用Stripes实现Java Web开发

Stripes是一个以让程序员的web开发简单而高效为准则来设计的基于动作的开源Java web框架.本文将介绍Stripes与其它如Struts之类基于动作的框架的区别和其提供的一些存在于Ruby on Rails之中的简单性. Stripes是一个以让程序员的web开发简单而高效为准则来设计的基于动作的开源Java web框架.传统的Java web开发着眼于借去耦(Decoupling)来实现其灵活性,但导致多个的配置文件,额外的对象,和其他资源的分散.这些困难造成相当多的程序员的更高的学

Java web开发中要是用jdbc连接access数据库,连接url怎么写相对位置

问题描述 Java web开发中要是用jdbc连接access数据库,连接url怎么写相对位置 Java web开发中要是用jdbc连接access数据库,连接url怎么写相对位置,注意这里是jdbc方法连接 而不是jdbc-odbc 例如access数据库就在项目中(project文件夹下) 代码为: try { // 加载jdbc - odbc驱动 Class.forName("com.hxtt.sql.access.AccessDriver"); // 根据url创建连接实例 a

java web开发怎么能够有一个按钮调网页内容字体大小呢

问题描述 java web开发怎么能够有一个按钮调网页内容字体大小呢 java web开发怎么能够有一个按钮调网页内容字体大小呢. 有些网站会有,大,中,小. 几个按钮,能够调动字体大小. 要怎样实现这样的功能呢? 解决方案 几种样式,动态改变样式即可 css样式 解决方案二: 一个按键,或者几个按键调整字体大小,肯定是没有问题的. 调整字体大小, Java 本身有类库支持,或者使用类似于:$Global.subContentByLen(${item.message}, 110) 来设置. 解决

房间锁-java web开发如何实现多个定时器同时进行,需要多线程吗?

问题描述 java web开发如何实现多个定时器同时进行,需要多线程吗? 我在做一个房间锁定的功能,有好多房间(房间属性:id,nane,status)当一个房间被锁定就产生一个定时器5分钟后自动解锁,该如何实现啊 解决方案 java的定时器类本身就是实现了Runnable接口的,也就是说,本身就是一个线程,不需要你显示的开线程操作的. 解决方案二: 直接 用quartz来做,很方便的! 解决方案三: setTimeout() 只懂原生js的路过-- 解决方案四: 用quartz吧,时间配置很方

请问java服务器端开发就是java web开发吗?

问题描述 请问java服务器端开发就是java web开发吗? 他们两者的关系是什么?有什么相同和不同之处?求大神给出清楚准确的回答 解决方案 java服务器端开发就只是指后台的开发,javaweb开发还包括前端页面的开发的,java web开发明显内容多一些. 只要设计好前台与服务器端API的接口,前端和后台是可以分开并行开发的. 解决方案二: java服务器端开发主要是指java后台代码的编写,而java web开发是泛指利用java语言进行web系统的开发,java web开发包含了jav