培训机构Day27

今天看老师给我们实现了登录功能前后端实现,在不借助成熟框架来实现对于初学者来说难度确实很大。需要大量时间练习。

知识点:

设计模式:面向对象的语言。对某个特定领域特定场景问题的最佳解决方案。

1.单例模式。singleton。单个实例,单个对象。

1.1 懒汉式:将实例化延迟到第一次获取实例。可以通过双检锁(Double-check)实现线程安全。

1.2 饿汉式:提前创建类的唯一实现,线程安全的。

1.3 登记式:spring框架。可以对任意类进行单例。通用的。

volatile:表示禁止指令重排,禁止优化。一旦有写操作,其它线程第一时间可以看到。

int a = 10;

int b = 20;

int c = 30;

sout(a+b+c)

xxx.properties

xxx.xml

xxx.yml

============================================

监听器:监听特定的事件,当事件发生时,进行特定的业务处理。listener

1.ServletContextListener:最常用。只会触发一次。应用启动时触发。

2.ServletContextAttributeListener:监听全局域对象存储数据,修改数据,移除数据。

3.ServletRequestListener:监听请求创建和销毁的。反复触发。

4.ServletRequestAttributeListener:监听请求域对象存储数据,修改数据,移除数据。

5.HttpSessionListener:监听会话域的创建与销毁。

6.HttpSesssionAttributeListener:监听会话域对象存储数据,修改数据,移除数据。

域对象四种:存储数据的容器。

1.页面域。PageContext,仅限于当前jsp页面。通过页面域,可以获取其余三个域对象。pageContext

2.请求域。HttpServletRequest,每次请求,都会创建全新的请求域对象。request

3.会话域。HttpSession,从首次请求应用开始,直到离开应用,称之为一个会话。session

4.全局域。ServletContext。一个应用有唯一的一个全局域。application

jsp内置对象:9个内置对象。

1.pageContext:页面域

2.request:请求域

3.session:会话域对象

4.application:全局域对象

5.response:响应对象。

EL表达式取数据的顺序:页面域->请求域->会话域->全局域

会话保持技术:

1.Session:HttpSession。当用户离开应用(关闭浏览器窗口),会话消失。或者超过默认超时时间。安全的。

编号:jsessionid=xxxxxxxxxxxxxxxxxxxxxxxx

2.Cookie:客户端浏览器,在每次请求时,可以向服务器传输不大的数据。存储数据在客户端。

---3.使用参数传递。

---4.手动将jessionid设置到请求头中。

5.使用token代替cookie。

过滤器:filter

1.中文编码过滤器。

2.身份验证。

1.请求转发forward:服务器端转发,原来的请求对象和响应对象不变,直接转发到下一个servlet,客户端无感知,地址不变。

适合场景:两个Servlet是共同完成一个事情。

2.重定向redirect:服务器告知客户端改变请求地址,而是创建一个新的请求,客户端地址会发生改变。

适合场景:一个新的请求,完成一个新的事情。

1.认证过滤器,设置过滤/admin/*,尽量不要拦截/*。要求后台所有业务请求必须以/admin/开头,且静态资源文件必须不能以/admin开头。

相关推荐
-银雾鸢尾-3 小时前
C#中的拓展方法
开发语言·c#
guodingdingh5 小时前
软件开发工作问题总结0718
java·开发语言·数据库
daols886 小时前
vxe-table 渲染器教程一:实现金额输入控件
javascript·vue.js·vxe-table
咖啡八杯6 小时前
GoF设计模式——解释器模式
java·后端·spring·设计模式
触底反弹6 小时前
🔥 React 零基础入门(中):500 行屎山代码到组件化的蜕变
前端·javascript·react.js
优橙教育7 小时前
5G网优培训 vs Java开发:转行选哪个?
java·开发语言·5g
糖果店的幽灵7 小时前
【DeepAgents 从入门到精通】Context Management 上下文管理
java·人工智能·后端·spring·中间件·langgraph·deepagents
腻害兔8 小时前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:字典、短信、邮件、通知——后台系统的“基础设施四件套“!
java·前端·vue.js·产品经理·ai编程
SeaTunnel8 小时前
从 Python Script 地狱到标准化数据集成框架
大数据·开发语言·python·程序员·代码·seatunnel
碎光拾影9 小时前
ARM交叉工具链各工具作用及IMX6ULL平台LED+蜂鸣器裸机程序实现
java·开发语言·数据库