當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
【SpringMVC】登录状态验证
生活随笔
收集整理的這篇文章主要介紹了
【SpringMVC】登录状态验证
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄結構
說明
使用springmvc攔截器實現登陸驗證1. 把頁面放入到web-inf中.1.1 放入到web-inf中后必須通過控制器轉發到頁面.1.2 springmvc攔截器攔截的是控制器,不能攔截jsp2. 通過攔截器攔截全部控制器,需要在攔截器內部放行login控制器web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"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"><!-- 配置前端控制器 --><servlet><servlet-name>jqk</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>jqk</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!-- 字符編碼過濾器 --><filter><filter-name>encoding</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>encoding</filter-name><url-pattern>/*</url-pattern></filter-mapping> </web-app>springmvc.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 掃描注解 --><context:component-scan base-package="com.bjsxt.controller"></context:component-scan><!-- 注解驅動 --><!-- org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping --><!-- org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter --><mvc:annotation-driven></mvc:annotation-driven><!-- 靜態資源 --><mvc:resources location="/js/" mapping="/js/**"></mvc:resources><mvc:resources location="/css/" mapping="/css/**"></mvc:resources><mvc:resources location="/images/" mapping="/images/**"></mvc:resources><mvc:resources location="/files/" mapping="/files/**"></mvc:resources><!-- 視圖解析器 --><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/page/"></property><property name="suffix" value=".jsp"></property></bean><!-- 配置攔截器 --><mvc:interceptors><bean class="com.bjsxt.interceptor.LoginInterceptor"></bean></mvc:interceptors> </beans>login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title></head> <body> <form action="login" method="post">用戶名:<input type="text" name="username"/><br/>密碼:<input type="password" name="password"/><br/><input type="submit" value="登錄"/> </form> </body> </html>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 {@Overridepublic void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)throws Exception {// TODO Auto-generated method stub}@Overridepublic void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)throws Exception {// TODO Auto-generated method stub}@Overridepublic 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;} }總結
以上是生活随笔為你收集整理的【SpringMVC】登录状态验证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【SpringMVC】面试常见问题:总结
- 下一篇: 【SpringMVC】SpringMVC