我是一个新手学习Java,servlet和Jsp.
痛苦的是我时候一个.net程序员,习惯了微软的VS IDE一切都是封装好的.傻瓜式的使用, 不需要关心内部实现.
悲催的是我看到资料都是My Eclipse, 但我下载使用的环境是Eclipse.这就有两个问题要解决.
一个是如何把My Eclipse的东西同步到Eclipse上,
另外一个是版本控制问题.我的环境我觉得比较奇葩(Tomca6.0.45+J2ee1.8.25).
在这个过程中遇到的问题较多,下面就找一个先突破吧.
如何部署Servlet到Tomcat,也可以说是如何debug on server(源代码在tomcat目录下)
对于一个新手来说,如何快速定位自己遇到的问题笔记重要,一个办法是把你看到的问题直接google|baidu.另一个办法是查看出错信息”猜”是哪里可能出了问题.
当你用Eclipse运行web项目的时候,你就会看到控制台出现:
WARNING:[SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property'source' to ':myProject' did not find a matchingproperty.
这样的字样,说的是的Service标签里的Engine标签里的Host标签里的Context标签配置了一个'source'属性,属性值是':myProject'.
但问题是Context标签是不支持source这个属性的,所以跳出了警告,所以大家也发现的是,尽管有警告,但是大部分人的程序是依然可以运行没有问题的,但少部分人的不能够运行。
也许你已经在网上查到很多像这样的问题,而且也给出了解决办法,但是你照着解决的方法去做了,警告依然存在!
那现在你就可以跟着我的步骤来做了:
解决方法1:
- 双击Servers里的Tomcat v6.0 at localhost, 然后跳出个界面;;
- 在Server Options选项里有个Publish module contexts to separate XML files的选项,到这里我们也一样把勾勾上如果问题解决,请跳过. 如果问题仍在,请继续看.
- 请大家注意Server Locations, 在Eclipse默认情况是选在第一个”Useworkspace metadata(does not modify Tomcat installation)” . Deploy path= wtpwebapps.而且Eclipse默认会把Web项目放到Eclipse的工作空间(work bench)下的.metadata\.plugins\\tmp0(或者是tmp1)\wtpwebapps\下,如果现在Eclipse中有名为myProject'的项目,将它按以前的方式部署到服务器上,则会在上边的目录下,看到自己的项目了.
修改完成之后,保存即可。这样以后的项目都会发布到tomcat下的webapps下了。
注意:
- 在Eclipse中,用这种方式发布Web项目,会将原先服务器的conf文件夹被分成为backup文件夹,自己新建立一个文件夹,来作为配置Eclipse发布的Web项目。所以还是要使用MyEclipse编写JavaWeb项目
- 有时候,Server Locations项目下,什么都不可选择,你可以先删除服务器,重新添加tomcat服务器,然后右击打开,修改即可。
这个时候只是解决了第一个问题, 发布servlet 到tomcat服务器. 那么你若是导入的My Eclipse文件将不能很好的工作,至少有一部分不能发布过去.因为Eclipse默认的web目录是WebContend,而MyEclipse是WebRoot.所以导致只有WebContent中的内容被发布到Tomcat中.如何修改它?请看下图
1. 找到工程的.settings 文件
2. 修改为你想发布的目录