eclipse+tomcat开发web程序 (转)
环境:windows 7+Eclipse Java EE IDE for Web Developers+tomcat 7.02
插件:tomcatPluginV321.zip
一.配置Tomcat插件
我们创建一个myplugins文件夹用于存放插件,myplugins位于D:/Program Files/J2EE目录下。eclipse安装路径为:D:/Program Files/J2EE/eclipse-JavaEE。tomcat的安装路径为:D:/Program Files/J2EE/apache-tomcat-7.0.2。因此myplugins、eclipse-JavaEE和tomcat位于同一个目录下,当然这并不是必须的。只是方便管理。
再创建用户存放tomcat插件的目录:D:/Program Files/J2EE/myplugins/tomcatPluginV321/eclipse/plugins,然后将tomcatPluginV321.zip中的com.sysdeo.eclipse.tomcat_3.2.1解压缩到D:/Program Files/J2EE/myplugins/tomcatPluginV321/eclipse/plugins目录下。这里eclipse/plugins是必须的。
我们在eclipse-JavaEE下再创建一个links文件夹,然后在links文件夹下创建一个tomcat.link文件。可以通过先创建一个文本文件,然后另存为tomcat.link。使用记事本打开tomcat.link,输入:path=D://Program Files//J2EE//myplugins//tomcatPluginV321 。
这时候tomcat的外部配置就完成了,接下来打开Eclipse,这时候我们就会发现Eclipse中有了tomcat的小图标。
然后再Eclipse中的【window】->【preferences】,打开如下图所示的界面
在Tomcat的Advanced标签中输入Tomcat Base的地址,也就是Tomcat的安装地址
这时候我们通过Eclipse菜单栏中的Tomcat小图标就能启动Tomcat了。
二.配置Eclipse的server
和配置Tomcat一样,同样是在Eclipse中的【window】->【preferences】下进行配置,如下图所示:
只有配置Tomcat的server我们才能通过Tomcat进行发布网站。前面配置的Tomcat插件只是让我们能够在Eclipse配快速启动Tomcat而已,发布网站是在这一步配置的。如上图所示,我们这里配置了两个Tomcat server,分别是tomca 6.0和Tomcat 7.0,这个我们可以根据需要来决定使用哪一个server。这个配置server其实也很简单,只需要add一下就可以了。如下图所示:
配置好server以后,我们将在后面用到他们。
三.创建web应用
接下来我们再创建一个web project,如下图所示
这样就创建了一个动态的web应用程序。从上面我们可以看到有一个Target Runtime的选择,这个选项就是我们前面创建的server,这里我们选择Tomcat 6.0,选择了Target Runtime后Eclipse会自动帮我们选择Dynamic web module version和configuration这两个选项,我们默认就可以,点击finish完成项目的创建。在创建的TestTomcat2这个项目的WebContent目录下创建一个index.jsp文件。如下图所示:
四.发布web应用
右键项目TestTomcat2,选择【run as】->【run on server】 ,如下图所示:
点击finish完成发布工作,发布后在Eclipse中会自动打开发布的项目,如下图所示:
上面就是通过Eclipse和Tomcat发布web应用的全过程。
PS:注意点
在Eclipse中使用插件配置tomcat和使用server配置tomcat是两个不同的概念,如果要发布web应用就必须使用server,如果为了启动tomcat的话可以使用插件,但是感觉有server配置tomcat就不需要使用插件了。
今天在调试的时候发现一个问题,就是使用插件启动tomcat,然后再浏览器下打开:http://localhost:8080 可以打开tomcat的首页,但是如果使用server启动tomcat,在浏览器下市打不开这个首页的,但是如果有项目是发布在tomcat中的话是可以打开该项目的。比如可以打开:http://localhost:8080/demo 这个项目下的index.jsp文件。原因感觉是server.xml配置的问题,但是具体的我也说不清楚。