1,cookie//cookie是保持的客户端的,一般用于用户登录,保持用户登录的信息,第二次访问的时候可以直接
通过cookie验证登录,以及权限问题,当然cookie是不安全的,一般是权限验证不用cookie。cookie,必须自己设置时间
如果不设置那么客户端就不能生成cookie,当cookie过期的时候会自动失效,例如:网站两周内不用在登陆
就是用cookie实现的,cookie有一个方法是:setMaxAge(int expiry) ,那么这里就是setMaxAge(14*24*3600) ;
cooke是按照秒计算的,两周14天,一天24小时,24小时 一小时是;3600秒
2,session//session是一次会话,session默认时间是30分钟,session把接收的参数setattribute(key value);
那么session是怎么得到的呢?
通过HttpSession session =request.getSession();//类似于实例化
session既然用默认时间,那么这里也可以自己设置,也可以修改tomcat服务器的config目录下面的web.xml文件
找到session-config修改,30分钟时之的是用户的发呆时间,而不是累积时间。
第二种就是自己的session的一个方法session.setMaxInactiveInterval(int interval);也是按照秒计算的。
具体方法可以参照帮助文档。
在其他的页面getattribute(key);只要浏览器不关闭你可以在所有的页面传递;
功能:
(1)网站的购物车,我在不同页面购买的商品要放在,我的另一个页面的购物篮中,那么我们就用session
共享,那么购物篮是怎么判断就是我在不同页面买的商品呢?session是通过session id判断的,一次会话服务器就会生成一个sessionid
(2)保存用户信息,有些页面访问,必须要用户登录,在这里就可以判断,防止用户非法登录。
在共享的页面通过session.getattribute();得到key,就行;假如你判断用户到这个页面用没有登录,你可以知道
if(session=null){
request.sendRedirect();//写上你要跳转的路径
}
(3)大型网站做的注销功能,就是让session失效,调用的是invalidate()方法的。
3,sendRedirect();页面的重定向(跳转),get传参sendRedirect(welcom?name=laofeng&password=laofeng);
优点:传递信息的速度比较快,也比较简单。
如果你在接受参数并显示,那么你还是用request.getparameter();得到数据;然后再网页显示,
PrintWriter out = response.getWriter();
out.print();打印;现在很少用这个。在开发中你就看到他的弱点了。
记住接收客户端传递的参数,永远用request.getparameter();返回时一个字符串String类型的。
缺点:只能传递字符串,而不能传递对象;如果你共享的是一个对象的话,那么这个对象就不好使用了。传递字符的时候
记住要处理字符编码问题:
4,隐藏标题from,hidden属性;如果你hidden 那么久 那么在网页中是显示不出来的,但是你可以把要提交的数据提交到
服务端
<input type="hidden" name="myhiddem" /> 这样你就可以通过from控件把数据传递到服务器,比方说修改数据,需要告诉数据库
修改那条就,我们这里传递id,来修改id,这个id是也是点击修改时候传递的。