JavaWeb
1、基本概念
- 静态web html,css
- 动态web servlet/JSP/php
在java中,动态web资源开发的技术统称为javaweb
1.1、web应用程序
可以提供浏览器访问的程序
- a.html, b.html整合起来被外界访问
- 能访问到的任何一个页面和资源,都存在于世界某一角落的计算机上
web应用程序编写完毕后,若想被外界访问,需要一个服务器统一管理
1.2、静态web
- *.htm, *.html 可以直接读取
- request->web service->*.html-> response
- web页面无法动态更新,所有用户看到的都是一个页面,用JavaScript实现伪动态
- 无法和数据库交互
1.3、动态web
- request->webServerPlugin分别处理静态和动态资源->webServer->Response
- 假如动态资源出现错误,需要重新编写后台,停机维护
- 可以动态更新,可以与数据库交互,实现数据持久化(数据保存)
2、服务器
2.1、技术
php:
- 开发速度快,跨平台,代码简单
- 无法承载大访问量
JSP/Servlet:
- 基于java语言
- 可以承载高并发,高可用,高性能
- html里面嵌入java代码 .jsp
2.2、web服务器
被动的操作,用来处理用户的一些请求和给用户一些响应信息
IIS:
微软,windows中自带
Tomcat:
运行JSP和Servlet
3、Tomcat
3.1、下载
官网下载
3.2、启动和配置
文件夹信息
运行
访问http://localhost:8080 测试
配置文件
可以配置启动的host,port
网页根目录
3.3、网站访问流程
- 输入域名
- 在本机hosts文件中查找域名映射,没有则去DNS服务器
3.4、发布一个web网站
将自己写的网站放在webapps目录下
web.xml 不能删除,是网站的配置文件
4、HTTP
4.1、什么是HTTP
HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上
- 文本:html,字符串
- 超文本:图片,音乐,视频,定位,地图、、、、
- 默认端口80
HTTPS:安全的
- 端口443
4.2、两个时代
- http1.0
- HTTP/1.0 客户端可以与web服务器连接后,只能获得一个web资源,断开连接
- http2.0
- HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源
4.3、HTTP请求
- 客户端—Request—服务器
百度:
Request URL: https://www.baidu.com/ 请求地址
Request Method: GET
Status Code: 200 OK
Remote Address: 36.152.44.95:443 远程地址
Referrer Policy: strict-origin-when-cross-origin
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Connection: keep-alive
4.3.1、请求行
- 请求行中的请求方式:GET
- 请求方式:get,post,
- get 能够携带的参数少,大小有限,参数在URL中显示不安全,高效
- post 携带参数无限制,大小无限制,安全
4.3.2、消息头
Accept:告诉浏览器它所支持的数据类型
Accept-Encoding:支持的编码格式 GBK,utf-8,GB2312,ISO8859-1
Accept-Language:告诉浏览器它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
Host:主机
4.4、HTTP响应
Cache-Control: private 缓存控制
Connection: keep-alive 连接
Content-Encoding: gzip 编码
Content-Type: text/html;charset=utf-8 类型
4.4.1、响应体
Accept:告诉浏览器它所支持的数据类型
Accept-Encoding:支持的编码格式 GBK,utf-8,GB2312,ISO8859-1
Accept-Language:告诉浏览器它的语言环境
Cache-Control:缓存控制
Connection:告诉浏览器,请求完成是断开还是保持连接
Host:主机
Refrush:告诉客户端,多久刷新一次
Location:让网页重新定位
4.4.2、响应状态码
200:请求响应成功
3**:请求重定向
- 重定向:重新到新位置
4**:找不到资源
5**:服务器代码错误
5、项目搭建
- 搭建一个maven web项目
- 配置Tomcat
- 测试项目是否能够跑起来
- 导入项目中用到的jar包
- 创建项目包结构
- 编写实体类 ORM映射
- 编写基础公共类
- 数据库配置文件
- 编写数据库公共类
- 编写字符编码过滤器
- 导入静态资源
模块编写
- 编写前端页面
- 编写Dao层接口
- 编写Dao接口的实现类
- 编写业务层接口
- 编写业务层接口实现类
- 编写Servlet 控制层,调用业务层代码
- 注册Servlet
- 测试
- 写项目从底层向上写
- Servlet实现复用,需要判断方法