response 和 request 内置对象
第一个PrintWriter out=response.getWriter()是想获得一个输出流,用来响应客户端发出的请求。所以想响应客户端必须用response第二个HttpSession session=request.getSession()是从客户端获得一个session的对象,这个对象包含客户端持有的相关信息用来区别每个客户端.既然是从客户端就必须用请求对象来获取,因为一般都是客户端向服务器端发出的一个请求.所以用request对象。Cookie和session这个得分开来说两个都可以用来存私密的东西,同样也都有有效期的说法。 区别在于。 session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过去与否可以在cookie生成的时候设置进去。 1、cookie数据存放在客户的浏览器上, session数据放在服务器上 2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session 3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用COOKIE 4、单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。 5、所以个人建议: 将登陆信息等重要信息存放为SESSION 其他信息如果需要保留,可以放在COOKIE中
baisession是request的变量,什么时候都是有对du象的。你应该zhi在用户登录的时候创建一个CUR_USER的变量加dao入到session中。用户退出时将CUR_USER从session中删除。
request.getSession()
1、request.getSession()可以帮你得到HttpSession类型的对象,通常称之为session对象,session对象的作用域为一次会话,通常浏览器不关闭,保存的值就不会消失,当然也会出现session超时。服务器里面可以设置session的超时时间,web.xml中有一个session time out的地方,tomcat默认为30分钟2、session.setAttribute("key",value);是session设置值的方法,原理同java中的HashMap的键值对,意思也就是key现在为“user”;存放的值为userName,userName应该为一个String类型的变量吧,看你自己的定义。3、可以使用session.getAttribute("key");来取值,以为着你能得到userName的值。4、注意:getAttribute的返回值类型是Object,需要向下转型,转成你的userName类型的,简单说就是存什么,取出来还是什么。5、setAttribute和getAttribute就是基于HashMap的put方法和get方法实现的,一般叫键值对或者key-value,即通过键找到值。例如你的名字和你的人的关系,只要一叫你的名字,你就会喊到,通过你的名字来找你的人,简单说这就是键值对的概念。
编码问题
response.setCharacterEncoding("utf-8");//第一句,设置服务器端编码
response.setContentType("text/html;charset=utf-8");//第二句,设置浏览器端解码
查看电脑编码方式:通过代码查看当前电脑的编码类型
、