xml文件:
<!-- UrlRewrite start -->
<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 end -->
<servlet>
<servlet-name>NewsServlet2</servlet-name>
<servlet-class>fkw.bll.news.NewsServlet2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>NewsServlet2</servlet-name>
<url-pattern>/servlet/NewsServlet2</url-pattern>
</servlet-mapping>
urlrewrite.xml文件:
<?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>
<!-- 将/front/news/index.jsp映射为/news/index.html -->
<rule>
<from>/news/index.html</from>
<to type="forward">/front/news/index.jsp</to>
</rule>
<!-- 将servlet/NewsServlet2?action=listNews伪装成news/listNews.html -->
<rule>
<from>news/listNews.html</from>
<to type="forward">servlet/NewsServlet2?action=listNews</to>
</rule>
<!-- 讲servlet/NewsServlet2?action=getNews伪装成news/showNews.html -->
<rule>
<from>news/showNews_([0-9]+).html$</from>
<to type="forward">
servlet/NewsServlet2?action=getNews&newsid=$1
</to>
</rule>
</urlrewrite>
工程目录结构:
Servlet:
package fkw.bll.news;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import fkw.iface.INews;
import fkw.impl.ImplFactory;
import fkw.impl.news.NewsImpl;
import fkw.model.news.NewsBean;
/**
* UrlRewrite test
*
* @author saebalee
*
*/
public class NewsServlet2 extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 2934173725340619559L;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String action = request.getParameter("action");
System.out.println("新闻访问的action是:" + action);
String forward = null;
if ("listNews".equals(action)) {
forward = ListNews(request, response);
} else if ("getNews".equals(action)) {
forward = GetNews(request, response);
}
request.getRequestDispatcher(forward).forward(request, response);
}
/**
* 新闻列表
*
* @param request
* @param response
* @return
*/
private String ListNews(HttpServletRequest request,
HttpServletResponse response) {
String url = null;
try {
INews newsImpl = (INews) ImplFactory.getInstance(NewsImpl.class
.getName());
List<NewsBean> newss = newsImpl.listNews();
request.setAttribute("newss", newss);
url = "../front/news/newslist.jsp";
} catch (Exception e) {
e.printStackTrace();
}
return url;
}
/**
* 获取新闻
*
* @param request
* @param response
* @return
*/
private String GetNews(HttpServletRequest request,
HttpServletResponse response) {
String url = null;
int newsid = Integer.parseInt(request.getParameter("newsid"));
System.out.println("新闻id是:" + newsid);
try {
INews newsImpl = (INews) ImplFactory.getInstance(NewsImpl.class
.getName());
NewsBean news = newsImpl.getNews(newsid);
List<NewsBean> newss = newsImpl.listNews();
request.setAttribute("news", news);
request.setAttribute("newss", newss);
url = "../front/news/showNews.jsp";
} catch (Exception e) {
e.printStackTrace();
}
return url;
}
}
index.jsp:
只有一个超链接
<a href="../news/listNews.html">查看新闻列表</a>
newslist.jsp:
<body topmargin="0">
<table id="newslist" cellpadding="7" cellspacing="3" border="0" align="center" width="70%" bordercolor="#FF6600">
<tr>
<td colspan="2"><a href="index.html">首页</a> >> 新闻列表</td>
</tr>
<tr>
<td class="title" colspan="2">新闻列表</td>
</tr>
<c:forEach items="${newss}" var="news">
<tr>
<td width="70%" align="left"><a href="../news/showNews_${news.newsid }.html">${news.title }</a></td>
<td width="30%" align="right">发布时间:${news.addtime }</td>
</tr>
</c:forEach>
</table>
</body>
showNews.jsp:
<body topmargin="0">
<div id="con">
<table cellpadding="7" cellspacing="3" border="0" align="center" width="100%" bordercolor="#FF6600">
<tr>
<td><a href="index.html">首页</a> >> <a href="listNews.html">新闻列表</a> >> ${news.title }</td>
</tr>
<tr>
<th class="title">${news.title }</th>
</tr>
<tr>
<td align="right">来源网址:${news.author } 发表时间:${news.addtime }</td>
</tr>
<tr>
<td bgcolor="#E8F2FE" class="content">${news.intro }</td>
</tr>
<tr>
<td class="content">${news.content }</td>
</tr>
</table>
</div>
<div id="listnew">
<span style="float: right;height: 30px; width: 100%;position: relative; margin-left: 50px;">新闻列表</span>
<c:forEach items="${newss }" var="neww">
<li><a href="../news/showNews_${neww.newsid }.html">${neww.title }</a></li>
</c:forEach>
</div>
</body>
效果图:
第一张:这个是列出了全部的新闻标题,如果没有UrlRewrite的话,地址栏实际显示的应该是
http://localhost:8080/fkw/servlet/NewsServlet2?action=listNews
而经过UrlRewrite,目前如下显示
下面每一条新闻标题的超链接都是:http://localhost:8080/fkw/news/showNews_newid.html
newsid为每一条新闻的id
第二张图:
这张是对某一条新闻的具体显示
实际访问的地址其实是:
http://localhost:8080/fkw/servlet/NewsServlet2?action=getNews&newsid=3
现在如下显示
分享到:
- 2009-11-27 09:03
- 浏览 1183
- 评论(1)
- 论坛回复 / 浏览 (1 / 2746)
- 查看更多
相关推荐
标题“urlrewrite2伪静态与使用文档(IIS)”涉及到的是在IIS(Internet Information Services)服务器环境中,使用urlrewrite2模块实现URL重写和伪静态功能的技术内容。URL重写是Web开发中的一项关键技术,它允许...
《URLRewrite:掌握网页地址重写的关键技术》 URLRewrite是一款强大的URL管理工具,尤其在Java Web应用中广泛使用,它可以帮助开发者实现URL的重写和转换,以达到优化URL、隐藏真实路径、提高SEO效果等目的。在本篇...
《URL重写技术详解——基于UrlRewrite工具的实践指南》 在Web开发领域,URL重写是一项重要的技术,它能够使网站的URL更加友好、简洁,提高用户体验,同时也有利于搜索引擎优化(SEO)。本篇文章将围绕“UrlRewrite....
什么是UrlRewrite UrlRewrite 是 将动态页面转换为静态页面的一种技术 例如 您网站页面是 http: www yourdomain com news docread aspx id 123 为什么使用UrlRewrite: 1 处理这样的情形:你要更改你的web应用...
URLRewrite配置和使用 URLRewrite是一种URL重写技术,它可以满足搜索引擎的要求,隐藏技术实现,提高网站的移植性,并满足美感的要求。下面将详细介绍URLRewrite的配置和使用。 1. 满足搜索引擎的要求 搜索引擎对...
**URLRewrite 3.0.4:优雅的URL管理工具** 在Web开发中,URL的设计和管理对于网站的用户体验和搜索引擎优化(SEO)至关重要。`urlrewrite`是一款优秀的Java库,专门用于处理URL重写,它使得动态网站能够展现静态化...
1. **安装**:下载并安装IIS URL重写2的扩展,通常是`IIS Urlrewrite2.exe`文件,通过IIS Manager进行安装。 2. **添加规则**:在IIS Manager中选择目标站点,然后在“管理服务”下找到“URL重写”,点击“添加规则...
UrlRewrite是一个强大的URL管理工具,常用于ASP.NET应用程序中,它允许开发者通过自定义规则对网站的URL进行重写和转换。这个技术的核心在于提供更友好的、搜索引擎优化(SEO)的URL,同时也可以帮助解决网站迁移或...
《URL重写技术详解——基于Java的URLrewrite实践》 在Web开发中,URL重写(URL Rewrite)是一项重要的技术,它允许我们以更友好、更可读的方式隐藏实际的URL路径,从而提升用户体验和搜索引擎优化(SEO)。本文将...
IIS URL Rewrite模块是Microsoft为Internet Information Services (IIS) web服务器开发的一个功能强大的URL处理工具。这个模块允许管理员和开发者通过自定义规则来重写和管理网站的URL,从而提高网站的SEO优化、实现...
在网上找了很多都不合心意,就知道改了下源码,只改了org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.class 文件,如果担心安全的朋友,可以下载 4.0.3的jar 替换UrlRewriteFilter.class即可。 confPath 默认 ...
UrlRewrite一般都是在web.config里配置访问规则在路由到实际页面,所以先实现自定义节点信息读取,这里我定义了俩个类 webconfig定义了组,不需要的话可以把UrlRewriteConfigGroup类去掉并修改配置节点,在...
《深入理解URLRewrite.dll:实现网站优化与伪静态技术》 在Web开发领域,URL重写技术扮演着至关重要的角色,它可以帮助我们优化网站结构,提升用户体验,并对搜索引擎友好。其中,`URLRewrite.dll`是IIS(Internet ...
**URLRewrite组件详解** URLRewrite是一款广泛应用于ASP.NET应用程序中的URL重写工具,它允许开发者通过修改HTTP请求的URL来实现各种功能,如优化SEO(搜索引擎优化)、隐藏内部结构、提供友好的URL以及实现负载...
《深入理解URLRewrite:Java路径重写技术详解》 在Web开发中,URL重写是一种常见的技术,它能够帮助我们优化网站的URL结构,提高搜索引擎优化(SEO),以及实现更加友好的用户界面。本文将重点讲解Java环境下的URL...
urlrewrite 只支持单个配置文件,默认的配置文件为:/WEB-INF/urlrewrite.xml 现在对urlrewrite-3.2的源码进行了修改,使它能够支持多文件和通配符的形式加载自定义配置文件,即可以进行如下的配置: <param-name>...
UrlRewrite.dll是微软IIS(Internet Information Services)服务器中的一个关键组件,主要负责URL重写功能。在网站开发和管理中,它扮演着至关重要的角色,尤其在优化搜索引擎优化(SEO)、实现友好的URL结构以及...
### URLRewrite使用帮助文档 #### 一、URLRewriteFilter简介 URLRewriteFilter是一个功能强大的Web过滤器,主要用于实现URL的改写操作。它能够帮助开发者将动态URL转换成静态URL,这对于提高用户体验、优化SEO...
### URL重写(UrlRewrite)技术详解 #### 一、引言 URL重写(UrlRewrite)是一种网络服务器功能,它允许开发者通过规则来转换客户端请求的URL,从而达到美化URL、增加安全性以及提高搜索引擎优化(SEO)的效果。在...
UrlRewrite是一个强大的URL重写工具,常用于Java Web应用中,尤其是与Struts2框架结合使用时,能够帮助开发者优化URL结构,提高网站的SEO友好性和用户体验。在这个"UrlRewrite例子"中,我们将深入探讨UrlRewrite的...