您的位置:首页 > 其它

利用Session完成用户的登录和注销(1)

2012-11-06 23:13 323 查看
首页是注册和注销 还有欢迎你xxx

这里要利用session技术,因为每一个网页上都显示用户名

request.getSession().setAttribute("user", u);//登录成功,将用户数据放入到Session中

session.removeAttribute("user");

index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>My JSP 'index.jsp' starting page</title>

</head>

<body>
欢迎您,${user.username}
<br>
<a href="${pageContext.request.contextPath}/login.jsp">登录</a>
<a href="${pageContext.request.contextPath}/servlet/LoginOut">注销</a>

</body>
</html>


Login.java

package com.jingtian.controller;

import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jingtian.javabean.User;

public class Login extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setHeader("Content-type", "text/html;charset=UTF-8");
OutputStream out=response.getOutputStream();

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

List<User> list = Db.getAll();
for(User user: list){
if(user.getUsername().equals(username) && user.getPassword().equals(password)){
request.getSession().setAttribute("user", user);//登录成功,将用户数据放入到Session中
response.sendRedirect("/BaiDuUser/index.jsp"); //相对路径????????????
return;//进行重定向,并且下面的代码不再执行
}
}
out.write("您的应户名或密码错误".getBytes("UTF-8"));
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}

}

class Db{
public static List<User> list = new ArrayList<User>();
static{
list.add(new User("aaa","123"));
list.add(new User("bbb","123"));
list.add(new User("ccc","123"));
}

public static List<User> getAll(){
return list;
}
}


LoginOut.java

package com.jingtian.controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginOut extends HttpServlet {
 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  HttpSession session = request.getSession(false);// 防止创建Session
  if (session == null) {
   System.out.println("sss");
   response.sendRedirect("/BaiDuUser/index.jsp");
   return;
  }
  session.removeAttribute("user");
  response.sendRedirect("/BaiDuUser/index.jsp");
 }
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  doGet(request, response);
 }
}

User.java

package com.jingtian.javabean;

public class User {
private String username;
private String password;

public User() {
super();
}
public User(String username, String password) {
super();
this.username = username;
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}

}


 

 





 



 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: