eclipse中web项目部署以后jsp的java文件找不到问题(Tomcat配置serverlocations)

  次阅读 作者:智能小宝 来源:互联网 2016-01-14 14:36 我要评论(0)

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

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

同时,work目录(jsp的工作目录)下面也没有生成相关的jsp的class文件和java源文件。但是我想看源码埃找了一堆关于jsp的源码位置的文章,都说是在work下面可以找到。后来在不断的尝试下,我搜索了关键字 server locations的配置是什么意思。找了下面的资料,加上了自己的一些补充和验证,解决了上述问题。

首先看一下,资料内容。

配置eclipse的开发环境,配置jdk的安装路径和tomcat安装路径。在eclipse下建立Dynamic Web Project工程zhgy,在使用eclipse中new一个tomcat,通过启动该tomcat来发布Dynamic Web Project的时候,其实并未将工程发布到tomcat 安装目录所在的 webapps下。这点可以去上述的tomcat 安装目录 的webapps目录下查看。从启动时候的控制台输出来看项目是被发布到了如下的目录:

信息: Set web app root system property: 'webapp.root' = [ D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\zhgy\ ]

打开该目录可以很清楚的看到存在zhgy这样一个文件夹,这就是我们现在可以访问的项目目录。

再打开 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\这个目录,可以看到这个目录下的结构和 D:\Tomcat

7.0 的目录结构是一模一样的,只是多了个wtpwebapps目录。其实 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\这个目录就是eclipse的对 D:\Tomcat

7.0 目录的一个克隆,从而使 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\也能够具备源服务器的功能。

如果再new几个服务器,就会在 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\ 目录下依次出现temp0、temp1、temp2等多个克隆服务器,但是这里每次只能启动上面一个克隆服务器,因为他们都使用的是相同的启动端口(当然还有相同的关闭端口等)。

这样会给我们带来很多的不方便。举个例子:就上述工程而言,当我们在进行开发的时候,项目需要将上传的图片放入到工程的同级目录的upload文件夹的时候,会发现图片是上传到了所在的目录 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\upload\ ,但是无法在浏览器中访问到上传的图片。这时候我们可以手动将该upload目录整个复制到 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps\ ,这时在浏览器中的确就可以访问了。造成这种现象的原因是tomcat服务器默认webapps为工程目录,而不是 wtpwebapps 目录。之所能够通过浏览器访问 D:\workSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\zhgy\ 下的zhgy这个项目,是由于eclipse通过tomcat发布项目的时候在 D:\workSpace-jx\.metadata\.plugins\org.eclipse.wst.server.core\tmp3\conf 目录的server.xml文件中有如下的设置:

实际上,下面的配置是tomcat管理其他目录下的web项目的配置方式.在我的博文中tomcat虚拟路径的配置中有介绍.

(以上部分来源于百度空间)

##########################################################################

通过上面的验证,就应该明白了,为何myeclipse下面部署的项目的jsp文件的java文件会在E:\DevelopSoftware\apache-tomcat-7.0.42\work\Catalina\localhost目录下找到了.

因为默认情况下,在eclipse中部署了外部的tomcat时,默认的serverlocations是这样设置的:

打开此视图的的方式是:双击server就ok了,不会的多试一下的啦.不做详细介绍.

一般情况下,上面的面板打开以后,server locations是灰色的.

做如下操作:首先移除所有已经部署的项目,然后右击servlet->clean一下,就ok了.

那么上面可以看到server locations配置的三个选项.

1.使用workspace,不修改tomcat,而且发现部署的目录也不是webapps.

这种情形下,要想找到jsp被tomcat转换成的java文件,就需要到上文中提到的目录下面去找了.具体路径如下:

D:\wZ

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...