利用tomecat的ROOT项目做一个url重定向

我们在某餐馆就餐,当你连上人家的wifi不管点击任何网站或是输入任何的网址都会跳到该商家的页面,这里我们要完成的目的和这个很像,当我们访问IP:port/.*(".*"代表任意字符,“/”除外)时直接跳入到我们指定的项目,同时如果服务器下有其他项目也不会妨碍访问。

下面我们来看下如何实现:

1.首先我们将tomecat中webapps目录下的ROOT项目删除。

2.在eclipse中创建一个名叫ROOT的web项目

3.创建一个index.jsp的页面

4.下载urlrewritefilter-4.0.3.jar放入WEB-INF>lib下

5.在WEB-INF下生成web.xml配置文件,添加过滤器:

<filter>
		<filter-name>UrlRewriteFilter</filter-name>
		<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
		<!-- sets up amount conf file will be checked for reload can be a valid
			integer (0 denotes check every time, empty/not set denotes no reload check) -->
		<init-param>
			<param-name>confReloadCheckInterval</param-name>
			<param-value>30</param-value>
		</init-param>
		<!-- sets up log level (will be logged to context log) can be: TRACE, DEBUG,
			INFO, WARN, ERROR, FATAL -->
		<init-param>
			<param-name>logLevel</param-name>
			<param-value>STDOUT:DEBUG</param-value>
		</init-param>
		<!-- you can disable status page if desired can be: true, false (default
			true) -->
		<init-param>
			<param-name>statusEnabled</param-name>
			<param-value>true</param-value>
		</init-param>
		<!-- you can change status path so that it does not conflict with your
			installed apps (note, defaults to /rewrite-status) note, must start with
			/ -->
		<init-param>
			<param-name>statusPath</param-name>
			<param-value>/status</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>UrlRewriteFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

  6.在WEB-INF下生成urlrewrite.xml配置文件,并配置过滤器规则达到重定向的目的:

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

<!--

    configuration file for urlRewriteFilter

-->
<urlrewrite>

    <rule>
        <name>Test Rule1</name>
        <note>A test rule to show a simple redirect.</note>
        <from>/(.*)</from>
        <to type="redirect">/test/test.jsp</to>
    </rule>

</urlrewrite>

7.将ROOT项目打包成war包放入ROOT项目原目录

