• 逐步分析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


  • 相关阅读:
    OPENSSH 详解
    红帽RHEL8和7有什么区别(Centos8与7参照redhat)
    RHEL8和CentOS8怎么重启网络
    Redhat7.x Openssh、Openssl升级
    RHEL7.x更换更换Centos yum源
    NTP时间同步
    2019-12-17:权限维持,笔记
    2019-12-13:提权学习,笔记
    2019-12-11:kali linux工具Msfvenom 命令自动补全
    2019-12-10:win7,win12提权练习
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/2998617.html
Copyright © 2020-2023  润新知