zoukankan      html  css  js  c++  java
  • eclipse中web项目部署以后jsp的java文件找不到问题(Tomcat配置serverlocations)

    我的开发环境:eclipse kepler (4.3)+tomcat7.0.42.

    在我想看eclipse中web项目jsp文件被tomcat转换成java以后的java源文件的位置。发现正常情况下的webapps以下。没有看到我部署的项目

    同一时候,work文件夹(jsp的工作文件夹)以下也没有生成相关的jsp的class文件和java源文件。可是我想看源代码啊。找了一堆关于jsp的源代码位置的文章,都说是在work以下能够找到。

    后来在不断的尝试下。我搜索了keyword server locations的配置是什么意思。找了以下的资料,加上了自己的一些补充和验证。攻克了上述问题。

    首先看一下。资料内容。

     配置eclipse的开发环境,配置jdk的安装路径和tomcat安装路径。在eclipse下建立Dynamic Web Projectprojectzhgy。在使用eclipse中new一个tomcat,通过启动该tomcat来公布Dynamic Web Project的时候,事实上并未将project公布到tomcat 安装文件夹所在的 webapps下。

    这点能够去上述的tomcat 安装文件夹 的webapps文件夹下查看。

    从启动时候的控制台输出来看项目是被公布到了例如以下的文件夹:

    信息: Set web app root system property: 'webapp.root' = [ D:workSpace.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebappszhgy ]

    打开该文件夹能够非常清楚的看到存在zhgy这样一个文件夹,这就是我们如今能够訪问的项目文件夹。

        

            再打开 D:workSpace.metadata.pluginsorg.eclipse.wst.server.core mp0   这个文件夹,能够看到这个文件夹下的结构和 D:Tomcat 7.0 的文件夹结构是一模一样的,仅仅是多了个wtpwebapps文件夹。事实上 D:workSpace.metadata.pluginsorg.eclipse.wst.server.core mp0  这个文件夹就是eclipse的对 D:Tomcat 7.0 文件夹的一个克隆,从而使 D:workSpace.metadata.pluginsorg.eclipse.wst.server.core mp0也能够具备源服务器的功能。

     

          假设再new几个服务器。就会在 D:workSpace.metadata.pluginsorg.eclipse.wst.server.core 文件夹下依次出现temp0、temp1、temp2等多个克隆服务器。可是这里每次仅仅能启动上面一个克隆服务器,由于他们都使用的是同样的启动port(当然还有同样的关闭port等)。

     

          这样会给我们带来非常多的不方便。

    举个样例:就上述project而言,当我们在进行开发的时候。项目须要将上传的图片放入到project的同级文件夹的upload文件夹的时候,会发现图片是上传到了所在的文件夹 D:workSpace.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebappsupload 。可是无法在浏览器中訪问到上传的图片。这时候我们能够手动将该upload文件夹整个拷贝到 D:workSpace.metadata.pluginsorg.eclipse.wst.server.core mp0webapps ,这时在浏览器中的确就能够訪问了。造成这样的现象的原因是tomcat服务器默认webapps为project文件夹,而不是 wtpwebapps 文件夹。之所能够通过浏览器訪问 D:workSpace.metadata.pluginsorg.eclipse.wst.server.core mp0wtpwebappszhgy 下的zhgy这个项目。是由于eclipse通过tomcat公布项目的时候在 D:workSpace-jx.metadata.pluginsorg.eclipse.wst.server.core mp3conf 文件夹的server.xml文件里有例如以下的设置:

    实际上,以下的配置是tomcat管理其他文件夹下的web项目的配置方式.在我的博文中tomcat虚拟路径的配置中有介绍.
    <Context docBase="D:workSpace.metadata.pluginsorg.eclipse.wst.server.core mp3wtpwebappszhgy" path="/zhgy" reloadable="true" source="org.eclipse.jst.jee.server:zhgy"/>  
    (以上部分来源于百度空间)
    ##########################################################################
    通过上面的验证,就应该明确了,为何myeclipse以下部署的项目的jsp文件的java文件会在E:DevelopSoftwareapache-tomcat-7.0.42workCatalinalocalhost文件夹下找到了.
    由于默认情况下,在eclipse中部署了外部的tomcat时,默认的serverlocations是这样设置的:
    打开此视图的的方式是:双击server就ok了,不会的多试一下的啦.不做具体介绍.
    普通情况下,上面的面板打开以后,server locations是灰色的.
    做例如以下操作:首先移除全部已经部署的项目,然后右击servlet->clean一下,就ok了.
    那么上面能够看到server locations配置的三个选项.
    1.使用workspace,不改动tomcat,并且发现部署的文件夹也不是webapps.
    这样的情形下,要想找到jsp被tomcat转换成的java文件,就须要到上文中提到的文件夹以下去找了.具体路径例如以下:
    D:workSpace.metadata.pluginsorg.eclipse.wst.server.core mp0webapps workjsp
    (找个文件夹找起来当然不太方便,由于plugins以下相似的文件夹非常多的啦)
    2.使用tomcat的安装文件夹.
    选择第二选项后,server path也会自己主动改动,然后手动改动部署路径就ok了.
    也就是将deploy path改成webapps
    3.第三种使用定制的文件夹,实际上就是自定义tomcat server 的location吗。一般不使用。
    了解了上述三种location配置,那么我们要将web项目手动配置到tomcat的安装文件夹下,就非常easy了。
    同一时候做了这样的配置以后,以后要想看jsp的源代码,也就直接在tomcat的安装文件夹下的work文件夹中就能够找了。

    于是,部署过的项目就能够找到jsp的源代码了.
    E:DevelopSoftwareapache-tomcat-7.0.42workCatalinalocalhostmyDay11loginorgapachejsp
    tomcat配置虚拟路径管理其他文件夹下的web项目
  • 相关阅读:
    term "JavaScript"
    Pro Git
    Pro Git
    Pro Git
    git
    flask
    OJ
    [蓝桥杯]Huffuman树
    priority_queue优先队列
    [蓝桥杯]高精度加法
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10003410.html
Copyright © 2011-2022 走看看