8.测试一下^-^127.0.0.1:8080/*(‘*’代表任意字符,‘/*’除外),url会定向到test/test.jsp页面

时间: 2024-08-12 01:12:20

利用tomecat的ROOT项目做一个url重定向的相关文章

笔记:利用Cocos2dx 3.3 lua 做一个动作类游戏(一)

在这之前,声明一下: 做不完我是小狗. 没办法,没毅力和恒心,之前的那个Quick Cocos2dx做的横版过关游戏的demo已经转成了3.3的版本了,其实也算是个半成品,战斗,UI啥的都有了,呵呵. 本次DEMO要达成的目的如下: 1 熟悉Cocos2dx 3.3 - lua 2 使用Joystick 3 完成简单的怪物AI 4 尝试扩展现有的api(可选) 嗯,差不多就以上了. 今天第一次笔记. 当前完成的任务有如下: 1 使用新的player新建项目 2 在场景中添加Sprite以及其帧动

《从零开始做一个MEAN全栈项目》(1)

欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 在本系列的开篇,我打算讲一下全栈项目开发的优势,以及MEAN项目各个模块的概览. 为什么选择全栈开发?     对于初学者来说,学习一门新的语言和技术的体验总是让人愉快的,也会满足于掌握了一些新的东西并且解决了一些实际问题.在一个小组中采用全栈开发时,你可以更加有效地把握项目全局概念,这也有利于让你了解项目中的不同模块以及它们之间是如何协同工作的.你会对你们的产品中他人的贡献更加清晰,你也就了解了这款产品如何

《从零开始做一个MEAN全栈项目》(2)

欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习.   上一节简单介绍了什么是MEAN全栈项目,这一节将简要介绍三个内容:(1)一个通用的MEAN项目的技术架构,(2)为什么我们要打造单页应用,(3)本系列项目的技术架构和开发计划.希望通过这三个问题,我们能够对本项目产生一个全局视角. 实现一个常见的MEAN全栈项目的核心就是RESTful API.这个接口通常是用MongoDB, Express, Node.js实现的,而单页应用(SPA)由AngularJ

如何利用Facebook的create-react-app脚手架创建一个基于ant design mobile的项目

引言: create-react-app是Facebook发布的一款全局的命令行工具用来创建一个新的项目. 通常我们开始做一个react web或者 app 项目的时候,都会自己利用 npm 或者 yarn 安装项目所需要的一些依赖,再写 webpack.config.js ,一系列复杂的配置,搭建好开发环境后写src源代码. 现在,如果你想要搭建一个完整的 react 项目环境,已经不需要自己动手布置许许多多的东西,利用 create-react-app 工具,就能轻松帮你配置好一个 reac

用struts2标签如何从数据库获取数据并在查询页面显示。最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量。

最近做一个小项目,需要用到struts2标签从数据库查询数据,并且用迭代器iterator标签在查询页面显示,可是一开始,怎么也获取不到数据,想了许久,最后发现,是自己少定义了一个变量,也就是var变量.<s:iterator>标签有一个value属性,用来存放在Action类的方法中存数据的list集合,还有一个id,好像是说指定集合的索引的意思,就是给list集合遍历出来的每个对象加上一个数字标签,反正我是这么理解的,没用过.还有一个很重要,就是var变量,我在s:iterator按ctr

利用滤镜做一个太阳

这篇文章主要给大家讲解的是如何利用滤镜做一个太阳,只需要照着本教程操作一遍,你就可以做出一样的效果,想学的朋友一起来看看吧.

如何做一个成功的项目经理

最近参加光环国际举行的公益讲座<打造成功项目经理>,作为一个程序员,从中还是收获了一些东西,现在把他分享出来,也是作为自己的一个学习笔记. 首先任何一个领域,任何一件事都有其独立通用的知识体系和做事章法.在项目管理方面最通用的知识体系和通用语言肯定是PMP了.项目管理专业人士资格认证,国际最权威的认证,并伴有专业的教材.这不仅全球的项目管理人提供专业的项目知识,更是建立了标准的通用的项目管理语言.这样项目经理人可以更好的跨部门,跨公司,跨国家的进行项目合作.所以作为一个项目经理人必须学习PMP

【项目总结】:如何做一个牛逼的Team leader?

随着ITOO高校云平台3.1项目的结束,我们各种各样的总结也被提上了日程.Java版本的所有开发人员和Donet版本的所有开发人员坐在一起进行了关于项目开发管理的头脑风暴,虽然我只是Donet开发组的一个子系统--考评系统的模块开发人员,但是对于项目开发管理也有自己的一些思考和看法. 众所周知,作为一个Teamleader,是要考虑很多很多事情的,如何调动团队成员的积极性,如何统筹安排团队成员分工合作,使工作效率达到最佳,如何根据开发人员的技术水平.经验以及个人性格等诸多因素为他们分配任务,以使

【项目总结】:怎样做一个牛逼的Team leader?

随着ITOO高校云平台3.1项目的结束,我们各种各样的总结也被提上了日程. Java版本号的全部开发者和Donet版本号的全部开发者坐在一起进行了关于项目开发管理的头脑风暴,尽管我仅仅是Donet开发组的一个子系统--考评系统的模块开发者.可是对于项目开发管理也有自己的一些思考和看法. 众所周知.作为一个Teamleader,是要考虑非常多非常多事情的,怎样调动团队成员的积极性,怎样统筹安排团队成员分工合作,使工作效率达到最佳,怎样依据开发者的技术水平.经验以及个人性格等诸多因素为他们分配任务.