0 0

这周阿里三面的一个面试题目:在Spring MVC 中,控制器controller 怎么样找到对应的业务模型来出来以后的请求5

我们知道用户请求URL可以注解的方式来把UR与控制器controller映射起来,但怎么样把控制器controller 与业务模型映射起来是url通过controller找到对应的业务模型?也即是说控制器与业务模型怎么样建立关系?

问题补充:这周阿里三面的一个面试题目:在Spring MVC 中,控制器controller 怎么样找到对应的业务模型来处理用户的请求
2013年12月01日 14:40

17个答案 按时间排序 按投票排序

0 0

看你对问题的描述就知道你对问题理解的不够深刻

2016年3月17日 17:34
0 0

源码里面有一个handerAdapter负责绑定Controller与具体的方法之间的映射。

2014年3月25日 11:28
0 0

道理很简单,但要说的很明白,还是需要熟悉源码才可以。

2014年2月12日 16:58
0 0

这问题,也拿来提问。

2014年1月26日 17:56
0 0

ModelAndView ,通过url绑定的方法method,其实跟struts2的差不多了 ,就是springMVC更轻量级,好用些。

2014年1月15日 22:31
0 0

系统加载的时候解析注解,原理应该如下吧(肯定不会这么简单):
Map<String,Method> mapping = new HashMap();
mapping.put("/user/login",loginMethod);
mapping.put("/user/register",registerMethod);

2013年12月03日 09:20
0 0

竟然还成了热点问题。。。

2013年12月02日 17:42
0 0

如果是这个意思:比如url和controller具有匹配关系,那怎么通过url找到相应的service? 当然这个只考虑比如简单的crud的话; 可以这样:

1、url设计的问题: /{module}/others 比如:/user/create ,其中others是service的method名字,方便反射掉

2、controller的写法:

@Controller
@RequestMapping(“/user”)
public class UserController {
   
}

3、自动搜索相关的service:
3.1、根据controller名字得到相关的service名字,如UserService(有规则可循的);
3.2、根据请求的url找,@RequestMapping(“/user”) 到UserService 也是能找到规律的

4、找到service之后,再根据method名字 自动调用service方法;

不过这些只适合基本的crud, 如果复杂场景,还是要写代码的。


不过问题描述的确实不大清楚。

2013年12月02日 13:49
0 0

的确描述不太清楚,是说handleMapping的部分还是viewReslover部分呢?

2013年12月02日 11:07
0 0

楼主应该说的是mvc如何实现将request中的请求数据绑定到对应的Model中,这个是通过spring mvc 的dataBinder机制以及HttpMessageConverter实现的,具体可以去看下对应的源码实现

2013年12月02日 10:40
0 0

阿里会问这种问题?

2013年12月02日 09:55
0 0

ViewResolver 提供的控制功能,很典型的内置路由器:
org.springframework.web.servlet.view.ContentNegotiatingViewResolver

也可以自己扩展,主要作用是截获请求的头信息比如url contant-type之类的转发到不同的controller模块,有时间看看源码把,其实看看就懂了。

2013年12月02日 09:34
0 0

你是说把  参数自动绑定到 pojo属性 这个吧!
简单的反射就可以啊!

2013年12月02日 09:01
0 0

没搞明白你的意思。

2013年12月01日 21:43
0 0

楼主这你都没说明白。。

2013年12月01日 20:27
0 0


@Resource
UserService userservice;

2013年12月01日 15:50
0 0

url匹配啊,没搞明白你说的意思

2013年12月01日 15:22

