注意: doGet(HttpServletRequest request, HttpServletResponse response)中用response.sendRedirect("")传的参数是 用request接收(与jsp中的response和request不一样,这里只是变量),而在使用session的时候要使用HttpSession 得到session,在获得session中的对象的时候,一样样得到session: HttpSession hs=request.getSession();然后hs.getAttribute(""); 跟jsp中不一样,jsp中直接就是request.getAttribute("");----注意一个是变量(servlet)一个是真的对象(jsp) 不同页面共享数据: 1,cookie cookie可以用来做什么? a)保存用户名,密码,在一定的时间不用重复登录 b)记录用户访问网站的爱好(比如有无背景音乐,网页的背景颜色) c)网站的个性化,,比如定制网站的服务,内容 cookie的使用: 在服务器创建一个Cookie Cookie c=new Cookie("color","red"); 设置时间 c.setMaxAge(3000);(这里的大于等于小于0的情况跟session的时间一样) //将Cookie回写到客户端 response.addCookie(c); 获得cookie: Cookie getCookie[]=request.getCookies(); 2,sendRedirect 优点:传送信息的速度快 缺点:它只能传送字符串,而不能传送一个对象 3,seesion 得到session:HttpSession hs=request.getSession(true); 向session中添加属性:hs.setAttribute(String name,Object name); 得带某个属性:String name=hs.getAttribute(String name); 从session中删除某个属性:hs.removeAttribute(String name); hs.hs.getMaxInactiveInterval(秒数); 如果大于0,则保留session的时间就为这个秒数(不是总的时间,而是中间不操作的时间) 等于0,则是清除session <0,则会一直保留该session 4,隐藏表单提交 tomcat的运用: 在连接数据库放几个.jar文件的时候: 1)可以放在WEB-INF下的lib文件下,但是这样这能让这一个web项目用 2)放在tomcat的公共lib下,这样所有的web都能用Sql的注入漏洞: 验证密码的时候同时验证用户名和密码: "select * from user_name='' and user_pwd='' " 如果密码是' or 1='1' 这样密码是错的也能登录,因此要一个一个的验证比较session 和Cookie: 1)存在的位置cookie保存在客户端,session保存在服务器端 2)安全性: 比较而言,cookie的安全性比session的安全性弱(cookie保存的密码在保存cookie的文件下是看的见的) 3)网络传输量: · cookie通过网络在客户端与服务器传输,而session不需要网络传输 4)生命周期 servletConText(保存在服务器---共享*******注意与session和Cookie的区别): 注意:因为servletContext中的数据会长时间的保留在服务器,会占用内存,因此建议不要向servletContext中 添加大量的数据 他的生命周期是从创建开始,到服务器关闭结束: ServletContext sc=this.getServletContext(); sc.setAttribute("name","lu"); String name=(String)sc.getAttribute("name");