首页 新闻 会员 周边

用session写的一个用户登录

0
[待解决问题]

用session写了一个实现用户登录,但是输入用户名和密码后,却返回还没登录。我个人认为是属性值没有传过去。但是不知道哪里有错。希望大神指点。谢谢

Login1.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

<form name = "reg" action = "/TheSixSection/LoginServlet" method = "post">
用户名:<input name = "username" type = "text"/><br>
密 码:<input name = "password" type = "password"/><br>
<input type = "submit" value = "登录" id = "bt"/>
</form>
</body>
</html>

 

IndexServlet1.java

//这个是欢迎页面,把doGet 方法贴出

//防止乱码
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();

//创建一个session对象
HttpSession session = request.getSession();
User user = (User)session.getAttribute("user");

if(user == null){
out.print("您还没有登录,请<a href = '/TheSixSection/Login1.html'>登录</a>");

}else{
out.println("欢迎登录"+user.getUsername()+"!");
out.println("<a href = '/TheSixSection/LogoutServlet'>退出</a>");

//创建cookie存放session标识符
Cookie cookie = new Cookie("JSESSIONID", session.getId());
cookie.setMaxAge(60*30);
cookie.setPath("/TheSixSection");
response.addCookie(cookie);
}

 

LoginServlet.java

//显示doGet方法

response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();

String username = request.getParameter("username");
String password = request.getParameter("password");

//假设正确的用户名是:youli,密码是123
if(("youli").equals(username)&&("123").equals(password)){
User user = new User();
user.setUsername(username);
user.setPassword(password);
request.setAttribute("user", user);
response.sendRedirect("/TheSixSection/IndexServlet1");
}else{
out.write("用户名或密码错误,请重新登录");
}

 

 
取个名不容易的主页 取个名不容易 | 菜鸟二级 | 园豆:210
提问于:2016-10-28 01:03
< >
分享
所有回答(3)
0

能把code贴好吗?这样看的人比较多,被解决的概率也比较高!也就我有耐心看你的code了!还有问问题时可以在底下打上标签,是java?C#?c++? C?

~扎克伯格 | 园豆:1923 (小虾三级) | 2016-10-28 09:41

我是新手,第一次提问,不太会呀

支持(0) 反对(0) 取个名不容易 | 园豆:210 (菜鸟二级) | 2016-10-28 10:52

不过还是谢谢提醒

支持(0) 反对(0) 取个名不容易 | 园豆:210 (菜鸟二级) | 2016-10-28 10:57

 截错图了,圈起来的是两个按钮,一个是插入代码,一个是插入HTML,我还一直想说,这样一个图标,一个HTML字,感觉好像是一个按钮一样。。。

支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2016-11-02 11:21
0

下次问问题的时候注意抓住重点.这样我都不知道是什么语言啊  也懒得看

复返 | 园豆:215 (菜鸟二级) | 2016-10-28 09:52

哦,我是用的java语言呀。写的是Java web程序。

好像是我所赋值的对象并没有传到HttpSession对象中去。但是我不知为什么。

支持(0) 反对(0) 取个名不容易 | 园豆:210 (菜鸟二级) | 2016-10-28 10:56
0

应该在接收值时,把值set到session里吧。我感觉应该是这样,希望能帮到你!

_konan | 园豆:202 (菜鸟二级) | 2016-10-30 23:56

谢谢,我再看一下吧

支持(0) 反对(0) 取个名不容易 | 园豆:210 (菜鸟二级) | 2016-10-31 21:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册