1.概念:Java Server Pages:java服务器端页面
可以理解为一个特殊的页面,其中既可以写html代码也可以写java代码
用于简化书写
2.原理:jsp本身就是一个Server
3.jsp脚本
<%代码%>:定义java代码,在Server方法中,Server可以定义什么,改脚本就可以定义什么。
<%!代码!%>:定义java代码,在jsp转为java类的成员位置
<%=代码%>:定义java代码,会输出到页面上。输出语句定义什么,该脚本就可以定义什么
4.jsp内置对象 request response out:字符输出流,可以输出到页面上和response.getWriter()类似 在tomcat服务器真正给用户响应之前会先找response.getWriter()的缓冲区,再找out缓冲数据区 response.getWriter()的数据永远在out数据之前
session的实现是依赖于Cookie
session细节
细节1:创建session对象
HttpSession session = request.getSession();
如果服务器不关,用户端关闭,则默认访问的不是同一个session
如果要像是同一个创建Cookie对象键值设置为JSESSIONID,值为session.getId()
Cookie cookie = new Cookie("JSESSIONID", session.getId());
设置存活时间
cookie.setMaxAge(60*60);
然后响应回浏览器 response.addCookie(cookie);
细节2:服务器关闭,浏览器不关闭,不会是同一个session
可以使用tomcat自动完成
session钝化
在服务器正常关闭前,将session对象系列化到硬盘上
session活化
在服务器启动后,将session文件转化为session对象即可
细节3:session何时会被销毁
1.服务器关闭
2.session调用session.invalidate();方法
3.session默认是30min后自动销毁
也可以自己设置时间
在web.xml中单位是分钟
<session-config> <session-timeout>30</session-timeout> </session-config>
session的特点
1.session用于存储一次会话多次请求的数据,存在服务器端
2.session可以存储任意类型,任意大小的数据
session与cookie的区别
1.session存储数据在服务器端,cookie 存储数据在客户端
2.session没有数据大小限制,而cookie有
3.session数据安全,cookie相对不安全