Tomcat配置&Servlet

Tomcat的启动问题

下载:http://tomcat.apache.org/
安装:解压即可使用,不需要安装
启动:双击bin/startup.bat就可以启动,启动的黑窗口不能关闭
	访问自己:http://localhost:8080
	访问别人:http://别人ip地址:8080
卸载:直接删除解压的文件夹即可
正常关闭tomcat:
	1.双击bin/shutdown.bat
	2.ctrl+c也是正常关闭

tomcat的启动问题:启动黑窗口一闪而过

问题1:JAVA_HOME环境变量没有配置
解决:正确配置JAVA_HOME环境变量

问题2:tomcat端口号冲突,一般是启动了多个tomcat服务器
在logs目录中查看日志信息:Caused by: java.net.BindException: Address already in use: bind表示端口号冲突。
解决:
	1.在cmd窗口查看所有进程的端口号:netstat -ano,找到8080端口号对应进程的pid;
	2.在任务管理器中根据pid找到该进程,结束掉之前启动的tomcat进程

项目的3种发布方式

  • 3种发布方式
1. 直接将项目放到webapps目录下即可。(掌握这个就可以了)
	* /hello:项目的访问路径-->虚拟目录
	* 简化部署:将项目打成一个war包,再将war包放置到webapps目录下。
		* war包会自动解压缩
2. 配置conf/server.xml文件的<Host>标签体中配置
	<Context docBase="D:\hello" path="/hehe" />
	* docBase:项目存放的路径
	* path:虚拟目录
3. 在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写:
	<Context docBase="D:\hello" />
	* 虚拟目录:xml文件的名称,不带后缀名。
	说明:idea编辑器采用的是该方式
  • 访问路径解析

Tomcat配置&Servlet_第1张图片

Servlet概述以及实现思路

  • Servlet的概念和作用
    servlet 是运行在 Web 服务器中的小型 Java 程序,本质是一个接口。servlet 通常通过 HTTP(超文本传输协议)接收和响应来自 Web 客户端的请求。 Tomcat配置&Servlet_第2张图片
    • 实现一个Servlet的步骤
1.定义一个类实现Servlet接口,重写抽象方法;
public class ServletDemo1 implements Servlet{
	
}
2.配置这个Servlet
	2.1 在web.xml中配置Servlet(了解)
		<!--配置servlet的类信息-->
    <servlet>
        <!--Servlet的名称-->
        <servlet-name>ServletDemo1</servlet-name>
        <!--servlet的全类名-->
        <servlet-class>com.itheima.web.servlet.ServletDemo1</servlet-class>
    </servlet>
    <!--配置servlet的映射信息,也就是访问路径和servlet类的对应关系-->
    <servlet-mapping>
        <!--Servlet的名称,和上面保持一致-->
        <servlet-name>ServletDemo1</servlet-name>
        <!--Servlet的访问路径-->
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    2.2 使用注解配置Servlet(吐血推荐)
    //当注解的参数有且仅有一个,而且参数名叫value时,value可以省略不写
    @WebServlet("/demo1")
		public class ServletDemo1 implements Servlet{}

Servlet生命周期

  • 描述Servlet生命周期
    思路:三个方法分别是什么时候被调用的?调用几次?作用分别是什么?
    当我们第一次访问Servlet时,服务器会创建Servlet对象,调用init()方法初始化,该方法只调用一次,可以用来加载配置文件;每当我们访问Servelt时,service()方法都会被调用,访问一次就调用一次,用来接收客户端请求以及对客户端作出响应;服务器正常关闭的时候销毁Servlet对象,destory()方法会被调用,调用一次,一般在该方法中释放资源;
  • 配置启动时加载
在web.xml中的<Servlet>标签中配置<load-on-startup>2load-on-startup>,值越小优先级越高;

访问路径问题

1. 完全路径匹配:以/开头,不包含通配符*  例如:/servletDemo1  /demo1 /abc /aaa/bbb  /abc.do  (常用)
2. 目录匹配:以/开头,以*结尾;在浏览器访问时*表示任意字符  例如:/abc/*  /*
3. 扩展名匹配:以*开头,以固定的后缀名结尾  例如  *.jsp  *.abc   但是/abc/*.do错误  

HTTP协议

  • 概念:http协议规定的是客户端和服务器之间通信的规则;
  • 特点:http协议是基于请求和响应;一定是先有请求后有响应,一次请求对应一次响应;
  • 请求部分:分4个部分
请求行:
	请求方式  url路径  协议/版本
	POST /day14/servletDemo5 HTTP/1.1
	
请求头:一般是一个key对应一个value,也有一个key对应多个value;
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36
	告诉服务器浏览器的版本信息,一般用来解决浏览器兼容性问题;
    Referer: http://localhost:8080/day14/login.html
    告诉浏览器当前请求的来源,用于防盗链以及统计工作;
    
请求空行:用于分隔请求头和请求体

请求体:只有post请求才有请求体,get请求没有,post请求参数就在请求体中
	username=zhaoying

你可能感兴趣的:(Javaweb,Tomcat配置,Servlet简单介绍,HTTP协议简单介绍,javaweb项目部署)