Tomcat
1、JavaWeb的概念
1、什么是JavaWeb?
1 | 1、JavaWeb是指,所有通过Java语言编写可以通过浏览器访问的程序的总称,叫JavaWeb。 |
2、什么是请求?
1 | 1、请求是指客户端给服务器发送数据,叫请求Request |
3、什么是响应?
1 | 响应是指服务器给客户端回传数据,叫响应Response |
4、请求和响应的关系
1 | 请求和响应是承兑出现的,有请求就有响应。 |
2、Web资源的分类
1 | 1、web资源按实现的技术和呈现的效果的不同,又分为静态资源和动态资源两种。 |
3、常用的Web服务器
1 | 1、Tomcat:由Apache组织提供的一种Web服务器,提供对jsp和Servlet的支持。它是一种轻量级的JavaWeb容器(服务器),也是当前应用最广的JavaWeb服务器(免费) |
4、Tomcat服务器和Servlet版本的对应关系
1、当前企业常用的版本7.或8.
Tomcat版本 | Servlet/JSP版本 | JavaEE版本 | 运行环境 |
---|---|---|---|
4.1 | 2.3/1.2 | 1.3 | JDK1.3 |
5.0 | 2.4/2.0 | 1.4 | JDK1.4 |
5.5/6.0 | 2.5/2.1 | 5.0 | JDK5.0 |
7.0 | 3.0/2.2 | 6.0 | JDK6.0 |
8.0 | 3.1/2.3 | 7.0 | JDK7.0 |
2、Servlet程序从2.5版本是现在市面使用最多的版本(xml配置)
到了Servlet3.0之后,就是注解版本的Servlet使用。
5、Tomcat的使用
1、安装
找到需要用的Tomcat版本对应的zip压缩包,解压到需要安装的目录即可
2、目录介绍
1 | 1、bin:专门用来存放Tomcat服务器的可执行程序 |
3、如何启动Tomcat服务器?
1 | 1、找到Tomcat目录下的bin目录下的start.bat文件,双击打开就可以启动服务器 |
4、常见的启动失败的情况,双击start.bat文件,就会出现一个黑窗口一闪而退
1 | 1、原因:未配置好JAVA_HOME环境变量 |
5、常见的JAVA_HOME配置错误有以下几种情况:
1 | 1、JAVA_HOME必须全大写 |
6、另一种启动服务器的方式
1 | 1、打开命令行 |
7、Tomcat的停止
1 | 1、点击Tomcat服务器窗口的x关闭按钮 |
8、如何修改Tomcat的端口号?
1 | 1、MySQL默认的端口号是:3306 |
1 | 平时上百度:http://www.baidu.com:80 |
9、如何部署web工程到Tomcat中
1 | 1、第一种方法:只需要web工程的目录拷贝到Tomcat的webapps目录下即可 |
1 | 2、第二种部署方法: |
10、手拖html页面到浏览器和在浏览器中输入http://ip:端口号/工程名/访问的区别:
11、ROOT的工程的访问,以及默认index.html页面的访问
1 | 当我们在浏览器地址栏输入的访问地址如下: |
6、IDEA整合Tomcat服务器
7、IDEA中动态web工程的操作
1、IDEA中如何创建动态web工程
1 | 1、创建一个新模块 |
2、web工程的目录介绍
3、如何给动态web工程添加额外的jar包
在WEB-INF目录下新建一个lib目录
将依赖jar包复制到目录下
在项目模块的库中新建一个库
在工件中修正依赖
4、如何在IDEA中部署工程到Tomcat上运行
1 | 1、建议修改每个web工程对应的tomcat运行实例名称 |
1 | 3、修改运行时的地址,端口号... |
1 | 4、在idea中如何运行和停止tomcat实例 |
5、配置资源热部署
选择:更新类和资源
Servlet
1、Servlet技术
1、什么是Servlet?
1 | 1、Servlet是JavaEE规范之一,规范就是接口。 |
2、手动实现Servlet程序
1 | 1、编写一个类去实现Servlet接口 |
1 | <!--servlet标签给tomcat服务器配置Servl程序--> |
3、常见的错误:
1 | 1、url-pattern中配置路径没有以斜杠打头 |
4、原理:
5、Servlet的生命周期
1 | 1、执行Servlet构造器方法 |
6、GET和POST请求的分发处理
1 | package com.lxg.servlet; |
7、通过继承HttpServlet实现Servlet程序
1 | 一般在时机项目开发中,都是使用继承HttpServlet类的方式去实现Servlet程序。 |
类:
1 | package com.lxg.servlet; |
配置文件:
1 | <servlet> |
8、使用IDEA创建Servlet程序
1 | 1、new->Servlet程序 |
1 | 2、配置Servlet信息 |
9、Servlet类的继承体系
2、ServletConfig类
ServletConfig类从类名上来看,就知道是Servlet程序的配置信息类。
Servlet程序和ServletConfig对象都是由Tomcat负责创建的,我们只负责使用。
Servlet程序默认是第一次访问的时候创建,ServletConfig是每个Servlet程序创建时,就创建一个对应的ServletConfig对象。
1、ServletConfig类的三大作用
1 | 1、可以获取Servlet程序的别名servlet-name的值 |
1 |
|
3、ServletContext类
1、什么是ServletContext?
1 | 1、ServletContext是一个接口,它表示Servlet上下文对象 |
1 | 什么是域对象? |
存数据 | 取数据 | 删除数据 | |
---|---|---|---|
Map | put() | get() | remove() |
域对象 | setAttribute() | getAttribute() | removeAttribute() |
2、ServletContext类的四个作用
1 | 1、获取web.xml中配置的上下文参数context-param |
1 | package com.lxg.servlet; |
1 | <!--context-param是上下文参数(它属于整个web工程)--> |
4、Http协议
1、什么是Http协议
1 | 1、什么是协议? |
2、请求的Http协议格式
1 | 1、客户端给服务器发送数据叫请求 |
1 | 1、GET请求 |
1 | 2、POST请求 |
3、常用请求头的说明
1 | Accept:表示客户端能够接受的数据类型 |
4、哪些是GET请求和POST请求?
1 | GET请求有哪些? |
1 | POST请求有哪些? |
5、响应的HTTP协议格式
1 | 1、响应行 |
6、常用的响应码说明
1 | 200 表示请求成功 |
7、MIME类型说明
MIME是HTTP协议中的数据类型
MIME的英文全称是“Multipurpose Internet Mall Extensions”多功能Internet邮件扩充服务。MIME类型的格式是“大类型/小类型”,并与一种文件的扩展名相对应。
常见的MIME类型:
文件 | MIME类型 |
---|---|
超文本标记语言文本 | .html htm text/html |
普通文本 | .txt text/plain |
RTF文本 | .rtf application/trf |
GIF图形 | .gif image/gif |
JPEG图形 | .jpeg .jpg image/jpeg |
au声音文件 | .au audio/base |
MIDI音乐文件 | mid,.midi audio/midi,audio/x-midi |
RealAudio音乐文件 | .ra .ram audio/x-pn-realaudio |
MPEG文件 | .mpg .mpeg video/mpeg |
AVI文件 | .avi video/x-msvideo |
GZIP文件 | .gz application/x-gzip |
TAR文件 | .tar application/x-tar |
8、谷歌浏览器如何查看Http协议?
5、HttpServletRequest类
1、HttpServletRequest类有什么作用?
1 | 每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的Http协议信息解析好封装到Request对象中,然后传递到service方法(doGet和doPost)中给我们使用。我们可以通过HttpServletRequest对象,获取到所有请求的信息。 |
2、HttpServletRequest类的常用方法
1 | 1、getRequestURI()获取请求的资源路径 |
1 | package com.lxg.servlet; |
URI=>/07_servlet/requestAPIServlet
URL=>http://192.168.171.1:8080/07_servlet/requestAPIServlet
客户端ip地址=>192.168.171.1
请求头user-Agent=>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36
请求的方式=>GET
3、如何获取请求参数?
1 | package com.lxg.servlet; |
4、请求的转发
1 | 1、什么是请求的转发? |
1 | package com.lxg.servlet; |
1 | package com.lxg.servlet; |
不能访问工程以外的资源
5、base标签的作用
1 |
|
1 |
|
1 | package com.lxg.servlet; |
6、web中的相对路径和绝对路径
1 | 在javaweb中,路径分为相对路径和绝对路径两种: |
7、web中 / 斜杠 的不同意义
1 | 在web中斜杠是一种绝对路径 |
6、HttpServletResponse类
1、HttpServletResponse类的作用
1 | HttpServletResponse类和HttpServletResponse类一样,每次请求进来,Tomcat服务器都创建一个Response对象传递给Servlet程序去使用,HttpServletRequest表示请求过来的信息,HttpServletResponse表示所有响应的信息。 |
2、两个输出流的说明。
1 | 1、字节流 getOutputStream();常用于下载(传递二进制数据) |
3、如何往客户端回传数据
要求:往客户端回传字符串数据
4、响应中文乱码的问题
1 | package com.lxg.servlet; |
5、请求重定向
1 | 请求重定向是指客户端给服务器发请求,如何服务器告诉客户端说,我给你一些地址,你去新地址访问,叫请求重定向(因为之前的地址可能已经被废弃) |
1 | 第一种方案 |
1 | 第二种方案(推荐使用) |