`
锅巴49
  • 浏览: 163588 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2中url静态化跳转

阅读更多

URL的静态化对SEO是非常友好的。有很多网站40%左右的流量都是来源于搜索引擎,特别是新网站。

 

动态URL:/common/detail.html?id=268789

静态URL:/common/detail-268789

 

一种方法:可以在apache或nginx中做配置。

 

二种方法:可以在sturts中处理

 

1、下载urlrewritefilter-3.1.0.zip,附件中有。

2、解压后,将urlrewrite-3.1.0.jar放入 WEB-INF/lib,将urlrewrite.xml放入WEB-INF/

3、在web.xml中加入

<filter>
  <filter-name>UrlRewriteFilter</filter-name>
  <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
  <init-param>
   <param-name>logLevel</param-name>
   <param-value>WARN</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>UrlRewriteFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 <filter>
  <filter-name>struts2</filter-name>
  <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
 </filter>
 <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>*.html</url-pattern>
        <dispatcher>REQUEST</dispatcher> 
        <dispatcher>FORWARD</dispatcher> 
 </filter-mapping>

 

urlRewrite的filter要在struts之上

 

4、urlrewrite.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.1//EN"
        "http://tuckey.org/res/dtds/urlrewrite3.1.dtd">

<!--

    Configuration file for UrlRewriteFilter
    http://tuckey.org/urlrewrite/

-->
<urlrewrite>
	
	 <rule>
        <note>
            The rule means that requests to /test/status/ will be redirected to /rewrite-status
            the url will be rewritten.
        </note>
        <from>/common/detail\-([0-9]+)$</from>
        <to>%{context-path}/common/detail.html?id=$1</to>
    </rule>
</urlrewrite>

 

 

from是接到的请求url,to是解晰后的动态url。都是正则,原文件中有详细的使用介绍。

 

这时可以访问/common/detail-268789试试效果

 

0
7
分享到:
评论
2 楼 锅巴49 2011-03-09  
一般在apache或nginx配置
1 楼 aijezdm915 2011-03-08  
你好,请问一下,如果一个网站中有N个URL是否都需要一一配置了!

相关推荐

    struts2 跳转至404 页面的解决方案

    在使用Struts2的过程中,可能会遇到一个常见的问题,即应用试图跳转到一个不存在的页面,导致用户看到404错误。404错误通常表示服务器无法找到请求的资源,这可能是由于URL配置错误、控制器映射问题或者资源实际不...

    struts2 路径问题

    1. **Action配置**:在Struts2中,Action是业务逻辑的核心组件。每个Action通常对应一个特定的URL,这在struts.xml配置文件中定义。例如,`&lt;action name="myAction" class="com.example.MyAction"&gt;` 将URL `/...

    struts2+spring3+hibernate4+urlrewrite

    本框架为struts2+spring3+hibernate4+urlrewrite(伪静态地址) Struts采用通配,web-inf下的urlrewrite.xml为伪静态配置文件,跳转到struts.xml进行对应

    Struts2注解开发jar

    本知识点将详细介绍Struts2中的注解开发及其核心组件。 标题提到的"Struts2注解开发jar"主要指的是`struts2-convention-plugin`,这是一个Struts2的插件,它的主要作用是支持基于约定优于配置(Convention over ...

    黑马Struts2视频(day2)

    - 在Struts2中,Action类是处理用户请求的中心。它包含了业务逻辑,当用户发送请求时,Struts2会根据配置找到相应的Action执行。 - 结果映射(Result Maps)定义了Action执行后的跳转路径,可以是JSP页面、其他...

    Struts2Demo

    在`struts.xml`配置文件中,我们定义了Action类与URL的映射,以及Action执行后的跳转结果,这些结果可以是JSP页面、其他Action或静态资源。 3. **登录功能实现**:在Struts2Demo中,登录功能通常包含两个部分:登录...

    struts2详细学习笔记

    2. **Package**:包是Struts2中的一个关键概念,用于组织相关的Action和结果(Result)。包可以继承其他包,从而实现配置的复用和分层。`package`标签的属性包括name、extends、namespace等,其中,namespace用于...

    struts2重定向实例源码

    在Struts2中,Action的执行结果可以被导向到不同的视图,这其中包括了"redirect"和"redirectAction"两种重定向结果类型。这两种结果类型在实际应用中有着重要的作用,特别是对于处理URL重写、防止重复提交等问题。 ...

    struts2项目

    2. **Action类**:在Struts2中,Action类是处理用户请求的核心,它是业务逻辑的载体。每个Action类对应一个URL,处理特定的用户请求,并通过返回结果(Result)来决定跳转到哪个页面。 3. **配置文件**:Struts2的...

    struts2 实例源代码 +jsp页面

    在Struts2中,JSP常用于展示用户界面和处理Struts2框架转发过来的请求。 `src`目录则包含了应用的源代码,主要包括Java类和配置文件。在Struts2中,主要有以下几个关键部分: 1. **Action类**:这是业务逻辑的核心...

    struts2_OGNL Demo

    在Struts2应用中,通常会有一个`struts.xml`配置文件,它定义了Action类与请求URL的映射,以及结果页面的跳转规则。在这个Demo中,你可能会找到一个或多个Action类的实现,它们处理用户请求并返回结果。 `src`目录...

    一个超级简单的struts2结构

    4. **视图层**:在Struts2中,视图通常是JSP页面。JSP页面负责展示数据,它们通过OGNL(Object-Graph Navigation Language)表达式来获取Action中的属性值。 5. **拦截器(Interceptors)**:拦截器是Struts2的一大...

    struts2 (手机化话务通系统)

    通过这个“手机化话务通系统”,开发者可以深入理解Struts2的运行机制和实际应用,同时掌握Web开发中的MVC模式、拦截器机制以及手机化的实现策略。这是一个良好的学习和实践平台,有助于提升Java Web开发技能。

    Struts2学习资源Result part1.rar

    在Struts2中,Result主要负责将处理后的数据传递给相应的视图,如JSP、HTML或者其他的静态资源。Result类型是通过配置在Action类的execute方法返回值或者struts.xml配置文件中定义的。默认情况下,如果未明确指定...

    struts2权威指南

    OGNL(Object-Graph Navigation Language)是Struts2中的默认表达式语言,用于在Action与JSP视图之间传递数据。 视图层,Struts2支持多种视图技术,如JSP、FreeMarker、Velocity等,开发者可以根据需求选择合适的...

    Struts2-HelloWorld

    5. 定义结果:在struts.xml中配置Action执行后的跳转结果,可以是另一个Action,也可以是静态资源或JSP页面。 6. 测试:通过浏览器访问配置好的URL,查看输出结果。 在实际项目中,Struts2不仅能够处理简单的...

    struts2数据库常用操作

    在Struts2中实现数据库操作是常见的需求,包括查询、添加、修改和删除数据。以下将详细讲解如何在Struts2中进行这些基本操作。 1. **连接数据库** 在Struts2中,通常我们会创建一个数据库连接类,如`DBcon`,它...

    Struts2学习文档

    Struts2的结果类型定义了Action执行后应跳转的目标,它可以是另一个Action、一个静态资源、一个JSP页面,甚至是重定向到外部URL。通过结果类型,开发者可以灵活控制请求的流向。 总的来说,Struts2提供了全面的工具...

    struts2+MySQL+jfreechart生成带热点

    在Struts2中,我们可以将生成的Chart对象转换为图片(如JPEG或PNG),然后将其作为响应的一部分发送给浏览器。这通常通过ChartUtilities类的静态方法实现,如`ChartUtilities.writeChartAsJPEG()`或`ChartUtilities....

    struts2基础教程

    **插件和扩展性**:Struts 2 提供了许多内置插件,如Freemarker和Velocity模板引擎支持,JSON和Ajax处理,以及国际化和本地化等。其高度的扩展性使得开发者可以根据需求轻松地添加自定义插件。 **异常处理**:...

Global site tag (gtag.js) - Google Analytics