黑马程序员技术交流社区

标题: java如何通过cookies登录,然后提交表单 [打印本页]

作者: 年少丶    时间: 2014-2-27 15:08
标题: java如何通过cookies登录,然后提交表单
有人有具体的实例吗?
作者: 1453149997    时间: 2014-4-2 13:18
本帖最后由 1453149997 于 2014-4-2 13:27 编辑

你的问题问的不明确;
代码目前没有但我可以提供思路;
(1)如果是javaee,那么如果用户在第一次登录时”选择记住用户信息,下次自动登录“那么在服务器端可以写一个cookie,名叫”loginInfo“,设置时间长短,在cookie中加入用户的用户名和密码,然后设置cookie的有效路径,然后把cookie通过response写到客户端,那么下次登录时,如果访问”loginInfo“的有效路径,客户端浏览器会把”loginInfo“带过去,服务器端会得到”loginInfo“解析出里面的信息,然后看数据库是否由此信息,有的话就自动登录
(2)
如果是类似QQ的那种胖客户端应用程序:(这个没做过,只是猜想)
如果用户选择记住密码,那么qq把用户的登录信息发送到服务器后,服务器在校验信息后,如果信息正确,服务器会把信息发给qq,qq会把信息保存在客户端的硬盘目录上,下次登录时qq会从指定目录获取信息并自动填写到qq输入框;

作者: 罗安迪    时间: 2014-4-2 13:42
本帖最后由 罗安迪 于 2014-4-2 13:46 编辑

cookies,就是饼干 = = 每次上网的时候你都会在网上留下一些饼干碎片,那些饼干作为一个对象在登陆器与服务器间用饼干的方式传递,例子···我找找 = =
//写cookie操作
Cookie cooki;
cooki=new Cookie("bbs_0001",String.valueOf(num));//用户ID
cooki.setMaxAge(60*60*24*365);//cookie存在的时间
response.addCookie(cooki);

//清空Cookie操作
Cookie[] cookies=request.getCookies();
try
{
for(int i=0;i<cookies.length;i++)
{
Cookie cookie = new Cookie("bbs_0001",null);
cookie.setMaxAge(0);
response.addCookie(cookie);
}
}catch(Exception ex)
{
out.println("清空Cookies发生异常!");
}

cookies一般都是在一个session里面的,session就是一次客户端与服务器端的交流~

添加session
session.setAttribute("isSessionLogin",name);
删除session
session.removeAttribute("isSessionLogin");
详细出处参考:http://www.jb51.net/article/17936.htm






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2