`
jinnianshilongnian
  • 浏览: 21503945 次
  • 性别: Icon_minigender_1
博客专栏
5c8dac6a-21dc-3466-8abb-057664ab39c7
跟我学spring3
浏览量:2418633
D659df3e-4ad7-3b12-8b9a-1e94abd75ac3
Spring杂谈
浏览量:3008767
43989fe4-8b6b-3109-aaec-379d27dd4090
跟开涛学SpringMVC...
浏览量:5639455
1df97887-a9e1-3328-b6da-091f51f886a1
Servlet3.1规范翻...
浏览量:259916
4f347843-a078-36c1-977f-797c7fc123fc
springmvc杂谈
浏览量:1597309
22722232-95c1-34f2-b8e1-d059493d3d98
hibernate杂谈
浏览量:250216
45b32b6f-7468-3077-be40-00a5853c9a48
跟我学Shiro
浏览量:5858946
Group-logo
跟我学Nginx+Lua开...
浏览量:701998
5041f67a-12b2-30ba-814d-b55f466529d5
亿级流量网站架构核心技术
浏览量:785219
社区版块
存档分类
最新评论

源代码下载 第五章 处理器拦截器详解——跟着开涛学SpringMVC

 
阅读更多



源代码请到附件中下载。

 

 

其他下载:

 

跟着开涛学SpringMVC 第一章源代码下载

第二章 Spring MVC入门 源代码下载

Controller接口控制器详解 源代码下载

源码下载——第四章 Controller接口控制器详解——跟着开涛学SpringMVC

源代码下载 第五章 处理器拦截器详解——跟着开涛学SpringMVC

 

 

 

目录:
第一章 Web MVC简介 —— 跟开涛学SpringMVC

第二章 Spring MVC入门 —— 跟开涛学SpringMVC

第三章 DispatcherServlet详解 ——跟开涛学SpringMVC

第四章 Controller接口控制器详解(1)——跟着开涛学SpringMVC

第四章 Controller接口控制器详解(2)——跟着开涛学SpringMVC

第四章 Controller接口控制器详解(3)——跟着开涛学SpringMVC

第四章 Controller接口控制器详解(4)——跟着开涛学SpringMVC

第四章 Controller接口控制器详解(5)——跟着开涛学SpringMVC

第四章 Controller接口控制器详解(6)——跟着开涛学SpringMVC

第五章 处理器拦截器详解——跟着开涛学SpringMVC

 注解式控制器运行流程及处理器定义 第六章 注解式控制器详解——跟着开涛学SpringMVC

15
14
分享到:
评论
16 楼 newtype1016 2017-09-25  
感谢分享,多谢了
15 楼 liuluo129 2014-05-08  
你好,我有个问题,我想对Spring Mvc的Controller进行测试,但是这个Controller要被拦截器拦截,我想mock拦截器中的一些Service,不知道该如何mock。比如HttpBasicInterceptor中注入了UserService,我试了各种方式最终还是原来的userService,我的理解,既然我配置的UserService是单例的,那么我只要在测试的Controller中把UserService对象指向我mock出来的对象就应该能够达到效果,但是尝试各种手段还是无解
14 楼 shenjunjun2012 2014-03-27  
jinnianshilongnian 写道
shenjunjun2012 写道
shenjunjun2012 写道
jinnianshilongnian 写道
那个object里存储了method,我不记得方法了 你自己debug看下吧

嗯  谢谢了 我回去看看,不懂的话,还要麻烦您了

我昨天回去试了下
我的Controller控制类是基于注解的而不是直接继承MultiActionController,拦截器还是不能获取method对象

那个object里存储了method,我不记得方法了 你自己debug看下吧
这个肯定是有的 我记得好像是HandleMethod类型的

我昨天看了源代码,是自己太大意了,用的是之前DefaultAnnotationHandlerMapping和
AnnotationMethodHandlerAdapter这个两个处理器,我现在换用了RequestMappingHandlerMapping和RequestMappingHandlerAdapter就可以了。还是谢谢您
13 楼 jinnianshilongnian 2014-03-26  
shenjunjun2012 写道
shenjunjun2012 写道
jinnianshilongnian 写道
那个object里存储了method,我不记得方法了 你自己debug看下吧

嗯  谢谢了 我回去看看,不懂的话,还要麻烦您了

我昨天回去试了下
我的Controller控制类是基于注解的而不是直接继承MultiActionController,拦截器还是不能获取method对象

那个object里存储了method,我不记得方法了 你自己debug看下吧
这个肯定是有的 我记得好像是HandleMethod类型的
12 楼 shenjunjun2012 2014-03-26  
shenjunjun2012 写道
jinnianshilongnian 写道
那个object里存储了method,我不记得方法了 你自己debug看下吧

嗯  谢谢了 我回去看看,不懂的话,还要麻烦您了

我昨天回去试了下
我的Controller控制类是基于注解的而不是直接继承MultiActionController,拦截器还是不能获取method对象
11 楼 shenjunjun2012 2014-03-25  
jinnianshilongnian 写道
那个object里存储了method,我不记得方法了 你自己debug看下吧

嗯  谢谢了 我回去看看,不懂的话,还要麻烦您了
10 楼 jinnianshilongnian 2014-03-25  
那个object里存储了method,我不记得方法了 你自己debug看下吧
9 楼 shenjunjun2012 2014-03-25  
jinnianshilongnian 写道
shenjunjun2012 写道
shenjunjun2012 写道
jinnianshilongnian 写道
shenjunjun2012 写道
Tao哥您好,
    我用的注解方式的@Controller标识控制器,但拦截器中的
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception方法中的object只是控制器的类,无法获取请求所调用的方法Method对象
如我请求地址是"/system/web/main"
MethodNameResolver methodNameResolver = new InternalPathMethodNameResolver();
String methodName=methodNameResolver.getHandlerMethodName(request);
methodName值就是main 而不是具体调用的方法名称。

那具体调用的是哪个

我定义了
@Controller
@RequestMapping("/system/web")
public class AdminController
这个控制类,然后定义
@RequestMapping("/main")
public ModelAndView mainPage(HttpSession session)
这个方法
我页面请求/system/web/main应该会调用mainPage这个方法,
但是
MethodNameResolver methodNameResolver = new InternalPathMethodNameResolver();
String methodName=methodNameResolver.getHandlerMethodName(request);
这个methodName只是获取/system/web/main中'main'而不是真正的方法名mainPage

就是我自定义注解用于操作方法级别的权限拦截,需要在拦截器中获取请求url所对应的执行方法对象


1、
preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception

你把object debug看下 里边有调用的method;

试了 只有我自定义的两个Service对象,
我的拦截器是实现HandlerInterceptor
xml配置文件如下
<!-- 拦截器  -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/system/web/**" />
<bean class="com.ame.controller.interceptors.SecurityInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>


8 楼 jinnianshilongnian 2014-03-25  
shenjunjun2012 写道
shenjunjun2012 写道
jinnianshilongnian 写道
shenjunjun2012 写道
Tao哥您好,
    我用的注解方式的@Controller标识控制器,但拦截器中的
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception方法中的object只是控制器的类,无法获取请求所调用的方法Method对象
如我请求地址是"/system/web/main"
MethodNameResolver methodNameResolver = new InternalPathMethodNameResolver();
String methodName=methodNameResolver.getHandlerMethodName(request);
methodName值就是main 而不是具体调用的方法名称。

那具体调用的是哪个

我定义了
@Controller
@RequestMapping("/system/web")
public class AdminController
这个控制类,然后定义
@RequestMapping("/main")
public ModelAndView mainPage(HttpSession session)
这个方法
我页面请求/system/web/main应该会调用mainPage这个方法,
但是
MethodNameResolver methodNameResolver = new InternalPathMethodNameResolver();
String methodName=methodNameResolver.getHandlerMethodName(request);
这个methodName只是获取/system/web/main中'main'而不是真正的方法名mainPage

就是我自定义注解用于操作方法级别的权限拦截,需要在拦截器中获取请求url所对应的执行方法对象


1、
preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception

你把object debug看下 里边有调用的method;
7 楼 shenjunjun2012 2014-03-25  
shenjunjun2012 写道
jinnianshilongnian 写道
shenjunjun2012 写道
Tao哥您好,
    我用的注解方式的@Controller标识控制器,但拦截器中的
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception方法中的object只是控制器的类,无法获取请求所调用的方法Method对象
如我请求地址是"/system/web/main"
MethodNameResolver methodNameResolver = new InternalPathMethodNameResolver();
String methodName=methodNameResolver.getHandlerMethodName(request);
methodName值就是main 而不是具体调用的方法名称。

那具体调用的是哪个

我定义了
@Controller
@RequestMapping("/system/web")
public class AdminController
这个控制类,然后定义
@RequestMapping("/main")
public ModelAndView mainPage(HttpSession session)
这个方法
我页面请求/system/web/main应该会调用mainPage这个方法,
但是
MethodNameResolver methodNameResolver = new InternalPathMethodNameResolver();
String methodName=methodNameResolver.getHandlerMethodName(request);
这个methodName只是获取/system/web/main中'main'而不是真正的方法名mainPage

就是我自定义注解用于操作方法级别的权限拦截,需要在拦截器中获取请求url所对应的执行方法对象

6 楼 shenjunjun2012 2014-03-25  
jinnianshilongnian 写道
shenjunjun2012 写道
Tao哥您好,
    我用的注解方式的@Controller标识控制器,但拦截器中的
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception方法中的object只是控制器的类,无法获取请求所调用的方法Method对象
如我请求地址是"/system/web/main"
MethodNameResolver methodNameResolver = new InternalPathMethodNameResolver();
String methodName=methodNameResolver.getHandlerMethodName(request);
methodName值就是main 而不是具体调用的方法名称。

那具体调用的是哪个

我定义了
@Controller
@RequestMapping("/system/web")
public class AdminController
这个控制类,然后定义
@RequestMapping("/main")
public ModelAndView mainPage(HttpSession session)
这个方法
我页面请求/system/web/main应该会调用mainPage这个方法,
但是
MethodNameResolver methodNameResolver = new InternalPathMethodNameResolver();
String methodName=methodNameResolver.getHandlerMethodName(request);
这个methodName只是获取/system/web/main中'main'而不是真正的方法名mainPage
5 楼 jinnianshilongnian 2014-03-25  
shenjunjun2012 写道
Tao哥您好,
    我用的注解方式的@Controller标识控制器,但拦截器中的
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception方法中的object只是控制器的类,无法获取请求所调用的方法Method对象
如我请求地址是"/system/web/main"
MethodNameResolver methodNameResolver = new InternalPathMethodNameResolver();
String methodName=methodNameResolver.getHandlerMethodName(request);
methodName值就是main 而不是具体调用的方法名称。

那具体调用的是哪个
4 楼 shenjunjun2012 2014-03-25  
Tao哥您好,
    我用的注解方式的@Controller标识控制器,但拦截器中的
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object object) throws Exception方法中的object只是控制器的类,无法获取请求所调用的方法Method对象
如我请求地址是"/system/web/main"
MethodNameResolver methodNameResolver = new InternalPathMethodNameResolver();
String methodName=methodNameResolver.getHandlerMethodName(request);
methodName值就是main 而不是具体调用的方法名称。
3 楼 Lorenzo_oz 2013-05-31  
thank you so much
2 楼 jinnianshilongnian 2012-10-16  
飞天奔月 写道
源代码 是什么 ide 开发的

我eclipse 导入 进来

编译不通过 一片红

就是eclipse啊  
1 楼 飞天奔月 2012-10-16  
源代码 是什么 ide 开发的

我eclipse 导入 进来

编译不通过 一片红

相关推荐

    SpringMvc开涛.rar

    PDF,源代码 开涛学SpringMVC 第一章源代码下载 第二章 Spring MVC入门 源代码下载 ...第五章 处理器拦截器详解——跟着开涛学SpringMVC 第六章 注解式控制器详解 第七章 注解式控制器的数据验证、类型转换及格式化

    跟开涛学SpringMVC(3)DispatcherSer

    《跟开涛学SpringMVC(3)DispatcherServlet详解》是一份深入讲解Spring MVC核心组件DispatcherServlet的教程,旨在帮助Java开发者提升在Web应用开发中的技能。这份资料共计16页,涵盖了Spring MVC框架中...

    SpringMvc教程 跟着我学SpringMVC

    最后,教程会提供每章的源代码下载链接,帮助学习者通过实践来加深对知识的理解。通过下载和运行源代码,初学者可以更好地掌握SpringMVC的工作原理和应用技巧。 整体来说,《跟我学SpringMVC》这本教程通过由浅入深...

    传智播客 springmvc 视频 源代码 文档

    8. **拦截器**:使用SpringMVC的拦截器机制,可以实现如权限控制、日志记录等功能。 9. **MyBatis集成**:作为此次资料的主体,MyBatis是另一款流行的持久层框架,会介绍如何与SpringMVC整合,实现DAO层操作,包括...

    springMvc 燕青 springmvc课程 2天源代码

    【SpringMVC 知识点详解】 SpringMVC 是 Spring 框架的一部分,它是一个用于构建 Web ...通过阅读和学习 "springmvc_sourcecode" 中的源代码,你可以深入了解 SpringMVC 的工作原理,提升你在实际项目中的开发能力。

    springMVC源码详解

    这些理解有助于我们定制化SpringMVC的行为,比如自定义拦截器、异常处理器等。 此外,SpringMVC中的AOP(面向切面编程)和IoC(控制反转)概念也值得深入研究。AOP用于实现如日志记录、事务管理等功能,而IoC则是...

    springMVC快速入门基础代码

    **SpringMVC快速入门基础代码详解** SpringMVC是Spring框架的一个模块,专门用于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构,使得开发人员能够更高效地处理HTTP请求和响应,同时保持代码的清晰性和可...

    ssm配置及struts文件,拦截器.zip

    最后,"struts2拦截器详解之二:深入理解struts2拦截器机制.txt"和"Struts2自定义拦截器.txt"文件详细阐述了Struts2的拦截器机制。拦截器是Struts2的核心特性之一,它们是围绕Action执行的一系列拦截动作,可以在...

    使用 eclipse oxygen maven 搭建 springmvc mybatis druid 的增删改框架代码

    1. `src/main/java`: 存放Java源代码,包括业务逻辑、控制器、实体类和MyBatis的Mapper接口。 2. `src/main/resources`: 包含配置文件,如Spring的applicationContext.xml、mybatis-config.xml、Druid的配置以及...

    springmvc开发文档

    #### 六、处理器拦截器详解 - **概念**:在控制器处理请求之前或之后执行的组件,可以用来做一些预处理或后处理操作。 - **应用场景**:权限校验、记录日志等。 - **实现方式**:通过实现 HandlerInterceptor 接口。...

    springMVC教学视频详解(包括spring和mybatis的整合)

    此视频包含:springmvc入门教程(原理分析、环境搭建、前端控制器配置、Handler编写调试、非注解映射器和适配器、注解映射器和适配器、前端控制器源代码分析、视图解析器配置前缀和后缀);springmvc和mybatis整合;...

    springmvc项目骨架

    在传统的SpringMVC项目中,XML配置文件(如`spring-servlet.xml`)是核心,用于定义组件、数据源、视图解析器、拦截器等关键元素。例如,你需要配置DispatcherServlet、ModelAndView、Controller beans以及视图解析...

    SpringMVC课堂笔记(1)

    ### SpringMVC基础知识详解 #### 一、SpringMVC概览 **SpringMVC**是Spring框架中的一个重要组成部分,主要用于构建Web应用程序。它遵循MVC(Model-View-Controller)设计模式,帮助开发者构建出清晰分层的应用架构...

    cas client springmvc(springmvc cas maven sso 详解 )

    **SpringMVC CAS Maven SSO详解** 在现代Web应用程序开发中,单一登录(Single Sign-On, SSO)已经成为一种常见的身份验证解决方案,它允许用户在一个系统中登录后,无需再次输入凭证即可访问其他关联系统。CAS...

    spring+springMVC+Mybatis demo参考

    3. 配置SpringMVC:配置DispatcherServlet,定义视图解析器,处理拦截器,以及Controller的映射。 4. 配置Mybatis:配置Mybatis的SqlSessionFactory,创建Mapper接口和对应的XML映射文件,定义SQL语句。 5. 编写业务...

    springmvc_mybatis1110

    它简化了Web应用的开发,通过DispatcherServlet进行请求分发,HandlerMapping处理映射,ModelAndView构建模型和视图,ViewResolver解析视图,以及一系列拦截器和异常处理器。 1. 请求处理流程:客户端发起请求到达...

    demo_SpringMVC.rar_+SpringMVC demo_DEMO_spring mvc_spring mvc de

    1. **src/main/java**: 这个目录通常包含应用的 Java 源代码。在 Spring MVC 中,这里会有 Controller 类,它们是处理 HTTP 请求的入口点,比如 `DemoController.java`。 2. **src/main/resources**: 存放配置文件...

    maven构建springmvc整合 mybatis项目

    【SpringMVC与MyBatis整合详解】 在Java Web开发中,SpringMVC和MyBatis是两个非常重要的框架。SpringMVC作为一个优秀的MVC框架,负责处理HTTP请求,实现业务逻辑的组织和控制;而MyBatis则是一个轻量级的持久层...

    springmvc第一天课堂笔记.docx

    ### SpringMVC基础知识详解 #### 一、SpringMVC简介 **SpringMVC**是Spring框架中的一个重要组成部分,主要用于Web应用程序的开发。它遵循MVC(Model-View-Controller)设计模式来组织代码结构,使得应用程序更加...

Global site tag (gtag.js) - Google Analytics