Java判断用户是否登陆

   在写代码的时候,很多功能的使用需要用户先登陆;
   判断用户是否登陆分为前端判断和后端判断两种方法,一般来说前端用户登录验证不安全;直接上代码。

1.前端jsp页面验证代码:
如果未登录则跳转到登录页面。注意,我这里是在登录时会将user存到session域当中。

<%
		// 权限验证
		if(session.getAttribute("user")==null){
			response.sendRedirect("login.jsp");
			return;
		}
	%> 

登录的后台代码附上:

protected void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取前台页面用户名文本框中的数据
		String username=request.getParameter("username");
		//获取前台页面密码文本框中的数据
		String password=request.getParameter("password");
		System.out.println(username);
		UserService us=new UserServiceImpl();
		//查询用户
		User user = us.getUser(username, password);
		System.out.println(user);
		if(user!=null){
			// 获取Session对象
			HttpSession session = request.getSession();
			// 将用户保存到session域中
			session.setAttribute("user", user);
			//重定向到某个页面
			response.sendRedirect("begin.jsp");
		}else{
			System.out.println("登录失败");
			request.setAttribute("msg","用户名或者密码错误!!!");
			request.setAttribute("username", username);
			request.getRequestDispatcher("login.jsp").forward(request, response);
		}
	}

2.后台验证代码:
主要也是取session域的值进行判断.如果未登录则跳转到登录页面.

//往购物车添加商品(添加单间商品)
    protected void addCart(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
    	//判断是否登录,没登录的话先登录
    	User user = (User) request.getSession().getAttribute("user");
    	if(user==null){
    		request.getRequestDispatcher("login.jsp").forward(request, response);
    	}else{
    		//获取商品的id
        	String productId=request.getParameter("id");
        	System.out.println(productId);
        	//根据商品的id查询该商品
        	FoodService bs=new FoodServiceImpl();
        	Food Food=bs.getFoodById(productId);
        	//从session获取购物车
        	Cart cart=(Cart) request.getSession().getAttribute("cart");
        	//购物车为空的话创建一个购物车
        	if(cart==null){
        		cart=new Cart();
        		request.getSession().setAttribute("cart",cart);
        		List list=cart.getCartItems();
        		for (Object object : list) {
    				System.out.println(object.toString());
    			}
        	}
    		cart.addFood2Cart(Food);                                        
        	request.getSession().setAttribute("newTitle",Food.getName());
        	//获取响应的url地址
        	String path=request.getHeader("Referer");
        	response.sendRedirect(path);
    	}	
    }

你可能感兴趣的:(Java,java,jsp,session)