码迷,mamicode.com
首页 > 其他好文 > 详细

(六)通过session登录注销

时间:2017-07-16 11:17:13      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:content   enc   array   首页   dex   用户   div   rac   rate   

一、index.jsp

	<form action="index" method="get">
		账户:<input type="text" name="username"/></br>
		密码:<input type="password" name="password"/></br>
		<input type="submit" value="提交"/>
	</form>

二、LoginServlet

public class LoginServlet extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		resp.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");
		req.setCharacterEncoding("utf-8");
		PrintWriter pw=resp.getWriter();
		
		String username=req.getParameter("username");
		String password=req.getParameter("password");
		List<User> list=DB.getAll();
		for(User user:list){
			if(user.getUsername().equals(username) && user.getPassword().equals(password)){
				pw.write("成功登陆!!");
				HttpSession session=req.getSession();
				//登陆成功,向session存入一个登陆标记
				session.setAttribute("user",user);
				//跳转首页,用重定向,url地址发生变化,用户能看到地址的变化
				resp.sendRedirect("login.jsp");
				return;
			}
		}
		pw.write("用户名或密码不对!!!");
		resp.sendRedirect("login.jsp");
	}
}

class DB{
	
	public static List list=new ArrayList();
	static {
		list.add(new User("张三","123"));
		list.add(new User("李四","abc"));
		list.add(new User("王五","12345"));
	}
	
	public static List getAll(){
		return list;
	}
}

三、login.jsp

<body>
	<h1>欢迎您: ${user.username} !!</h1>
	<a href="index.jsp">登录</a>
	<a href="loginout">退出登录</a>
</body>

四、web.xml

 <servlet>
    <servlet-name>session</servlet-name>
    <servlet-class>cn.itcast.login.LoginServlet</servlet-class>
  </servlet>
  
   <servlet>
    <servlet-name>loginout</servlet-name>
    <servlet-class>cn.itcast.login.LoginOutServlet</servlet-class>
  </servlet>
  
   <servlet-mapping>
    <servlet-name>loginout</servlet-name>
    <url-pattern>/loginout</url-pattern>
  </servlet-mapping>
 
  <servlet-mapping>
    <servlet-name>session</servlet-name>
    <url-pattern>/index</url-pattern>
  </servlet-mapping>

五、退出登录

//注销用户
public class LoginOutServlet extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		//只获得session,不获取session
		HttpSession session=req.getSession(false);
		if(session==null){
			resp.sendRedirect("login.jsp");
		}
		
		session.removeAttribute("user");
		resp.sendRedirect("login.jsp");
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		super.doPost(req, resp);
	}
}

  

  

  

  

 

(六)通过session登录注销

标签:content   enc   array   首页   dex   用户   div   rac   rate   

原文地址:http://www.cnblogs.com/syj1993/p/7189663.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!