JSP组成:
注释、静态内容、指令、声明、小脚本、表达式
JSP九大内置对象
out、request、response、session、application、Page、pageContext、exception、config
其中常用的为:out、request、response、session、application
get与post的区别:
get:以明文的方式通过url提交数据,数据在url中可以看到。提交数据不超过2kb。安全性较低,但效率比post高。适合提交数据量不大,安全性不高的数据,不如:搜索、查询等功能。
post:将用户提交的信息封装到HTML HEADER内,适合提交数据量大,安全性较高的用户。比如:注册,修改,上床等功能。
请求重定向与请求转发的区别:
请求重定向:客户端行为,从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的url地址改变。
//response.setRedirect("reg.jsp");
请求转发:服务器行为,是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。
//request.getRequestDispatcher("request.jsp").forward(request,response);
Session
在服务器内存中保存着不同用户的Session。
Session对象在第一个JSP页面被装载时自动创建,完成会话期管理。
从第一个客户端打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
当客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应通过某种方法指导这是一个客户,所以需要Session。
Session是HttpSession实例。
Session的生命周期:
创建:客户端第一次访问JSP或Servlet,创建一个SessionId,客户端每次请求都将SessionId带过去,服务器进行验证。
活动:①某次会话超链接
②当前会话页面没有全部关闭
③本次会话所有页面都关闭后,再重新访问某个JSP或Servlet将创建新的会话
销毁:①调用了session.invalidate()
②过期(Tomcat默认30min过期)
③服务器重启
Cookie
保存在客户端;
典型应用:①判断用户是否已经登录网站
②“购物车”的处理
作用:对特定对象的追踪;
保存用户网页浏览记录与习惯;
简化登录。
安全风险:容易泄露用户信息。
创建Cookie:Cookie newCookie = new Cookie(String key,Object value);
写入Cookie对象: response.addCookie(newCookie);
读取Cookie: Cookie[] cookies = request.getCookies();
Cookie与Session对比:
相同:都是保存用户状态的机制,都会过期
不相同:
session
①在服务器端保存用户信息
②session保存的是Object类型
③随会话的结束而将其存储的数据销毁
④保存重要信息
cookie
①在客户端保存用户的信息
②保存String类型
③cookie可以长期保存在客户端
④保存不重要信息