Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 弹簧&x27;s@RequestMapping内部_Java_Spring_Web_Http Request Parameters - Fatal编程技术网

Java 弹簧&x27;s@RequestMapping内部

Java 弹簧&x27;s@RequestMapping内部,java,spring,web,http-request-parameters,Java,Spring,Web,Http Request Parameters,我正在构建一个包含多个maven工件的应用程序。由于设计限制,其中一个工件本质上是后端的,无法访问请求(因此不允许使用@RequestMapping)。现实情况是,有些请求需要直接连接到其中一些类方法 我在春天做了一些深潜水,发现了使它发挥作用所需的一半。简单的部分是自己编写一个HandlerMapping并正确配置它。该映射器将了解后端实体以手动映射必要的URL 我找不到的部分是Spring中管理调用的位置(什么)?例如,当您有: @Component @RequestMapping("/my

我正在构建一个包含多个maven工件的应用程序。由于设计限制,其中一个工件本质上是后端的,无法访问请求(因此不允许使用@RequestMapping)。现实情况是,有些请求需要直接连接到其中一些类方法

我在春天做了一些深潜水,发现了使它发挥作用所需的一半。简单的部分是自己编写一个HandlerMapping并正确配置它。该映射器将了解后端实体以手动映射必要的URL

我找不到的部分是Spring中管理调用的位置(什么)?例如,当您有:

@Component
@RequestMapping("/mypath")
public class MyStuff
{
   @RequestMapping(value = "/dothis", method = RequestMethod.GET)
   public ResponseEntity<String> doThis(HttpServletRequest request)
   {
   }
}
@组件
@请求映射(“/mypath”)
公共类MyStuff
{
@RequestMapping(value=“/dothis”,method=RequestMethod.GET)
公共响应此点(HttpServletRequest请求)
{
}
}
当向/mypath/dothis发出请求时,哪个对象拦截该请求并调用正确bean中的正确方法?据我所知,映射程序只返回映射到特定bean的所有URL的字符串数组。

请参阅第16.4节关于请求拦截器。您应该能够使用它映射到您的类。


请参阅第16.4节关于请求拦截器。您应该能够使用它映射到您的类。

在较高级别上,这是流程- Spring的DispatcherServlet首先处理请求——这是一个在web.xml文件中有条目的请求

DispatcherServlet
维护HandlerAdapter和HandlerMappings的列表,对于请求,它向每个handlerMapping请求一个处理程序

在Spring3.1中,一个主要的handlerMapping实现是
RequestMappingHandlerMapping
,它维护请求uri到处理程序的映射(这是一个
HandlerMethod
最终指向@RequestMapping映射方法)

从HandlerMapping获取处理程序后,DispatcherServlet会询问每个handlerAdapter是否可以处理请求(handlerAdapter.supports api),如果可以,则将请求发送到相应的handlerAdapter,后者最终调用handlerMethod。在Spring3.1中,注册到
的主HandlerAdapter是
RequestMappingHandlerAdapter


我认为这应该是深入调查的充分开始。跟踪流的一个好方法是在DispatcherServlet中放置一个断点,并跟踪堆栈中的流。

在较高级别上,这是流- Spring的DispatcherServlet首先处理请求——这是一个在web.xml文件中有条目的请求

DispatcherServlet
维护HandlerAdapter和HandlerMappings的列表,对于请求,它向每个handlerMapping请求一个处理程序

在Spring3.1中,一个主要的handlerMapping实现是
RequestMappingHandlerMapping
,它维护请求uri到处理程序的映射(这是一个
HandlerMethod
最终指向@RequestMapping映射方法)

从HandlerMapping获取处理程序后,DispatcherServlet会询问每个handlerAdapter是否可以处理请求(handlerAdapter.supports api),如果可以,则将请求发送到相应的handlerAdapter,后者最终调用handlerMethod。在Spring3.1中,注册到
的主HandlerAdapter是
RequestMappingHandlerAdapter

我认为这应该是深入调查的充分开始。跟踪流的一个好方法是在DispatcherServlet中放置一个断点并跟踪堆栈中的流