目录
一、什么是JavaWeb
二、静态web和动态web
三、Web服务器(Tomcat)
四、Http
4.1 是什么
4.2 两个时代
4.3 Http请求
4.4 Http响应
五、Maven
六、Servlet
七、HttpServletResponse
7.1 常见应用
7.1.1 向浏览器输出消息
7.1.2 下载文件
7.1.3 验证码功能
7.1.4 实现重定向
八、HttpServletRequest
8.1 常见应用
8.1.1 获取前端传递的参数
8.1.2 请求转发
九、Cookie和Session
9.1 Cookie
9.2 Session
9.3 区别
一、什么是JavaWeb
在Java中,动态web资源开发的技术统称为JavaWeb
Web应用程序编写完毕后,若想提供给外部访问,需要一个服务器来统一管理
二、静态web和动态web
静态web
动态web
动态web的优点:
- web页面可以动态更新,所有用户看到的不是一个东西
- 可以与数据库交互(数据持久化)
三、Web服务器(Tomcat)
服务器:是一种被动的操作,用来处理用户的请求和给用户一些响应信息
如何使用Tomcat?
1、安装
2、了解文件夹的作用
3、启动/关闭Tomcat(方式之一)
访问测试:localhost:8080
4、配置
可以配置启动的端口号
- Tomcat默认端口号:8080
- Mysql:3306
- http:80
- https:443
四、Http
4.1 是什么
超文本传输协议,是一个简单的请求-响应协议,通常运行在TCP之上
- 文本:html、字符串
- 超文本:图片、音乐、视频、定位、地图
4.2 两个时代
HTTP 1.0:客户端与web服务器连接后,只能获取一个web资源,断开连接
HTTP 1.1:客户端与web服务器连接后,可以获得多个web资源
4.3 Http请求
客户端------发请求(Request)------服务器
请求方式:
- Get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但高效
- Post:请求携带参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但不高效
4.4 Http响应
服务端------响应(Response)------客户端
响应状态码【重点】
200:请求响应成功
3xx:请求重定向
4xx:找不到资源
5xx:服务器代码错误
五、Maven
是一个工具,帮我们自动导入和配置jar包
核心思想:约定大于配置(有约束,不要去违反)
maven环境优化:1、修改web.xml为最新的 2、将maven的结构搭建完整(补充java、resources包)
六、Servlet
把实现了Servlet接口的java程序叫做,Servlet
Servlet有两个默认实现类:HttpServlet,GenericServlet
为什么需要编写Servlet的映射?
我们写的是java程序,客户端要访问,需要连接web服务器。所以我们要在web服务器中注册写的servlet,并提供给它一个客户端能够访问的路径
七、HttpServletResponse
Web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,和代表响应的HttpServletResponse对象
- 如果要获取客户端请求过来的参数,找HttpServletRequest
- 如果要给客户端响应一些信息,找HttpServletResponse
7.1 常见应用
7.1.1 向浏览器输出消息
7.1.2 下载文件
1、要获取下载文件的路径
2、下载文件名是什么
3、让浏览器能够支持下载(设置头部文件信息)
4、获取下载文件的输入流
5、创建缓冲区
6、获取OutputStream对象
7、将FileOutPutStream流写入到buffer缓冲区
8、使用OutPutStream将缓冲区中的数据输出到客户端
7.1.3 验证码功能
7.1.4 实现重定向
面试题:请你聊聊转发和重定向的区别?
相同点:页面都会实现跳转
不同点:
- 请求转发的时候,url不会产生变化 (307)
- 重定向的时候,url会发生变化 (302)
八、HttpServletRequest
8.1 常见应用
8.1.1 获取前端传递的参数
8.1.2 请求转发
九、Cookie和Session
会话:用户打开一个浏览器,点击超链接,访问web资源,关闭浏览器,这个过程可以称之为对话
有状态对话:一个同学来过教室,下次再来教室,我们会知道这个同学曾经来过,称之为有状态对话
保存会话的两种技术:
1、cookie(客户端技术)
2、session(服务器技术)
9.1 Cookie
1、从请求中拿到cookie信息
2、服务器响应给客户端cookie
删除cookie:
- 不设置有效期,关闭浏览器,自动失效
- 设置有效时间为0
9.2 Session
服务器会给每个用户(浏览器)创建一个Session对象
删除session:
- 手动注销
- web.xml中配置
9.3 区别
- Cookie是把用户的数据写给用户的浏览器,浏览器保存
- Session是把用户的数据写到用户独占的Session中,服务器端保存