逐步分析Web Project, Dynamic Web Project, Tomcat Project
背景描述
曾经感到疑惑的三个项目,现在搞清楚了。以下内容将从创建项目,目录结构,部署方式来分析三个项目的不同之处。
创建项目
Web Project是通过使用myeclipse来创建,过程如下:new--web project,然后生成出满足j2ee目录规范的项目。如图:
Dynamic Web Project通过使用Eclipse来创建项目,过程如下:new -- Dynamic Web Project,如下图:
Tomcat Project需要安装tomcat项目插件来创建,插件下载地址为:tomcatPluginV33,下载完成后copy到eclipse安装目录下的plugins目录中,然后创建项目,new -- other project -- Tomcat Project如下图:
从上面可以看出三种项目依赖的工具各不相同。
目录结构
webproject和dynamic web project的目录结构除了WebRoot 和 WebContent不一样外,其它都一致,如下图:
Tomcat Project的目录结构如下图:
同时在web project的根目录下多了一个.mymetadata文件,在tomcat project根目录下多了一个:.tomcatplugin。其区别读者可以自行研究,大家可以看完部署说明后再分析这两个文件的作用。
部署方式
1、最普通对三个项目没有任何区别的方式为,将编译后的项目或war直接拷贝到tomcat webroot下。
这里只需要注意一个问题,如果项目的web.xml中没有指定欢迎页,即<welcome-file-list>节点中没有内容,此时访问项目由于tomcat容器为了避免暴漏项目的部署路径会提示404错误,有一个办法打开tomcat根目录,找到conf文件进去找到web.xml打开找到listings节点,将false该ture,就可以显示当前项目的目录,不建议这样,最好配置一个欢迎页。
2、通过在IDE中集成Tomcat容器,采用发布部署的方式。
这中方式只适用于Web Project和Dynamic Web Project,对于Tomcat Project需要采用另外一种三种都适用的方式。在Eclipse和Myeclipse中采用如下方式:
之后安装向导就可以完成。
在部署Dynamic Web Project时需要注意,默认情况下其会修改tomcat安装目录下的server.xml,在其Host节点中会加入如下内容:
<Context docBase="F:\apache-tomcat-7.0.27\webapps\Test1" path="/Test1" reloadable="true" source="org.eclipse.jst.jee.server:Test1"/>
这就是虚拟目录映射来部署项目,下面会讲到,同时对于项目的数据源就可以在Context节点中加入Resources来完成。这种办法不好的地方是在开发过程中如果我们修改了server.xml文件,当通过eclipse部署项目时会覆盖我们的修改。
3、虚拟目录映射
这种方式在开发中很常见而且是最方便的 ,适用于三种项目,其好处为不用总是手动部署项目。具体使用如下:
在tomcat安装目录下,找到conf--Catalina--localhost在其中建立一个xml文件,名称为项目的名称,内容如下:
<Context path="/TomcatP" reloadable="true" docBase="F:\eclipseworkspace\workspace4\TomcatP" workDir="F:\eclipseworkspace\workspace4\TomcatP\work" />
当然数据源也可以在这里配置,如第二条说明。
配置完成后,启动容器,访问地址如下:
其它tomcat相关内容可参见:
http://blog.csdn.net/lb85858585/article/details/7234993
推荐阅读
-
eclipse配置tomcat开发Dynamic Web Project环境图解
-
eclipse配置tomcat开发Dynamic Web Project环境图解
-
Cannot change version of project facet Dynamic Web Module to 3.0
-
Cannot change version of project facet Dynamic Web Module to 3.0
-
Cannot change version of project facet Dynamic Web Module to *
-
Project facet Dynamic Web 3.1
-
Eclipse——web项目没有Run On Server以及project facets 里没有Dynamic Web Module解决方法
-
动态网站项目(Dynamic Web Project)CRUD(增删改查)功能的实现(mvc(五层架构)+jdbc+servlet+tomcat7.0+jdk1.8),前端使用JSP+JSTL+EL组合
-
使用IDE创建Gradle web project
-
使用IDE创建Gradle web project