`
Mr_Tank_
  • 浏览: 22556 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

JSP URL重写-urlrewrite

 
阅读更多

URL重写的目的不言而喻,首先引入urlrewrite-4.0.0.jar【或者其他版本】包,可以从官方下载。

1、web.xml【官方配置】

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<display-name></display-name>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>

	<!-- URL重写配置 -->
	<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><!-- 拦截所有URL -->
	</filter-mapping>
</web-app>

2、urlrewrite.xml

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

<!--

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

-->
<urlrewrite>
     <!--自定义匹配-->
     <rule>   
        <!--  <from>^/admin/(.*)(.*)</from>   -->
        <from>admin/([0-9]+)/(.*).shtml/(.*)</from>
        <to>/admin_login.jsp?id=$1&name=$2&keyword=$3</to>  
    </rule>  
    <!-- 官方示例-->
    <rule>
        <note>
            The rule means that requests to /test/status/ will be redirected to /rewrite-status
            the url will be rewritten.
        </note>
        <from>/test/status/</from>
        <to type="redirect">%{context-path}/rewrite-status</to>
    </rule>


    <outbound-rule>
        <note>
            The outbound-rule specifies that when response.encodeURL is called (if you are using JSTL c:url)
            the url /rewrite-status will be rewritten to /test/status/.

            The above rule and this outbound-rule means that end users should never see the
            url /rewrite-status only /test/status/ both in thier location bar and in hyperlinks
            in your pages.
        </note>
        <from>/rewrite-status</from>
        <to>/test/status/</to>
    </outbound-rule>


    <!--

    INSTALLATION

        in your web.xml add...

        <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>


     EXAMPLES

     Redirect one url
        <rule>
            <from>/some/old/page.html</from>
            <to type="redirect">/very/new/page.html</to>
        </rule>

    Redirect a directory
        <rule>
            <from>/some/olddir/(.*)</from>
            <to type="redirect">/very/newdir/$1</to>
        </rule>

    Clean a url
        <rule>
            <from>/products/([0-9]+)</from>
            <to>/products/index.jsp?product_id=$1</to>
        </rule>
    eg, /products/1234 will be passed on to /products/index.jsp?product_id=1234 without the user noticing.

    Browser detection//浏览器检测
        <rule>
            <condition name="user-agent">Mozilla/[1-4]</condition>
            <from>/some/page.html</from>
            <to>/some/page-for-old-browsers.html</to>
        </rule>
    eg, will pass the request for /some/page.html on to /some/page-for-old-browsers.html only for older
    browsers whose user agent srtings match Mozilla/1, Mozilla/2, Mozilla/3 or Mozilla/4.

    Centralised browser detection
        <rule>
            <condition name="user-agent">Mozilla/[1-4]</condition>
            <set type="request" name="browser">moz</set>
        </rule>
    eg, all requests will be checked against the condition and if matched
    request.setAttribute("browser", "moz") will be called.

    -->

</urlrewrite>

3、项目结构:


4、admin_login.jsp页面代码:

<body>
	Admin Login Page.
	<br>
	<%=request.getParameter("id")%><br>
	<%=request.getParameter("name")%><br>
	<%=request.getParameter("keyword")%>
</body>
测试结果:



分享到:
评论

相关推荐

    URLrewrite-实例

    在实际项目中,`URLrewrite`可以用于多种场景:隐藏Servlet或JSP的实际路径,防止直接访问;实现URL参数的隐藏,提升安全性;优化SEO,比如将动态URL转换为静态URL形式;以及根据用户状态进行不同处理,如权限控制等...

    urlrewrite3.04的demo

    本示例提供了一个基于Eclipse的工程,包含了`urlrewrite-3.0.4.jar`库,这使得开发者可以在Eclipse环境中快速搭建和调试URL重写功能。在Eclipse中,可以按照以下步骤操作: 1. 导入工程:将压缩包解压后导入Eclipse...

    JSP项目的URL重写

    **JSP项目的URL重写**是一种优化Web应用的技术,它允许我们将复杂的动态URL转换为更加友好、可读性更强的静态URL。这不仅有助于提升用户体验,也有利于搜索引擎优化(SEO)。在本项目中,我们使用了`...

    urlrewrite重写URL伪静态请求路径.

    标题 "urlrewrite重写URL伪静态请求路径" 涉及到的是Web开发中的一个重要概念——URL重写,这是为了优化网站的SEO(搜索引擎优化)和用户体验而进行的一种技术手段。URL重写允许我们将复杂的动态URL转换为简洁、易于...

    jsp 动态转静态 URL重写

    本篇文章将详细探讨“jsp动态转静态URL重写”的概念、重要性以及实现方法。 一、动态URL与静态URL的区别 1. 动态URL:动态URL通常包含“?”、“=”、"&"等特殊字符,用于传递参数给服务器执行相应的动态脚本,例如...

    jsp的一个url重写

    在探讨“jsp的一个url重写”这一主题时,我们深入解析了达内郑州中心老师分享的关于URL重写的实现方式,这不仅展示了JSP技术在动态网页开发中的灵活性,也揭示了URL重写在提高用户体验、优化SEO以及简化URL结构方面...

    urlrewrite 3.2.0 java包

    URLRewrite 是一个功能强大的URL重写和转换工具,适用于Java环境。它基于Apache的Tuckey项目,为Web应用程序提供了类似于Apache HTTP服务器的mod_rewrite模块的功能。在3.2.0这个版本中,开发者可以期待更稳定、更...

    UrlReWrite-3.0.4-src.rar

    java和jsp很好的重定向和URL重写组件 &lt;br&gt;【JAVA/JSP/DB高手】QQ群:17398054 【Linux高手群】QQ群:26976792 地址:www.web-java.com&lt;br&gt;百度Blog:http://hi.baidu.com/zjqwll

    java中的url重写

    在 Java 中,有多种方式可以实现 URL 重写,包括使用 WEB 服务器自身提供的组件和使用开源项目 UrlRewrite Filter。 UrlRewrite Filter 是一个基于 Java 的开源项目,它提供了一种灵活的方式来实现 URL 重写。它...

    urlrewrite地址重写实例配置说明

    **URLRewrite地址重写**是Web开发中一个重要的技术,它主要用于优化和管理网站的URL,使得URL更友好、更具可读性,同时也能够实现动态URL到静态URL的转换,提升SEO效果。URLRewrite通常与Apache的mod_rewrite或者在...

    urlrewrite 支持自定义多配置文件(*通配符)

    现在对urlrewrite-3.2的源码进行了修改,使它能够支持多文件和通配符的形式加载自定义配置文件,即可以进行如下的配置: &lt;param-name&gt;confPath&lt;/param-name&gt; &lt;param-value&gt;/WEB-INF/urlrewrite/urlrewrite.xml /...

    URLRewrite配置和使用

    URLRewrite是一种URL重写技术,它可以满足搜索引擎的要求,隐藏技术实现,提高网站的移植性,并满足美感的要求。下面将详细介绍URLRewrite的配置和使用。 1. 满足搜索引擎的要求 搜索引擎对URL的要求非常严格,...

    jsp的URL重写(内附说明)

    - **Apache mod_rewrite:** 如果是在Apache服务器上,可以利用mod_rewrite模块实现URL重写。 5. **WEB-INF目录的作用:** - 在Java Web应用中,`WEB-INF`目录存放了应用的配置文件(如web.xml)、Servlet类文件...

    urlRewrite

    --URLRewrite--&gt; &lt;groupId&gt;org.tuckey &lt;artifactId&gt;urlrewritefilter &lt;version&gt;3.1.0 ``` ##### 2. 配置Web.xml 接下来,需要在项目的`web.xml`文件中配置UrlRewriteFilter,确保其在其他过滤器之前运行: ```...

    urlrewrite

    在Java Web应用程序中,URLRewrite常用于隐藏实际的Servlet或JSP路径,提升用户体验,同时也有助于保护内部系统结构。 二、URLRewrite的工作原理 URLRewrite的核心是通过匹配规则来转换HTTP请求的URL。这些规则...

    java urlrewrite解决默认页问题

    为了实现URL重写功能,我们需要在`web.xml`中配置URL Rewrite Filter,并在`urlrewrite.xml`中定义重写规则。 **1. `web.xml` 配置:** ```xml &lt;filter-name&gt;UrlRewriteFilter&lt;/filter-name&gt; &lt;filter-class&gt;org...

    Java WEB实现URL重写

    在Java Web开发中,URL重写是一种常见的技术,它能够帮助我们优化应用程序的用户体验和搜索引擎优化(SEO)。URL重写的主要目的是将复杂的、带有多个参数的URL转化为更加友好、易于理解的形式。这样的URL更容易被...

    Struts2下使用urlReWrite的最简实例(MyEclipse工程)

    `urlRewrite`是Tuckey开源组织提供的一个URL重写过滤器,它能够帮助我们在Struts2应用中实现这个目标。 在这个最简实例中,我们将探讨如何在MyEclipse环境中集成Struts2和urlRewrite,创建一个基本的应用来演示URL...

    tomcat服务器以url重写的方式除去两个opencms

    1. **使用Apache mod_rewrite**:如果你的OpenCms部署在Apache HTTP服务器上,可以利用mod_rewrite模块来重写URL。在Apache的.htaccess文件中添加合适的RewriteRule指令,可以将URL中的"opencms"路径段移除。例如: ...

Global site tag (gtag.js) - Google Analytics