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

源代码下载 第五章 处理器拦截器详解——跟着开涛学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 导入 进来

编译不通过 一片红

相关推荐

Global site tag (gtag.js) - Google Analytics