相关推荐

    类似Spring MVC web控制器

    在Spring MVC中,我们通常使用@Controller和@RequestMapping等注解来定义控制器类和处理方法。 在实现类似Spring MVC的注解方式时,我们需要关注以下几个关键点: 1. **注解驱动**:Spring MVC的核心在于其对注解...

    Spring MVC 第一个例子

    Spring MVC 是 Spring 框架的一个重要模块,它为构建基于Java的Web应用程序提供了一个强大的模型-视图-控制器(MVC)架构。Spring MVC 的设计允许开发者将业务逻辑、数据处理和用户界面分离,从而实现更好的可维护性...

    spring-mvc-官方中文文档

    在控制器处理完请求后,可以通过返回一个 ModelAndView 对象来指定视图和传递模型数据。 8. **视图解析**:Spring MVC 支持多种视图技术,如 JSP、FreeMarker、Thymeleaf 等。视图解析器(ViewResolver)会根据指定...

    源码: 看透Spring MVC:源代码分析与实践

    《看透Spring MVC:源代码分析与实践》是一本深入探讨Spring MVC框架核心机制的书籍。通过对源代码的解析,读者可以深入了解这个广泛使用的Java Web开发框架的工作原理,从而更好地运用和优化自己的项目。该书提供了...

    Spring MVC学习(四)-------Controller接口控制器详解1

    在Spring MVC框架中,Controller作为模型视图控制器(Model-View-Controller)模式中的控制器部分,承担着处理用户请求的重要职责。虽然这里提到的是部分控制器,但它在整体流程中扮演着关键角色。Controller的主要...

    Spring MVC 教程快速入门 深入分析

    Spring MVC通过分离模型(Model)、视图(View)和控制器(Controller)来简化Web开发。以下将详细分析Spring MVC的核心知识点。 一、前言:介绍了选择Spring MVC的原因和优势。Spring MVC简单易用,可以快速提高...

    Spring MVC jar包

    Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...

    spring MVC .docx

    Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。Spring MVC的设计目标是提供一个清晰的组件化架构,使得开发者可以独立地开发和测试控制器、...

    spring MVC的HelloWorld完整实例

    在这个简单的例子中,可能只需要设置一个视图名,如"hello",然后Spring MVC会根据配置的视图解析器来查找对应的视图。 7. **视图解析**: 视图解析器(如`InternalResourceViewResolver`)根据给定的视图名找到...

    Spring MVC 基础实例源码01

    Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。这个"Spring MVC 基础实例源码01"的资源很可能是为了帮助初学者理解Spring MVC的核心概念和...

    【BAT必备】spring面试题,spring MVC面试题,spring boot面试题,spring cloud面试题

    在Spring MVC中,控制器可以通过`@RequestMapping`注解来指定处理哪些URL请求。 ### Spring Boot入门与实践 #### 1. Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目标是简化新Spring应用的...

    spring-MVC.zip_Java spring mvc_spring mvc_spring mvc

    在本实例中,我们有一个名为"spring-MVC.zip"的压缩包,里面包含了一个关于Spring MVC的开发教程,特别适合初学者进行学习。 Spring MVC的核心概念包括DispatcherServlet、Controller、Model、View和ViewModel。...

    Spring MVC学习框架

    Spring 框架以其依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)为核心,而 Spring MVC 则是它为构建 Web 应用程序提供的模型-视图-控制器(Model-View-Controller, MVC)...

    spring MVC中文教程

    - **Spring MVC简介**:Spring MVC是Spring框架的一个模块,它遵循模型-视图-控制器(Model-View-Controller, MVC)架构模式,旨在简化企业级Web应用的开发过程。通过将应用程序逻辑划分为模型(Model)、视图(View...

    Spring.MVC-A.Tutorial-Spring.MVC学习指南 高清可复制版PDF

    在Spring MVC中,每个请求都会经过DispatcherServlet,这是一个前端控制器,它会根据请求的URL和配置的映射规则将请求分发到合适的处理器。处理器可以是自定义的Controller类,Controller通过方法注解(如@...

    spring mvc

    Spring MVC 是一个基于Java的轻量级Web应用框架,它属于Spring框架的一部分,主要用于构建控制器层,实现模型-视图-控制器(Model-View-Controller)架构。在Spring MVC中,开发者可以方便地处理HTTP请求,进行数据...

    Spring MVC 简单Demo

    在这个"Spring MVC 简单Demo"中,我们可能有一个名为`SummerWeb`的目录,其中包含以下文件: - `web.xml`:定义DispatcherServlet,例如: ```xml &lt;servlet-name&gt;dispatcher &lt;servlet-class&gt;org.spring...

    Spring Mvc AOP通过注解方式拦截controller等实现日志管理

    在Spring MVC框架中,AOP(面向切面编程)是一种强大的工具,用于实现跨切面的关注点,如日志管理。本教程将详细介绍如何利用注解来配置和使用AOP来拦截Controller层的方法,以便记录执行过程中的相关信息,实现日志...

Global site tag (gtag.js) - Google Analytics