一、JSP的概念
二、JSP的生命周期
1.当Web应用部署并启动时,src中的java文件被编译,
但jsp没有编译
2.当第一次访问jsp页面时,Web应用创建java文件,并编译成class文件。jsp运行在内存中,等待被访问
3.第二次访问时,在内存中去找jsp,进行数据交互。
4.应用服务关闭,jsp才结束
三、JSP内置对象
out 输出对象
request 请求对象 携带客户端的数据
response 响应对象 设置响应的内容和格式 setContentType
session 会话对象 一个客户端与服务器的一次对话
application 全局对象 一个web应用只有一个applicaiton,作用域全局
四、Request对象
常用方法
getParameter("name") 获取页面的参数,封装成String
getParameterValues("name") 获取页面的参数,封装成数组
setCharacterEncoding("UTF-8") 解决Post方式,中文乱码问题
getRequestDispatcher("转发的页面").forward(req,resp)
转发当前的req,resp对象到另一个页面,但地址栏不发生改变
五、Response对象
常用方法
setContentType 设置响应的格式
sendRedirect 重定向,客户端直接跳转到另一个页面,发起第二次请求
注意:
1.get/post方式的区别
2.解决中文乱码的方法(get/post)
六、 重定向与转发的区别:
1、转发会保留之前的地址栏信息,不改变地址栏;重定向会改变地址栏
2、转发将数据传递给另一个页面;重定向是发起新的请求,不保留上次的请求数据
3、转发是一次请求;重定向是两次请求。
七、Session对象
1.什么是会话:客户端和服务器一段连续的交互行为(有时效性)
2.会话的作用:1.处理一个用户的信息 2.在有效会话中跨页面传值
3.会话的失效:
1.超时,在指定时间内不做与服务器的交互。
2.一个版本浏览器一个sessionId,关闭浏览器后,sessionId丢失,
导致基本上关闭浏览器后,客户端丢失Session
3.invalidate()
会话失效 推荐
4.removeAttribute() 删除登录信息,但sessionId不变 不推荐
八、application对象
1、什么是application:web应用对象,上下文,
一个Web应用只有一个application
2、application的作用:
1.处理多个用户的信息共享
2.整个应用中都能访问到
3、注意:
1.application在一个Web应用启动之后,就开始创建,当Web应用被移除,或是服务器关闭,才会消失。
2.关闭浏览器,并不会关闭application。
九、四大作用域
数据类型 变量名 作用域 范围
PageContext pageContext 一个page页面内 一个页面中
HttpServletRequest request 一次请求内 一次转发的多个页面
HttpSession session 一个会话内 一个会话中,多次请求
ServletContext application 一个Web应用内 一个应用中,多个会话
十、cookie
1.什么是Cookie:cookie是Web服务器保存在客户端的一系列文本信息
2.cookie的作用
1.
对特定对象的追踪
实现
2.各种个性化服务 3.简化登录
3.缺点:
安全性能
容易泄露信息
可以被客户端禁用
4.语法
创建cookie对象
Cookie newCookie = new Cookie(String key, String value);
写入cookie
response.addCookie(newCookie);
读取
Cookie[] cookies = request.getCookies();
十一、cookie与session的区别和联系
区别:
1.存储位置:
session存放在服务器的内存中
cookie存放在客户端的文件中
2.存储数据的类型
session可以存放Object类型
cookie只能存放String类型
3.生命周期
session中的数据随会话消失而消失
session时效结束
主动注销invalidate()
removeAttribute() 清除部分数据
cookie中的数据可以长期持久化存在客户端
cookie时效结束
浏览器清除cookie
removeAttribute() 清除部分数据
4.使用场景
session存放用户个人重要信息
(主键id、昵称、个人信息、所属区域、所属部门)
cookie 存放不重要信息
(个人收藏、购物车、加密后的账号密码)
5.数据量
session 理论上可以没有限制
cookie 存放量小
联系:
先有的cookie技术,再有的session技术
1.sessionId是由服务器创建,放在cookie中的
2.服务器 商城存物的密码柜
sessionId 秘密柜生成的条纹码
cookie 存有条纹码的一张纸
客户端 存放纸张的用户自己的口袋
创建不同
1.第一次请求服务器时(sessionId为空,cookie已经创建)
2.服务器判断sessionId为空,则分配一个sessionId和对应的内存
3.第一次响应时,客户端的cookie就会把sessionId存放在cookie中
4.第二次请求,携带sessionId到服务器
5.服务器根据sessionId匹配对应的内存空间
6.浏览器关闭,sessionId为空,服务器重新分配