导包就不记了。
web.xml:
<!-- Spring MVC 核心控制器 通过此DispatcherServlet分发到各逻辑单元-->
<servlet>
<servlet-name>coreAction</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- <init-param>节点中配置了名为“contextConfigLocation”的
Servlet参数,此参数指定了Spring配置文件的位置“/WEB-INF/Config.xml”。
如果忽略此设定,则默认为“/WEB-INF/<servlet name>-servlet.xml”,其
中<servlet name>以Servlet 名替换(在当前环境下,默认值也就是
/WEB-INF/Dispatcher-servlet.xml)
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/Config.xml</param-value>
</init-param>
-->
<filter>
<filter-name>encodingFilter</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>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</filter>
<servlet-mapping>
<servlet-name>coreAction</servlet-name>
<url-pattern>*.kara</url-pattern>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
接着是spring配置,由于是没在web.xml手动配置指定哪个spring配置文件,所以指向的是配置文件名是:coreAction-servlet.xml。
<!-- 视图 -->
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.JstlView</value>
</property>
<property name="prefix">
<value>/WEB-INF/JSP/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<!-- Mapping -->
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/login.do">loginAction</prop>
<prop key="toAddUser.kara">userAction</prop>
<prop key="addUser.kara">userAction</prop>
</props>
</property>
<!-- 注册拦截器 -->
<property name="interceptors">
<list>
<ref bean="myInterceptor"></ref>
</list>
</property>
</bean>
<!-- Controller -->
<bean id="loginAction" class="com.biz.LoginAction"></bean>
<bean id="userAction" class="com.biz.UserAction"></bean>
<!-- 拦截器 -->
<bean id="myInterceptor" class="com.intercept.MyInterceptor"></bean>
贴一个controller:
package com.biz;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
/**
* @author Administrator
* 实现单个方法的controller
*/
public class LoginAction implements Controller {
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
request.setAttribute("kara", "Hello!Kara!");
return new ModelAndView("hello");
}
}
贴上拦截器:
package com.intercept;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
public class MyInterceptor extends HandlerInterceptorAdapter{
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
// TODO Auto-generated method stub
System.out.println("回调执行");
}
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2, ModelAndView arg3) throws Exception {
// TODO Auto-generated method stub
System.out.println("调用controller后进入");
}
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2) throws Exception {
System.out.println("拦截开始:");
System.out.println("***");
System.out.println("&&&:"+arg2.getClass().getCanonicalName());
System.out.println(arg2.getClass().getSimpleName());
return false;
}
}
分享到:
相关推荐
1. 方案一通过在拦截器配置中排除特定的静态资源路径,可以比较精确地控制哪些请求被拦截器处理,哪些不处理。这种方法适合于静态资源和动态资源请求分得比较明确的情况。 2. 方案二通过利用默认的Servlet来处理...
配置 SpringMVC 拦截器,我们需要在 `springmvc-config.xml` 文件中添加以下内容: ```xml ... ... ``` 此外,还需要在 `web.xml` 文件中配置 SpringMVC 的前端控制器 DispatcherServlet: ```xml ...
2. 配置拦截器:在SpringMVC配置文件中需要声明拦截器。使用标签来定义一个或多个拦截器。可以使用标签来指定拦截器,并通过来指定拦截器适用的URL模式。 3. Cookie与Session:在Web开发中,Cookie常用于在用户的...
在这个项目中,你可以了解到如何配置和使用拦截器,以及如何将它们集成到 SpringMVC 应用中。 1. **SpringMVC 概述**: SpringMVC 提供了一个模型-视图-控制器架构,用于处理 HTTP 请求和响应。它简化了 MVC 应用...
4. **配置拦截器** 创建好拦截器后,需要在Spring MVC的配置中声明并注册它。这可以通过`<mvc:interceptors>`标签在XML配置中完成,或者在Java配置类中使用`addInterceptors()`方法添加。 5. **排除不需要拦截的...
下面是如何配置自定义拦截器的步骤: 在Spring配置文件中,你需要将拦截器实例注入到Spring MVC的DispatcherServlet中。这通常在配置类中通过@Bean注解完成,如下所示: ```java @Configuration public class ...
下面将详细解释Spring MVC拦截器的工作原理、配置和实际应用。 1. **工作原理**: - 拦截器是基于AOP(面向切面编程)思想实现的,它通过预处理器和后处理器模式,对HTTP请求进行拦截。 - 当一个请求到达Spring ...
这个名为“SpringMVC拦截器源代码.zip”的压缩包可能包含了Spring MVC拦截器的实现源码,这对于理解和学习如何自定义拦截器以增强应用功能非常有帮助。 1. **拦截器的基本概念** - 拦截器是AOP(面向切面编程)的...
在本教程“SpringMVC-12 拦截器”中,我们将深入探讨如何实现和配置自定义拦截器,以及多个拦截器的执行顺序。 首先,我们来了解如何创建一个自定义的拦截器。在Spring MVC中,我们需要创建一个实现了`...
下面将详细介绍 SpringMVC 拦截器的工作原理、创建与配置方法,以及如何应用到实际项目中。 1. **工作原理** - 在 SpringMVC 中,拦截器是基于 HandlerMapping 和 HandlerAdapter 的概念实现的。当一个请求到达时...
### SpringMVC拦截器 #### 一、拦截器概述 拦截器(Interceptor)是一种轻量级、低侵入式的AOP实现方式,在SpringMVC框架中有着广泛的应用。它主要用于处理那些与业务逻辑无关但又频繁出现的功能需求,如日志记录...
首先,了解拦截器的基本概念。拦截器是AOP(面向切面编程)思想在Spring MVC中的体现,它通过在请求到达目标控制器之前插入额外的处理步骤,实现了对HTTP请求的预处理和后处理。Spring MVC的拦截器基于Servlet API的...
5. **配置拦截器** 在Spring MVC的配置文件(通常是`dispatcher-servlet.xml`)中,我们需要声明一个`<mvc:interceptors>`元素来定义拦截器。在其中,可以创建一个或多个`<mvc:interceptor>`子元素,每个子元素代表...
综上所述,本项目是一个适合初学者了解和实践SpringMVC拦截器功能的小程序。通过学习和实践,你可以掌握如何使用拦截器实现登录验证和安全退出,同时加深对Intelli IDEA的使用理解。在实际应用中,拦截器常用于权限...
这通常在Spring配置类中完成,使用`@Configuration`和`@EnableWebMvc`注解,并且通过`addInterceptors()`方法将拦截器添加到`InterceptorRegistry`。 4. **配置拦截路径**:在注册拦截器时,需要指定拦截哪些URL。...
SpringMVC拦截器运行原理及配置详解 SpringMVC拦截器是SpringMVC框架中的一种机制,用于在 Controller 方法执行前、后或抛出异常时执行某些操作的拦截器,拦截器可以对Controller中的方法进行拦截和过滤,从而实现...
1.拦截器的配置 2.异常处理器的两种方式配置
SpringMVC拦截器是基于AOP(面向切面编程)的概念实现的,它们遵循HandlerInterceptor接口。这个接口定义了三个方法: 1. `preHandle`: 在请求被处理器处理之前调用,返回`true`表示继续执行处理器,`false`则中断...
在使用拦截器时,需要在web.xml文件中配置DispatcherServlet,并在springmvc-servlet.xml文件中配置拦截器。下面是一个自定义拦截器的示例: 首先,在web.xml文件中配置DispatcherServlet: ```xml ...
在SpringMVC的配置文件中,我们需要将自定义的Session拦截器添加到拦截器链中。这通常通过`<mvc:interceptors>`标签和`<mvc:interceptor>`子标签完成。例如: ```xml **" /> <!-- 指定拦截所有路径 --> ...