Eclipse J2EE IDE +Tomcat
1、 Web Project的部署
前提:(1)安装配置好tomcat, 环境变量,TOMCAT_HOME
(2)配置好EClipse IDE的 Installed JREs
(3) 确保tomcat可以正常跑起来(%TOMCAT_HOME%/bin/startup.bat)
建立一个简单Web Project(例如 Dynamic Web Project),简单编写,加一个JSP之类的,编写好了之后, 怎么发布? 习惯性的打开了Eclipse的 Sever视图,可是里面什么都没有,右键点击NEW-->Server, 按照一般正常步骤建立。建立之后就会在Project视图里面看到Server的项目,而且有自己的配置文件。(这里有有一个问题,待会说)
然后正常做法,把项目在Tomcat里面跑起来。Console里面显示正常启动之后,打开浏览器,输入tomcat主页地址测试tomcat正常跑起来没有,例如 Http://localhost:8080/ ,结果却是404,很让人诧异,再检查tomcat console, 没有问题啊! 尝试检查%TOMCAT_HOME%的webapp目录,webapp的ROOT目录是有资源的,但是发现没刚刚发布的项目,work目录也没有!!这是怎么回事? 尝试访问Test项目的资源例如 Http://localhost:8080/Test/index.jsp, 却可以正常访问!!这是为什么!
原来是如果使用了Eclipse建立的Server和tomcat来发布Web项目, 默认的发布路径不是原tomcat安装路径,而是eclipse自己设置的路劲,而且使用的是Server自己的配置文件,即上面的右边的图例的配置文件,所以相关配置是在这里设置的,在tomcat的设置将无法生效。
Server发布路径是:workplace\.metadata\.plugins\org.eclipse.wst.server.core\tmpx
这里workplace 就是Eclipse的Workplace, tmpx中x从0开始命名,即配置多个服务时的命名
PS。解释一下刚才的输入Http://localhost:8080/ 报404而访问项目资源却可以:大家都知道Http://localhost:8080/ 这个地址最后的“ / ” 代表的是tomcat的webapp里面的ROOT资源,相关的管理界面在manager里面,这是tomcat默认的。但是eclipse的Server发布tomcat web项目时,相当于使用了tomcat的一个副本,这个tomcat在使用时按照自己的配置来处理,所有的信息自己复制了一遍到workplace, 但是我们发现在 这个副本tomcat(即上图后边的相关配置文件)的配置文件web.xml 以及 ROOT目录(workplace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ROOT)会发现,web.xml配置了<welcome-file-list>,但是在ROOT目录里面却没有任何资源,所以包404是正常的。如果你需要它显示tomcat主页,到%TOMCAT_HOME%的webapp里面把docs,manager,ROOT目录都拷贝过来就OK了。
当然,要修改这个发布目录也是可以的。在Server视图里面双击已经配置好的Tomcat 或者右键-->Open ,在Overview选项卡里面就会看到项目的配置,例如port , path , name等等,, 在Server Location里面 就是这个Tomcat容器的的发布路径,根据需要修改,默认的就是刚才说的那个workplace的地址。这里会有一个问题,当tomcat已经加载了项目的时候就不能修改了,必须把 tomcat clean一下,才可以修改。
前提:(1)安装配置好tomcat, 环境变量,TOMCAT_HOME
(2)配置好EClipse IDE的 Installed JREs
(3) 确保tomcat可以正常跑起来(%TOMCAT_HOME%/bin/startup.bat)
建立一个简单Web Project(例如 Dynamic Web Project),简单编写,加一个JSP之类的,编写好了之后, 怎么发布? 习惯性的打开了Eclipse的 Sever视图,可是里面什么都没有,右键点击NEW-->Server, 按照一般正常步骤建立。建立之后就会在Project视图里面看到Server的项目,而且有自己的配置文件。(这里有有一个问题,待会说)
然后正常做法,把项目在Tomcat里面跑起来。Console里面显示正常启动之后,打开浏览器,输入tomcat主页地址测试tomcat正常跑起来没有,例如 Http://localhost:8080/ ,结果却是404,很让人诧异,再检查tomcat console, 没有问题啊! 尝试检查%TOMCAT_HOME%的webapp目录,webapp的ROOT目录是有资源的,但是发现没刚刚发布的项目,work目录也没有!!这是怎么回事? 尝试访问Test项目的资源例如 Http://localhost:8080/Test/index.jsp, 却可以正常访问!!这是为什么!
原来是如果使用了Eclipse建立的Server和tomcat来发布Web项目, 默认的发布路径不是原tomcat安装路径,而是eclipse自己设置的路劲,而且使用的是Server自己的配置文件,即上面的右边的图例的配置文件,所以相关配置是在这里设置的,在tomcat的设置将无法生效。
Server发布路径是:workplace\.metadata\.plugins\org.eclipse.wst.server.core\tmpx
这里workplace 就是Eclipse的Workplace, tmpx中x从0开始命名,即配置多个服务时的命名
PS。解释一下刚才的输入Http://localhost:8080/ 报404而访问项目资源却可以:大家都知道Http://localhost:8080/ 这个地址最后的“ / ” 代表的是tomcat的webapp里面的ROOT资源,相关的管理界面在manager里面,这是tomcat默认的。但是eclipse的Server发布tomcat web项目时,相当于使用了tomcat的一个副本,这个tomcat在使用时按照自己的配置来处理,所有的信息自己复制了一遍到workplace, 但是我们发现在 这个副本tomcat(即上图后边的相关配置文件)的配置文件web.xml 以及 ROOT目录(workplace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ROOT)会发现,web.xml配置了<welcome-file-list>,但是在ROOT目录里面却没有任何资源,所以包404是正常的。如果你需要它显示tomcat主页,到%TOMCAT_HOME%的webapp里面把docs,manager,ROOT目录都拷贝过来就OK了。
当然,要修改这个发布目录也是可以的。在Server视图里面双击已经配置好的Tomcat 或者右键-->Open ,在Overview选项卡里面就会看到项目的配置,例如port , path , name等等,, 在Server Location里面 就是这个Tomcat容器的的发布路径,根据需要修改,默认的就是刚才说的那个workplace的地址。这里会有一个问题,当tomcat已经加载了项目的时候就不能修改了,必须把 tomcat clean一下,才可以修改。