静态web
动态web
持久化
网站访问过程
输入一个域名;回车
检查本机的C:\Windows\System32\drivers\etc\hosts配置文件下有没有这个域名映射;
有:直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问127.0.0.1 www.baidu.com
没有:去DNS服务器找,找到的话就返回,找不到就返回找不到;
发布一个web网站
--webapps :Tomcat服务器的web目录
-ROOT
-kuangstudy :网站的目录名
- WEB-INF
-classes : java程序
-lib:web应用所依赖的jar包
-web.xml :网站配置文件
- index.html 默认的首页
- static
-css
-style.css
-js
-img
-.....
Servlet原理
请求转发与重定向
重定向:web资源收到客户端A请求B后,B会通知A客户端去访问另外一个web资源C
Cookie
- cookie
1 从请求中拿到cookie信息
2 服务器响应给客户端cookie
客户端技术 (响应,请求)
- 一个Cookie只能保存一个信息;
- 一个web站点可以给浏览器发送多个cookie,最多存放20个cookie;
- Cookie大小有限制4kb;
- 300个cookie浏览器上限
Session(重点)
什么是Session:
- 服务器会给每一个用户(浏览器)创建一个Seesion对象;
- 一个Seesion独占一个浏览器,只要浏览器没有关闭,这个Session就存在;
- 用户登录之后,整个网站它都可以访问!–> 保存用户的信息;保存购物车的信息……
使用场景:
-
保存一个登录用户的信息;
-
购物车信息;
-
在整个网站中经常会使用的数据,我们将它保存在Session中;
Session和cookie的区别: -
Cookie是把用户的数据写给用户的浏览器,浏览器保存 (可以保存多个)
-
Session把用户的数据写到用户独占Session中,服务器端保存 (保存重要的信息,减少服务器资源的浪费)
-
Session对象由服务创建;
JSP
以前的架构
MVC三层架构
Model
- 业务处理 :业务逻辑(Service)
- 数据持久层:CRUD (Dao - 数据持久化对象)
View
- 展示数据
- 提供链接发起Servlet请求 (a,form,img…)
Controller (Servlet)
- 接收用户的请求 :(req:请求参数、Session信息….)
- 交给业务层处理对应的代码
- 控制视图的跳转
框架
- 登录
- 接收用户的登录请求
- 处理用户的请求(获取用户登录的参数,username,password)
- 交给业务层处理登录业务(判断用户名密码是否正确:事务)
- Dao层查询用户名和密码是否正确
- 数据库
Filter (重点)
Filter:过滤器 ,用来过滤网站的数据;
- 处理中文乱码
- 登录验证….
JDBC
什么是JDBC : Java连接数据库!
JDBC固定步骤
- 加载驱动
- 连接数据库,代表数据库
- 向数据库发送SQL的对象Statement : CRUD
- 编写SQL (根据业务,不同的SQL)
- 执行SQL
- 关闭连接(先开的后关)
参考作者:狂神说
参考链接:https://www.bilibili.com/video/BV12J411M7Sj