当前位置: 代码迷 >> Web前端 >> 渐渐分析Web Project, Dynamic Web Project, Tomcat Project
  详细解决方案

渐渐分析Web Project, Dynamic Web Project, Tomcat Project

热度:641   发布时间:2013-04-05 10:24:33.0
逐步分析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


  相关解决方案