黑马程序员技术交流社区

标题: Tomcat [打印本页]

作者: 张柱    时间: 2019-6-13 17:45
标题: Tomcat

Tomcat: Web服务器软件
tomcat组成结构:
<server>
<service>
  <Connector>
   <Engine>
    <Host>
     <Context>
     <ConText>
     <Context>
     <ConText>...
    <Host>
    <Host>
     <Context>
     <ConText>
    <Host>...
   <Engine>
  <Connector>
<service>
<server>

服务器:安装了服务器软件的计算机
服务器软件:接收用户的请求,处理请求,做出响应
Web服务器软件:可以部署web项目,让用户通过浏览器来访问这些项目
* Tomcat:Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp。
开源的,免费的。
javaEE:java语言在企业级开发中使用的技术规范总和,一共规范了13项大的规范。
启动时可能遇到的问题:
1. 黑窗口一闪而过:
  原因: 没有正确配置JAVA_HOME环境变量
  解决方案:正确配置JAVA_HOME环境变量
2. 启动报错:
  1. 暴力:找到占用的端口号,并且找到对应的进程,杀死该进程
   在cmd中输入netstat -ano查看所有的PID
  2. 温柔:修改自身的端口号  进conf/server.xml 修改
  80端口号是http协议的默认端口号,访问时不用输入端口号
关闭:1.ctrl+c   2.bin/shutdown.bat   3.强制关闭
配置:
部署项目的方式
1.直接复制到webapps目录下  简化部署:将项目打成一个war包,再将war包放置到webapps目录下。
2.不放入,配置conf/server.xml文件
在<Host>标签体中配置<Context docBase="D:\hello" path="/hehe" />
docBase:项目存放的路径;path:虚拟目录(xml文件的名称)
3.在conf\Catalina\localhost创建任意名称的xml文件
如:bbb.xml  如果不要了 在文件后加后缀 bbb.xml_bak  服务器就访问不到了
<Context docBase="D:\hello" />

servlet: server applet
Servlet就是一个接口,定义了Java类被浏览器访问到(tomcat识别)的规则。

生命周期:可以配置执行Servlet的创建时机。
  在<servlet>标签下配置
  1. 第一次被访问时,创建
                * <load-on-startup>的值为负数  默认为-1  在第一次访问时创建
  2. 在服务器启动时,创建
  * <load-on-startup>的值为0或正整数
init方式只执行一次,Servlet在内存中只存在一个对象,是单例的。

destroy方法在Servlet被销毁之前执行,一般用于释放资源
  只执行一次,且服务器要正常关闭才执行
Servlet3.0以上版本支持注解配置,可以不需要web.xml了
  类上使用@WebServlet注解,进行配置
   @WebServlet(urlPatterns="资源路径")
   @WebServlet(value="资源路径")value可省略
IDEA与tomcat相关配置
tomcat真正访问的是“tomcat部署的web项目”,
"tomcat部署的web项目"对应着"工作空间项目" 的web目录下的所有资源
  WEB-INF目录下的资源不能被浏览器直接访问。

断点调试:使用"小虫子"启动 dubug 启动












欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2