浏览 10295 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-11-15
<Context path="/context_path" docBase="d:/workspace/xxx/web" debug="1" privileged="true"> 但是不使用context配置方式的时候呢?比如war直接copy到webapps下面 我一直以为这时tomcat是按照文件夹名来标识这个web应用,实际上好像也是这样。可是昨天发生了一件怪事,就是无论我怎样改变war文件名(也就是对应部署后自动解压缩的文件夹名),系统只要一login,后面所有<%request.getContextPath()%>取得的都是我开发时使用的部署名。。。非常郁闷 问题比较复杂,描述的也不太清楚,请大家多多包涵~~~ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-11-15
Tomcat documentation是这么说的:
引用 Copy the web application archive file into directory $CATALINA_HOME/webapps/. When Tomcat is started, it will automatically expand the web application archive file into its unpacked form, and execute the application that way. This approach would typically be used to install an additional application, provided by a third party vendor or by your internal development staff, into an existing Tomcat installation. NOTE - If you use this approach, and wish to update your application later, you must both replace the web application archive file AND delete the expanded directory that Tomcat created, and then restart Tomcat, in order to reflect your changes. 里面居然没提context是什么,要想深究只能去看源代码,要不也别深究了。 |
|
返回顶楼 | |
发表时间:2006-11-15
rkihabara 写道 可是昨天发生了一件怪事,就是无论我怎样改变war文件名(也就是对应部署后自动解压缩的文件夹名),系统只要一login,后面所有<%request.getContextPath()%>取得的都是我开发时使用的部署名。。。非常郁闷
这段话看的糊里糊涂,按我的理解,你开发时部署了一次,http://localhost:8080/foo,开发完了打包bar.war,解包后应该是http://localhost:8080/bar 你在browser里login,用的是哪个URL? |
|
返回顶楼 | |
发表时间:2006-11-16
他用的是http://localhost:8080/bar
但是login以后会跳转到http://localhost:8080/foo/XXX.do 我也碰见过这个问题,不知道是什么原因. |
|
返回顶楼 | |
发表时间:2006-11-16
在$TOMCAT_HOME/conf/Catalina/localhost/里,会生成几个context的xml配置文件。去检查一下看看。如果不想要的话,把不想要的xml配置文件删除试试看。
再者试试把work目录清空看看 可以直接用jar命令来手工打成war包。 cd xxx jar cvf xxx.war * |
|
返回顶楼 | |
发表时间:2006-11-16
leobluewing 写道 他用的是http://localhost:8080/bar
但是login以后会跳转到http://localhost:8080/foo/XXX.do 我也碰见过这个问题,不知道是什么原因. 确实是这样的。。 to bigPanda : 我也到tomcat主页去研究了半天,没有结论。。。 to together : 可以直接用jar命令来手工打成war包。 问一下war跟jar是不是差不多?直接改名就行? 多谢各位了,有相关解释了我再来转告大家~ |
|
返回顶楼 | |
发表时间:2006-11-16
rkihabara 写道 leobluewing 写道 他用的是http://localhost:8080/bar
但是login以后会跳转到http://localhost:8080/foo/XXX.do 我也碰见过这个问题,不知道是什么原因. 确实是这样的。。 用的是Response.sendRedirect? 代码怎么写的? war文件里META-INF的MANIFEST里写啥了? |
|
返回顶楼 | |
发表时间:2006-11-17
bigpanda 写道 rkihabara 写道 leobluewing 写道 他用的是http://localhost:8080/bar
但是login以后会跳转到http://localhost:8080/foo/XXX.do 我也碰见过这个问题,不知道是什么原因. 确实是这样的。。 用的是Response.sendRedirect? 代码怎么写的? war文件里META-INF的MANIFEST里写啥了? 用的是struts的findforward,也有一些是redirect的,但是都不对。。。 manifiest里就是空,只有这么一句 Manifest-Version: 1.0 唉,郁闷 |
|
返回顶楼 | |