Session保存用户名到Session域对象中

Session保存用户名

 

1.构造登录界面

用户名:
密   码:

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Session保存用户名</title>
</head>
<body>

<form action="doS3" method= "post">
	用户名:<input type="text" name="name"/><br/>
	密   码:<input type="password" name = "pwd"><br/>
	<input type="submit">
</form>

</body>
</html>

  2.获取Session并将用户名保存到Session域对象中

package com.oaec.session;

import java.io.IOException;
import java.util.Date;

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 servletDemo3 extends HttpServlet {
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("UTF-8");
		resp.setContentType("text/html;charset=UTF-8");
		// req.getAttribute(arg0)
		String name = req.getParameter("name");
		String pwd = req.getParameter("pwd");
		if ("高圆圆".equals(name) && "123".equals(pwd)) {
			// 将用户名保存在session中
			// 1.获得session
			HttpSession session = req.getSession();
			// 2.将用户名保存在session中
			session.setAttribute("uname", name);
			resp.sendRedirect("doS4");

		} else {
			resp.sendRedirect("index.html");
		}
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
}

  

3.从Session中取出数据  并对页面进行保护  没有登录通过URL访问 直接重定向到登录界面  即主页

 

package com.oaec.session;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

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 servletDemo4 extends HttpServlet{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("UTF-8");
		resp.setContentType("text/html;charset=UTF-8");
		//从session中取出数据
		HttpSession session = req.getSession(false);
		Object object = null;
		if (session != null && (object = session.getAttribute("uname"))!=null) {		
				PrintWriter writer = resp.getWriter();
				writer.write("登录成功<br>");
				writer.write("欢迎你"+object);
			}else {
				//没有登录过 直接重定向到主页
				resp.sendRedirect("index.html");
			}
		}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doGet(req, resp);
	}
}

  

posted @ 2017-02-28 14:13  john。  阅读(9884)  评论(1编辑  收藏  举报