黄进安:
1. session:服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下) l 创建:在服务器启动时,浏览器访问服务器,第一次调用Servlet中Request.getSession();可以用isNew()方法来判断Session是不是新创建的 l 销毁: 1. 默认30分钟没有使用,则服务器会自动销毁session,在web.xml文件中可以手工配置session的失效时间 <!-- 设置Session的有效时间:以分钟为单位--> <session-config> <session-timeout>15</session-timeout> </session-config> 2. 调用session.invalidate(); 3. 非正常关闭服务器.如果正常关闭session序列化到硬盘. 2. 商品添加购物车案例 利用map集合的key保存商品名,value保存商品数量,将map集合保存在session中,在购物车页面中利用jsp技术将session保存的map中的信息提取出来即可 3. 验证码案例 在处理验证码的servlet中,将生成的字符添加到字符串中(用stringbuffer,方便添加),在将字符串保存在session中,然后在处理登入页面的servlet的中,获得登入页面客户提交的验证码的信息和保存验证码信息的session中的信息,两者在用户名和密码判断之前进行对比,根据对比进行相关登入处理即可. --->注意的是在获得完保存验证码的session之后把这个session移除,符合现实生活中验证码的即时性: request.getSession().removeAttribute("要移除的session名 "); 4. 关于点击验证码图片更新图片的时间戳扩展: 代码:通过点击鼠标事件(onclick)触发changeImg()函数 function changeImg(){ document.getElementById("img").src="/day0606/CheckImgServlet?time="+newDate().getTime(); } 根据获取的系统时间的即时性,所以每次点击图片提交的URL地址就变了,浏览器就会刷新缓存,否则,浏览器会认为,URL地址没变化,默认数据没变化,所以,不刷新缓存(你没变化,刷新干吗啊,不浪费我动作嘛) 5. Jsp: 浏览器向服务器发请求,不管访问的是什么资源,其实都是在访问Servlet,所以当访问一个jsp页面时,其实也是在访问一个Servlet,服务器在执行jsp的时候,首先把jsp翻译成一个Servlet,所以我们访问jsp时,其实不是在访问jsp,而是在访问jsp翻译过后的那个Servlet 基础语法: l JSP脚本表达式(expression)用于将程序数据输出到客户端 语法:<%= 变量或表达式 %> l JSP脚本片断(scriptlet)用于在JSP页面中编写多行Java代码。 l 语法: <% 多行java代码 %> 在<% %>中可以定义变量、编写语句,不能定义方法。 l JSP页面中编写的所有代码,默认会翻译到servlet的service方法中,而Jsp声明中的java代码被翻译到_jspService方法的外面。 语法: <%! java代码 %> 所以,JSP声明可用于定义JSP页面转换成的Servlet程序的静态代码块、成员变量和方法 6. Jsp中的三个指令和九大内置对象,概念性知识,还需多理解和代码实现一下.
|