vs网站开发教程,阿里云网站建设 部署与发布,新手学做网站看什么书,熊掌号怎么做网站跳转链接一、实验介绍 1.1 实验内容 本节课程主要利用 Spring MVC 框架实现拦截器以及 Spring MVC 框架的整合。 1.2 实验知识点 Spring MVC 框架拦截器1.3 实验环境 JDK1.8Eclipse JavaEE二、实验步骤 2.1 拦截器实现 在项目 hrms 的目录 src/main/java 下新建包 com.shiyanlou.interc…一、实验介绍 1.1 实验内容 本节课程主要利用 Spring MVC 框架实现拦截器以及 Spring MVC 框架的整合。 1.2 实验知识点 Spring MVC 框架拦截器1.3 实验环境 JDK1.8Eclipse JavaEE二、实验步骤 2.1 拦截器实现 在项目 hrms 的目录 src/main/java 下新建包 com.shiyanlou.interceptor并在该包下新建类 LoginInterceptor来验证用户是否登录代码如下 package com.shiyanlou.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 { // 不拦截 /login 请求 private static final String[] IGNORE_URI { /login }; Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { } Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { } // 该方法将在 Controller 处理前进行调用 Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // flag 表示是否登录 boolean flag false; // 获取请求的 URL String url request.getServletPath(); for (String s : IGNORE_URI) { if (url.contains(s)) { flag true; break; } } if (!flag) { // 获取 Session 并判断是否登录 String username (String) request.getSession().getAttribute( username); if (username null) { request.setAttribute(message, Please log in first!); // 如果未登录进行拦截跳转到登录页面 request.getRequestDispatcher(/login.jsp) .forward(request, response); } else { flag true; } } return flag; } } 2.2 spring-mvc.xml 配置文件 在目录 src/main/resources 下新建 Spring MVC 配置文件 spring-mvc.xml添加如下代码 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beans xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlns:contexthttp://www.springframework.org/schema/context xmlns:mvchttp://www.springframework.org/schema/mvc xsi:schemaLocationhttp://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-4.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd !-- 自动扫描该包Spring MVC 会将包下用 Controller 注解的类注册为 Spring 的 controller -- context:component-scan base-packagecom.shiyanlou.controller / !-- 设置默认配置方案 -- mvc:annotation-driven / !-- 静态资源访问 -- mvc:resources location/ mapping/** / !-- 视图解析器 -- bean idviewResolver classorg.springframework.web.servlet.view.InternalResourceViewResolver property nameprefix value/ / property namesuffix value.jsp / /bean bean idmultipartResolver classorg.springframework.web.multipart.commons.CommonsMultipartResolver property namemaxUploadSize value3500000 / property namedefaultEncoding valueUTF-8 / /bean !-- 配置拦截器 -- mvc:interceptors mvc:interceptor mvc:mapping path/* / bean classcom.shiyanlou.interceptor.LoginInterceptor / /mvc:interceptor /mvc:interceptors /beans 2.3 配置 web.xml 修改项目 hrms 的 src-main-webapp-WEB-INF 目录下的 web.xml 内容如下 ?xml version1.0 encodingUTF-8? web-app xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://java.sun.com/xml/ns/javaee xmlns:webhttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd idWebApp_ID version3.0 display-namehrms/display-name !-- 配置 Spring 核心监听器 -- listener listener-classorg.springframework.web.context.ContextLoaderListener/listener-class /listener !-- 指定 Spring 的配置文件 -- context-param param-namecontextConfigLocation/param-name param-valueclasspath:spring-mybatis.xml/param-value /context-param !-- 定义 Spring MVC 前端控制器 -- servlet servlet-namespringMVC/servlet-name servlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class init-param param-namecontextConfigLocation/param-name param-valueclasspath:spring-mvc.xml/param-value /init-param load-on-startup1/load-on-startup /servlet !-- 为 DispatcherServlet 建立映射 -- servlet-mapping servlet-namespringMVC/servlet-name url-pattern//url-pattern /servlet-mapping listener listener-classorg.springframework.web.util.IntrospectorCleanupListener/listener-class /listener !-- 编码过滤器 -- filter filter-nameencodingFilter/filter-name filter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-class init-param param-nameencoding/param-name param-valueUTF-8/param-value /init-param init-param param-nameforceEncoding/param-name param-valuetrue/param-value /init-param /filter filter-mapping filter-nameencodingFilter/filter-name url-pattern/*/url-pattern /filter-mapping !-- 设置首页 -- welcome-file-list welcome-filelogin.jsp/welcome-file /welcome-file-list /web-app 三、实验总结 到这里我们就实现了拦截器和 Spring MVC 的整合项目的代码全部完成下一节我们将对实现的系统进行运行测试。转载于:https://www.cnblogs.com/wanghuaijun/p/7076772.html