zoukankan      html  css  js  c++  java
  • Tomcat学习

    一:项目默认部署路径:

        eclipse中,默认new一个server,项目默认会部署在:workspace(工作空间).metadata.pluginsorg.eclipse.wst.server.core mp0webapps目录下。当new第二个server时,会创建tmp1目录,项目部署在tmp1webapps目录下,以此类推。如图一。

        当然了,我们也可以手动指定项目的部署路径,如图二。

    =================================================================

    二:tomcat安装结构:

     

      wtpwebapps:tomcat每次启动,会将部署到tomcat上的项目,复制到该目录下。即使将该目录下的项目删除,tomcat启动后,也会i将部署在其上面的项目发布publish到该目录下

                                   在Eclipse中,选中Server进行右键操作,add、remove操作对应的都是该目录下的项目的增加、删除操作。

      work/conf/Catalina:tomcat会将jsp文件的字节码class文件保存到该目录下 

      Eclipse中的Server目录:对应的是tomcat/conf下对应的内容
            server.xml:对应的是tomcat的配置信息:选中tomcat,右键add一个项目,就会在该文件中的增加一个<Context>标签,用来表示该项目的访问,同时也可以指定项目的访问根路径。
         同时,右键remove一个项目,会自动删除该项目对应的<Context>标签的内容。
     
      Catalina:是一个web容器,根据ip、端口创建唯一的连接,相关操作都是通过配置的方式实现的 

     tomcat几个常用的命令:

      start:publish + 启动 

      clean:将tomcat下已经remove的项目真正的删除

      project clean:会将D:Workspaceadmin-web argetclasses目录下的文件删除掉,重新将eclipse中最新的代码copy一份过来。

          classes:是项目打包后的目录

      publish:是将classes下的目录发布到tomcat中

          部署就是把编译后的文件推到容器,容器是没有编译功能的

    三:tomcat结构图

    由Server的server.xml的结构看Tomcat的体系结构

    <Server>                                                //顶层类元素,外层最大的容器,可以包括多个Service   
        <Service>                                           //顶层类元素,可包含一个Engine,多个Connecter
            <Connector>                                     //连接器类元素,代表通信接口
                    <Engine>                                //容器类元素,为特定的Service组件处理客户请求,要包含多个Host
                            <Host>                          //容器类元素,为特定的虚拟主机组件处理客户请求,可包含多个Context
                                    <Context>               //容器类元素,为特定的Web应用处理所有的客户请求
                                    </Context>
                            </Host>
                    </Engine>
            </Connector>
        </Service>
    </Server>
    

    其中: 

    <Service name="Catalina">   //Catalina容器
    
    <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>    //根据ip、端口建立连接
    
    <Context docBase="web" path="/" reloadable="true" source="org.eclipse.jst.jee.server:web"/></Host>  //该Server下部署的项目,项目名称为web,path也就是该项目的根访问路径

    四:注解:

    1.@PostConstruct说明

         被@PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的inti()方法。被@PostConstruct修饰的方法会在构造函数之后,init()方法之前运行。

    2.@PreDestroy说明

         被@PreDestroy修饰的方法会在服务器卸载Servlet的时候运行,并且只会被服务器调用一次,类似于Servlet的destroy()方法。被@PreDestroy修饰的方法会在destroy()方法之后运行,在Servlet被彻底卸载之前。

  • 相关阅读:
    Qt 定时器事件startTimer
    认识网络、几种常用的网络拓扑图
    拓扑结构图,什么是拓扑结构
    Qt 利用QTime类来控制时间,QTime的成员函数的用法
    Qt QTime类的使用
    Qt 打开文件的默认路径 QFileDialog::getOpenFileName()
    Qt QWidget颜色设置的三种方法
    Qt 多个QDockWidget 切换显示
    Qt QString 格式化 arg 前面自动补0
    Qt 使用QMediaPlayer报错 defaultServiceProvider::requestService(): no service found for
  • 原文地址:https://www.cnblogs.com/quan-coder/p/8024439.html
Copyright © 2011-2022 走看看