`
huangzw
  • 浏览: 19146 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

appfuse中的UrlRewrite

阅读更多
appfuse中的UrlRewrite


在学习appfuse中,在项目web配置文件看见UrlRewrite,
按照字面意思是 "重写url",想必是把请求的 url地址替换另一个url地址
然后好奇在googel逛了一下,发现使用该好处竟然是:

1、满足搜索引擎的要求
某些搜索引擎不能支持动态页面的抓取,大量的信息就不能被潜在用户搜索到。用UrlRewrite技术你可以把 http://site/news.jsp?id=111 变

成 http://site/news/111.htm 这样他们就会被搜索引擎收录了。google虽然可以抓取动态页面,但是google对动态页面的评分一般低于静态

页面。所以,对大量信息发布的网站,把网站地址改变成静态的绝对是值得的。

2、隐藏技术实现,提高网站的移植性
每个页面都挂着鲜明的jsp/asp/php这种开发语言的标记,可以一眼让人看出你的网站使用什么语言做的。而且在改变网站的语言的时候,你需

要改动大量的链接。而且,一个页面修改了扩展名,他的pagerank也会随之消失,从头开始。我们可以用UrlRewrite技术隐藏我们的实现细节

,这样修改移植都很方便,而且完全不损失pagerank。

3、满足美感的要求
对于追求完美主义的网站设计师,即使是网页的地址也要看起来简洁明快。形如 http://site/news.jsp?channel=3&id=111 的网页地址,肯定

是上不了完美主义者的法眼的,用UrlRewrite技术,你可以把他变成 http://site/news/3/111.htm 。
在应用中怎样集成它呢?看看appfuse中的实现方式。
首先在web.xml中配置一个过滤器:
<filter>
<filter-name>rewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>commons</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>rewriteFilter</filter-name>
<url-pattern>/**//*</url-pattern>
<!--dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher-->
</filter-mapping>
然后在WEB-INF目录下有一个配置文件urlrewrite.xml内容如下:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.0//EN"
"http://tuckey.org/res/dtds/urlrewrite3.0.dtd">
<!-- https://urlrewrite.dev.java.net/manual/3.0 -->
<urlrewrite>
<rule>
<from>^/user/(.*).html$</from>
<to type="forward">/editUser.html\?username=$1</to>
</rule>
</urlrewrite>
分享到:
评论

相关推荐

    appfuse

    通过查阅AppFuse 2.0的官方文档或者从已知的依赖列表中,你可以找到必要的库,如Spring、Hibernate等,并将它们的依赖条目添加到`pom.xml`中。每个依赖项通常包含groupId、artifactId和version,例如: ```xml ...

    appfuse学习笔记(一)安装部署

    在本文中,我们将深入了解如何安装并部署 AppFuse 项目。 **1. 预备知识** 在开始之前,确保你已经具备以下基础: - 熟悉 Java 开发环境,例如 JDK 已经正确安装。 - 理解 Maven 构建工具的基本概念和使用方法。 - ...

    AppFuse

    AppFuse旨在帮助开发者简化项目启动过程中的复杂配置工作,提供了一套标准的目录结构、构建文件以及项目类,使得开发者能够专注于业务逻辑的实现而非基础架构的搭建。它支持多种流行的开源工具和技术框架,如Ant、...

    appfuse 学习笔记

    ### Appfuse 学习笔记 #### 一、Appfuse 简介 Appfuse 是一个开源框架,旨在帮助开发者高效地构建企业级应用。通过提供一套完善的架构模板、最佳实践和技术栈组合,使得开发者能够专注于业务逻辑的实现,而不是...

    APPFUSE工具研究.doc

    配置环境变量,如JAVA_HOME、M2(指向Maven的bin目录)和M2_HOME,然后在PATH中添加Maven和Tomcat的bin目录,以便于执行命令和运行应用。 生成AppFuse项目时,可以通过执行特定的Maven命令来创建不同类型的项目,...

    APPFUSE2.0中加入FCKeditor

    2. **配置Web应用**:接着,需要在Web应用的配置文件(如web.xml)中,为FCKeditor添加URL映射,确保可以通过特定的URL访问编辑器。 3. **引入JavaScript和CSS**:在需要使用FCKeditor的JSP页面中,通过`&lt;script&gt;`...

    AppFuse2.1所需包

    Hibernate4在AppFuse中用于持久化数据,提供了强大的查询语言HQL(Hibernate Query Language)以及 Criteria API,能够方便地进行数据检索、更新和删除操作。 在"pfms_lib"这个压缩包中,我们可能会找到以下关键...

    appfuse新手上路

    - 运行`mvn appfuse:full-source`命令,可能会遇到ant 1.7.0的bug,解决方案是在`maven/conf/settings.xml`中配置本地仓库路径,如`&lt;localRepository&gt;C:\appfuse\repository&lt;/localRepository&gt;`。 **3. Eclipse...

    MAVEN 搭建APPFUSE

    在本教程中,我们将深入了解如何利用Maven这个强大的构建工具来搭建和管理AppFuse应用。 首先,我们需要理解Maven。Maven是Apache软件基金会开发的一个项目管理和综合工具,主要通过一个项目对象模型(Project ...

    appfuse1.4-architecture

    06年时的appfuse,学习SSH架构的经典入门框架。相对比较老的资料,可以欣赏一下当时的架构,向牛人致敬

    建立项目原型骨架的步骤(最新版本appfuse)appfuse2.1.0-M2

    在最新的版本2.1.0-M2中,AppFuse 提供了基本(basic)和模块化(modular)两种类型的原型,以便于开发者根据项目需求选择合适的方式来创建项目。 建立项目原型骨架的步骤如下: 1. 首先,通过Maven的archetype...

    appfuse默认的css模版

    描述中的"appfuse中使用css framework的设计方式"强调了AppFuse如何利用CSS框架来设计和组织项目的界面。CSS框架通常包含一组预定义的样式和组件,如按钮、表单、网格系统等,它们可以帮助开发者快速实现专业且一致...

    可直接使用的appfuse项目

    AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Maven、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL等(现在还有lucene的,无敌了))于一身的...

    Appfuse1.9至2.0.2

    主要是自己从网络上搜集的一些关于appfuse1.8.2-2.0.2的一些相关资料,间或有点自己试验的记录,还有点maven和quartz的东东,之前我主要是用1.8.2构建项目,感觉还不错,希望对想学习appfuse的人有些帮助.

Global site tag (gtag.js) - Google Analytics