Javaweb使用session机制实现显示登录用户

文章目录

  • Javaweb使用session机制实现显示登录用户
    • login.jsp
    • LoginServlet.java
    • main.jsp

Javaweb使用session机制实现显示登录用户


Javaweb使用session机制实现显示登录用户_第1张图片
在这里插入图片描述


login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>登录</title>
		<style type="text/css">
			span {
			color: red;
		}
		</style>
		<script type="text/javascript">
			function clearLoginMsg() {
				var spanEle = document.getElementById("login_span");
				spanEle.innerHTML = "";
			}
		</script>
	</head>
	<body>
		<h1>欢迎登录</h1>
		<form action="/web_study/LoginServlet" method="post">
			用户名称:<input name="username" type="text" onfocus="clearLoginMsg();">
			<span id="login_span">${login_msg}</span><br>
			用户密码:<input name="password" type="password"><br>
			<input type="submit" value="Login">
		</form>
	</body>
</html>

LoginServlet.java

package com.atguigu.login.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.atguigu.login.beans.User;
import com.atguigu.login.dao.UserDao;
import com.atguigu.login.dao.UserDaoImpl;

@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
    
    public LoginServlet() {
        super();
    }

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

	
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		
		System.out.println("请求过来了。。。。");
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");
		String username = req.getParameter("username");
		String password = req.getParameter("password");
		System.out.println(username+","+password);
		
		PrintWriter out = resp.getWriter();
		//验证用户名与密码是否正确
		UserDao userDao = new UserDaoImpl();
		User user = userDao.getUserByUsernameAndPassword(username, password);
		
		if(user == null) {
			out.print("登录失败");
			//转发之前,绑定数据,就是将想要交给下一个组件(JSP)处理的数据,绑定到request中
			req.setAttribute("login_msg", "用户名或密码错误!");
			//获取转发器
			RequestDispatcher rd = req.getRequestDispatcher("login.jsp");
			//开始转发
			rd.forward(req, resp);
		}else {
			//登录用户设置到session中
			HttpSession session = req.getSession();
			session.setAttribute("loginUser", user);
			resp.sendRedirect("main.jsp");
		}
		
	}

}

main.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>欢迎  <font color="blue">${sessionScope.loginUser.username }</font>  登录</h1>
</body>
</html>

你可能感兴趣的:(JavaWeb,javaweb,session)