`
MarilynTyson
  • 浏览: 39312 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

eclipse部署项目到webapps下,如何不带contextPath来访问

阅读更多
    自从用回了eclipse,从昨晚就在想这么一个事,你看啊,我们比如有个项目应用名字
叫app,部署到外网使用,要访问的话基本上是不带项目名的(也就是contextPath名,地
址如http://221.221.158.46/index.do),因为在外网的tomcat的server.xml,一般
配置了Context,并且path为空,使得项目文件目录和tomcat目录分别在两个地方(如根目
录/www下),但是在本地环境情况下,这个事情还有点绕,还拿app这个作例子。

    我建了一个app的Dynamic Web Project,出于以前myeclipse的习惯,我把WebContent改成了WebRoot,然后用它提供的servers配置tomcat,双击Servers标签中新建好的tomcat项,进入配置界面,其中Server Locations选择了Use Tomcat installation(takes control of Tomcat installation),下面的deploy path可以填任意你想部署的地方,如f:\target,这样就与webapps分开了,完成后就可以右击tomcat项,选择add/remove将我们的app项目扔到那边去,之后点击publish完成本机部署。
   
    观察f:\target目录,发现里面有app目录和ROOT目录,至于那个ROOT是个打酱油的先不用管它,既然IDE敢把app放到了另外的目录里,说明一定改了我们tomcat的server.xml文件,现在内容多了一条Context元素,内容为
<Context docBase="F:\target\app" path="/app" reloadable="true" source="org.eclipse.jst.jee.server:app"/>

    我们现在可以通过http://localhost:8080/app来访问了,但这不是我想要的,我想用http://localhost:8080直接访问app,所以path应该为空,手动改它肯定是不行的,因为IDE已经直接连到了这个文件,每次发布它都会把path修改回去。
   
    在myeclipse的时候,是可以通过项目设置,让它直接把app目录里面的内容,直接部署到webapps/ROOT下面,这样就可以不带ContextPath来访问,但是这样本身就很奇怪,我们看不到三条腿的猫了,就算是静态页面,也是人家自身带的东西,怎么能让你随便给覆盖了呢,但是我还是试着在eclipse3.6里找了找相关的配置,还真有点收获。
   
    右击app项目,选择Properties,下面有一项Web Project Settings,里面有一条Context root,好像有点像了,默认是app,我把它改成了ROOT,保存一切都没有问题,本以为会和myeclipse是一样的结果,但是部署完发现结构不对头了,无论如何IDE都会把app这个目录也会复制到ROOT目录里,这和上面myeclipse行为不一致了,我还是没有办法脱离contextPath来访问,就算是deploy到webapps的ROOT,里面依然有个可恨的app目录。
   
    这个困扰了我挺长的时间,网上好像也没有提到这个问题,直到我又看了server.xml,发现path属性的值改成了"/ROOT",原来context root的修改对应的是path属性,这样的话我只需要把context root设置成空,相应path属性不也为空了么,这样就搞定了,但是人家IDE是不让你这么干的,Context root cannot be empty提示着我要走一些歪路子了,只能用最后一招,看看能不能改改你生成的IDE配置文件。
   
    最终找到项目所在目录.settings\org.eclipse.wst.common.component文件,发现里面有一条<property name="context-root" value="ROOT"/>,对应的就是上面的那条设置,直接value改成空,保存退出,依然部署到f:\target下面,重新publish项目,发现结构还是f:\target\app,但是惊喜的发现,server.xml中path属性已经是空了,而docBase是我们喜欢的F:\target\app,尽管有个不认识的source="org.eclipse.jst.jee.server:app"属性,但和我无关了,这下用http://localhost/index.jsp,就可以直接访问我们部署好的app应用页面了
   
    我不知道这样做是不是最正确的,但是确实解决了问题,首先实现了部署目录和tomcat的webapps分离,然后消除了contextPath访问名字,IDE这个东西有时候能把人折腾死,有时真是觉得功夫在身外
   
       
1
0
分享到:
评论
2 楼 liuxiaojian 2013-05-24  
Context root cannot be empty
----设置成 / 就可以了
1 楼 ie7shop 2012-06-30  
是可以成功,不过Context里面配置的JNDI数据库好像就有问题了

相关推荐

    Eclipse自动部署项目到Tomcat的webapps下的有效方法

    总结来说,对于初学Java的开发者,理解并掌握这两种在Eclipse中自动部署项目到Tomcat的方法至关重要。第一种方法适用于简单的测试场景,而第二种方法更适合日常开发工作,因为它允许快速地部署和测试修改后的代码。...

    Eclipse中将web项目自动发布到Tomcat_webapps下

    然而,默认情况下,Eclipse 并不会将项目自动发布到 Tomcat 的 webapps 目录下。为了解决这个问题,本文将详细介绍如何在 Eclipse 中将 web 项目自动发布到 Tomcat webapps 下。 首先,在 Eclipse 中创建一个新的 ...

    tomcat项目没部署webapps下,如何找

    标题中的“tomcat项目...总结来说,当Tomcat项目不在`webapps`下时,可以通过修改`server.xml`文件,使用命令行工具或利用Tomcat的管理功能来部署和管理应用。理解这些概念和操作对于管理和维护Tomcat服务器至关重要。

    Eclipse两种部署web项目方法借鉴.pdf

    3. 在 Tomcat 服务器的配置文件中,需要修改三个地方以便正确地部署项目。 第二种方法:使用 TomcatPlugin 插件 使用 TomcatPlugin 插件,可以将 Eclipse 与 Tomcat 服务器集成。步骤如下: 1. 首先,下载 Tomcat...

    在eclipse中部署项目web有时候访问jsp会抛出以下类似的异常信息

    在Eclipse中部署Web项目时,开发者可能会遇到访问JSP页面时出现异常的情况。这个问题通常与项目的类路径配置、依赖库版本冲突或者JSP编译器的设置有关。标题和描述中提到的"1.0和1.1.2"可能是两个版本的JAR文件,...

    使用idea部署项目在webapps中.md

    idea项目部署,如何将idea的项目部署在tomcat中的webapps中。

    如何在tomcat中部署eclipse项目

    &lt;Context docBase="D:\StudyProgram\eclipse\tomcat-test\apache-tomcat-7.0.57\webapps\test.war" path="/test" reloadable="true"/&gt; ``` 这个配置信息将告诉 Tomcat 服务器,从哪里加载 _war 包,并将其部署到...

    怎么将一个用eclipse做好的项目部署到虚拟机tomacat上去,然后用浏览器直接进行访问.doc

    将 Eclipse 项目部署到 Tomcat 服务器上需要进行准备工作、部署项目和设置 Tomcat 开机自启动等步骤。通过这些步骤,我们可以成功地将 Eclipse 项目部署到 Tomcat 服务器上,并使用浏览器直接访问。

    修改Tomcat默认访问根目录的方法

    代码如下:&lt;Context path=”” docBase=”/usr/tomcat/apache-tomcat-8.5.11/webapps/guanwang” debug=”0″ reloadable=”true”/&gt; docBase即为默认访问的文件夹名称。Linux与Windows一样,只是文件夹地址有差别...

    Eclipse自动部署JSP项目到Tomcat

    Eclipse会自动将项目部署到Tomcat的webapps目录下,并启动项目。 完成以上步骤后,每次你在Eclipse中修改JSP文件或其他相关资源,Eclipse都会自动更新到Tomcat的webapps目录,无需手动复制或重新部署。这极大地提高...

    JavaWeb开发Tomcat中三种部署项目的方法.pdf

    这种方法的优点是可以单独控制每个项目的部署参数,而且可以通过修改XML文件不重启Tomcat来重新部署项目。例如,可以创建一个名为admin.xml的文件,内容如下: &lt;Context path="/admin" docBase="${catalina.home}/...

    eclipseSettings部署到tomcat目录下

    部署到Tomcat通常有两种方式:一种是将项目直接拖放到Tomcat的`webapps`目录下,Eclipse会自动检测变化并重新部署;另一种是通过Eclipse的 Servers 视图创建一个Tomcat服务器实例,然后将项目添加到服务器,Eclipse...

    Eclipse环境中WEB项目在Tomcat上的部署

    要在 Eclipse 环境中部署 WEB 项目到 Tomcat 服务器上,需要首先准备好 WEB 项目。开发者可以使用 Eclipse 的项目向导创建一个新的 WEB 项目,然后编写 Java 代码、配置文件和资源文件等。在准备好 WEB 项目后,需要...

    selvet在eclipse下的详细部署

    Selvet 在 Eclipse 下的详细部署步骤包括创建 Selvet 项目、在 Eclipse 中创建 Selvet 项目、配置 Selvet 项目和部署 Selvet 项目等几个步骤。通过这些步骤,我们可以成功地将 Selvet 部署到 Eclipse 中,实现动态...

    eclipse 访问tomcat问题

    2. **默认部署目录问题**:Eclipse 默认将应用程序部署到 `wtpwebapps` 目录下,而 Tomcat 默认的部署目录为 `webapps`。如果二者不一致,会导致访问失败。 3. **Tomcat 服务未启动**:访问失败的原因还可能是 ...

Global site tag (gtag.js) - Google Analytics