J2EE个人笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。转载请附上博主博文网址,并标注作者。违者必究 https://blog.csdn.net/HuHui_/article/details/52347301

8-23

后台开发四大主键
applet 客户端 浏览器端(基本没用)
jsp(前后端分离后 常用)
servlet(常用)
ejb(淘汰了)

Http
基于请求响应模式
无状态(没办法维持状态)
应用层协议

TCP 三次握手 四次回收

请求行 (请求方法+ URI +Http 协议版本)
请求头
请求体

URI
index.html
URL,URI
https://www.baidu.com/index.html

浏览器地址栏直接回车是Get方法

常见的状态码:
1xx 提示信息 继续处理
2xx 成功信息
3xx (例如302)客户端重定向
4xx 客户端错误信息
5xx 服务端的错误

响应行
响应头
响应体

servlet
服务端的小程序

标砖的JAVA WEB 应用目录结构
META-INF
WEB-INF
lib
web.xml

协议://域名:端口/应用访问路径/uri(servlet)的映射路径

servlet工作模式 单实例多线程
servlet生命周期

load on startup
设置后可以先实例化 先读取配置文件等信息 否则如果配置文件等太大 会等用户初次请求才初始化 会导致缓慢加载
没有配置 load - on -startup 情况下,
第一次被访问的时候进行servlet对象实例化,
由servlet容器调用init方法进行初始化
每次请求调用service方法进行请求的处理
当容器关闭时调用destory方法释放资源

一个servlet类,可以配置成多个servelt实例
一个servlet实例。可以配置多个映射地址

refator 重构

MVC模式

Dao 持久层 (数据库操作:增删改查)

M:业务逻辑层(业务逻辑处理)
V:显示层

8-24

HTTP 无状态:如用户登录 后 刷新 并不能维持登录状态

既然HTTP协议的目的在于支持超文本的传输,更加广义一些就是支持资源的传输,那么在客户端浏览器向HTTP服务器发送请求,继而HTTP服务器将相应的资源发回给客户端这样一个过程中,无论对于客户端还是服务器,都没有必要记录这个过程,因为每一次请求和响应都是相对独立的,就好像你在自动售货机前投下硬币购买商品一样,谁都不会也不需要记住这样一个交易过程

HTTP本身是一个无状态的连接协议,为了支持客户端与服务器之间的交互,我们就需要通过不同的技术为交互存储状态,而这些不同的技术就是Cookie和Session了。

服务端重定向在内部跳转 与客户端没有任何关系,request 是一样的(request一直往下)
客户端重定向是重新发起请求 因为无状态的特点导致新的request和之前的没有关系(重新发起请求)

MVC
用处:程序复用
层次不是分的越多越好 影响程序性能
处理过程:(例子servlet 用户发送求求到服务端 服务端读取配置文件 客户端要求传到controller controller调用Model层进行业务处理 model层再DAO层进行数据的获取 Dao层返回数据到Model层 逐层返回到controller层 返回给客户端)

一个servlet容器(tomcat)可以部署多个应用(servletContext)
一个应用(servletConetext)可以对应多个servlet(Action)

8-25

// session 用于服务端维护用户状态
// cookie 用于客户端维护用户状态
// 两者需要配合完成用户状态的维护

// getsession () 等同于 getsession(true)
// 处理过程:通过jserssionid判断是否有session如果当前存在session 则直接返回当前的session 如果不存在则新建一个新的session

// getsession(false)(用户第一次创建的时候会使用这个方法判断)
// 处理过程:通过jserssionid判断是否有session如果当前存在session 则直接返回当前的session 如果不存在则返回null

猜你喜欢

转载自blog.csdn.net/HuHui_/article/details/52347301