java mvc登录验证_【SpringMVC】登录状态验证

目录结构

adf8ec1d70ee6dc2ffebb6d921888e59.png

说明

ed193b779cb094cb398c9b2ba687f7f2.png

使用springmvc拦截器实现登陆验证

1. 把页面放入到web-inf中.

1.1 放入到web-inf中后必须通过控制器转发到页面.

1.2 springmvc拦截器拦截的是控制器,不能拦截jsp

2. 通过拦截器拦截全部控制器,需要在拦截器内部放行login控制器

web.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

jqk

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:springmvc.xml

1

jqk

/

encoding

org.springframework.web.filter.CharacterEncodingFilter

encoding

utf-8

encoding

/*

springmvc.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:context="http://www.springframework.org/schema/context"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd

http://www.springframework.org/schema/mvc

http://www.springframework.org/schema/mvc/spring-mvc.xsd">

login.jsp

pageEncoding="UTF-8"%>

Insert title here

用户名:

密码:

DemoController.java

package com.bjsxt.controller;

import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.PathVariable;

import org.springframework.web.bind.annotation.RequestMapping;

import com.bjsxt.pojo.Users;

@Controller

public class DemoController {

@RequestMapping("{page}")

public String main(@PathVariable String page){

System.out.println("restful");

return page;

}

@RequestMapping("login")

public String login(Users users,HttpSession session){

if(users.getUsername().equals("admin")&&users.getPassword().equals("123")){

session.setAttribute("users", users);

return "main";

}else{

return "redirect:/login.jsp";

}

}

}

LoginInterceptor.java

package com.bjsxt.interceptor;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.HandlerInterceptor;

import org.springframework.web.servlet.ModelAndView;

public class LoginInterceptor implements HandlerInterceptor {

@Override

public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)

throws Exception {

// TODO Auto-generated method stub

}

@Override

public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)

throws Exception {

// TODO Auto-generated method stub

}

@Override

public boolean preHandle(HttpServletRequest req, HttpServletResponse res, Object arg2) throws Exception {

String uri = req.getRequestURI();

if(uri.equals("/springmvc03/login")){

return true;

}else{

Object obj = req.getSession().getAttribute("users");

if(obj!=null){

return true;

}

res.sendRedirect("/springmvc03/login.jsp");

return false;

}

}

}

Users.java

package com.bjsxt.pojo;

public class Users {

private int id;

private String username;

private String password;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

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;

}

}

db96660b54422df3b4d080dc17bdfe94.png

4a668feaa3018a2e1706f07e5002bcc8.png

寒泉Hq

发布了562 篇原创文章 · 获赞 202 · 访问量 19万+

他的留言板

关注

标签:web,return,String,登录,验证,SpringMVC,springframework,import,public

来源: https://blog.csdn.net/sinat_42483341/article/details/104080744

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值