`

SpringMVC及拦截器基本配置

阅读更多
导包就不记了。
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;
	}
	
}
分享到:
评论

相关推荐

    防止SpringMVC拦截器拦截js等静态资源文件的解决方法

    1. 方案一通过在拦截器配置中排除特定的静态资源路径,可以比较精确地控制哪些请求被拦截器处理,哪些不处理。这种方法适合于静态资源和动态资源请求分得比较明确的情况。 2. 方案二通过利用默认的Servlet来处理...

    企业级开发-SpringMVC使用拦截器实现用户登录权限验证实验报告.docx

    配置 SpringMVC 拦截器,我们需要在 `springmvc-config.xml` 文件中添加以下内容: ```xml ... ... ``` 此外,还需要在 `web.xml` 文件中配置 SpringMVC 的前端控制器 DispatcherServlet: ```xml ...

    SpringMVC配置拦截器实现登录控制的方法

    2. 配置拦截器:在SpringMVC配置文件中需要声明拦截器。使用标签来定义一个或多个拦截器。可以使用标签来指定拦截器,并通过来指定拦截器适用的URL模式。 3. Cookie与Session:在Web开发中,Cookie常用于在用户的...

    springMVC拦截器项目

    在这个项目中,你可以了解到如何配置和使用拦截器,以及如何将它们集成到 SpringMVC 应用中。 1. **SpringMVC 概述**: SpringMVC 提供了一个模型-视图-控制器架构,用于处理 HTTP 请求和响应。它简化了 MVC 应用...

    Springmvc登录拦截器Demo

    4. **配置拦截器** 创建好拦截器后,需要在Spring MVC的配置中声明并注册它。这可以通过`&lt;mvc:interceptors&gt;`标签在XML配置中完成,或者在Java配置类中使用`addInterceptors()`方法添加。 5. **排除不需要拦截的...

    SpringMvc自定义拦截器(注解)代码实例

    下面是如何配置自定义拦截器的步骤: 在Spring配置文件中,你需要将拦截器实例注入到Spring MVC的DispatcherServlet中。这通常在配置类中通过@Bean注解完成,如下所示: ```java @Configuration public class ...

    SpringMVC拦截器例子详解

    下面将详细解释Spring MVC拦截器的工作原理、配置和实际应用。 1. **工作原理**: - 拦截器是基于AOP(面向切面编程)思想实现的,它通过预处理器和后处理器模式,对HTTP请求进行拦截。 - 当一个请求到达Spring ...

    SpringMVC拦截器源代码.zip

    这个名为“SpringMVC拦截器源代码.zip”的压缩包可能包含了Spring MVC拦截器的实现源码,这对于理解和学习如何自定义拦截器以增强应用功能非常有帮助。 1. **拦截器的基本概念** - 拦截器是AOP(面向切面编程)的...

    SpringMVC-12 拦截器

    在本教程“SpringMVC-12 拦截器”中,我们将深入探讨如何实现和配置自定义拦截器,以及多个拦截器的执行顺序。 首先,我们来了解如何创建一个自定义的拦截器。在Spring MVC中,我们需要创建一个实现了`...

    SpringMVC - 拦截器

    下面将详细介绍 SpringMVC 拦截器的工作原理、创建与配置方法,以及如何应用到实际项目中。 1. **工作原理** - 在 SpringMVC 中,拦截器是基于 HandlerMapping 和 HandlerAdapter 的概念实现的。当一个请求到达时...

    SpringMVC拦截器

    ### SpringMVC拦截器 #### 一、拦截器概述 拦截器(Interceptor)是一种轻量级、低侵入式的AOP实现方式,在SpringMVC框架中有着广泛的应用。它主要用于处理那些与业务逻辑无关但又频繁出现的功能需求,如日志记录...

    SpringMvc 拦截器

    首先,了解拦截器的基本概念。拦截器是AOP(面向切面编程)思想在Spring MVC中的体现,它通过在请求到达目标控制器之前插入额外的处理步骤,实现了对HTTP请求的预处理和后处理。Spring MVC的拦截器基于Servlet API的...

    springmvc 拦截器

    5. **配置拦截器** 在Spring MVC的配置文件(通常是`dispatcher-servlet.xml`)中,我们需要声明一个`&lt;mvc:interceptors&gt;`元素来定义拦截器。在其中,可以创建一个或多个`&lt;mvc:interceptor&gt;`子元素,每个子元素代表...

    SpringMVC 拦截器 实现 登录退出功能

    综上所述,本项目是一个适合初学者了解和实践SpringMVC拦截器功能的小程序。通过学习和实践,你可以掌握如何使用拦截器实现登录验证和安全退出,同时加深对Intelli IDEA的使用理解。在实际应用中,拦截器常用于权限...

    springmvc拦截器实现登录验证

    这通常在Spring配置类中完成,使用`@Configuration`和`@EnableWebMvc`注解,并且通过`addInterceptors()`方法将拦截器添加到`InterceptorRegistry`。 4. **配置拦截路径**:在注册拦截器时,需要指定拦截哪些URL。...

    SpringMVC拦截器运行原理及配置详解

    SpringMVC拦截器运行原理及配置详解 SpringMVC拦截器是SpringMVC框架中的一种机制,用于在 Controller 方法执行前、后或抛出异常时执行某些操作的拦截器,拦截器可以对Controller中的方法进行拦截和过滤,从而实现...

    springMVC使用拦截器和异常处理器

    1.拦截器的配置 2.异常处理器的两种方式配置

    SpringMVC拦截器源码.rar

    SpringMVC拦截器是基于AOP(面向切面编程)的概念实现的,它们遵循HandlerInterceptor接口。这个接口定义了三个方法: 1. `preHandle`: 在请求被处理器处理之前调用,返回`true`表示继续执行处理器,`false`则中断...

    SpringMVC自定义拦截器实现过程详解

    在使用拦截器时,需要在web.xml文件中配置DispatcherServlet,并在springmvc-servlet.xml文件中配置拦截器。下面是一个自定义拦截器的示例: 首先,在web.xml文件中配置DispatcherServlet: ```xml ...

    基于springMVC的session拦截器

    在SpringMVC的配置文件中,我们需要将自定义的Session拦截器添加到拦截器链中。这通常通过`&lt;mvc:interceptors&gt;`标签和`&lt;mvc:interceptor&gt;`子标签完成。例如: ```xml **" /&gt; &lt;!-- 指定拦截所有路径 --&gt; ...

Global site tag (gtag.js) - Google Analytics