- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
SpringMVC面试题及答案(实用版)
1.说说SpringMVC的核心组件及各自作用?
核心组件主要有5个,咱们开发里常打交道的:
DispatcherServlet:前端控制器,相当于“总开关”,所有请求都先经过它,负责协调其他组件工作,不用自己写业务逻辑,就是做“调度”。
HandlerMapping:找“处理器”的,根据请求URL匹配到对应的Controller方法(比如@RequestMapping标注的方法),返回HandlerExecutionChain(包含处理器和拦截器)。
HandlerAdapter:适配器,因为Controller方法形式不一样(比如参数不同、返回值不同),它负责把处理器“适配”成DispatcherServlet能调用的形式,比如调用Controller的方法并处理参数。
ViewResolver:视图解析器,把Controller返回的逻辑视图名(比如“index”)转换成实际的视图对象(比如/WEB-INF/views/index.jsp),支持JSP、Thymeleaf等不同视图。
ModelAndView:Controller方法的返回结果,包含“数据模型”(Model,存前端要展示的数据)和“逻辑视图名”(ViewName),把数据和视图关联起来。
2.SpringMVC的请求处理流程是怎样的?(从用户发请求到页面展示)
实际运行步骤大概是这样:
用户在浏览器输URL,请求先到Tomcat,Tomcat根据web.xml里的配置(比如url-pattern=/),把请求交给DispatcherServlet;
DispatcherServlet找HandlerMapping,问“这个URL对应哪个Controller方法?”,HandlerMapping返回匹配的处理器和拦截器;
DispatcherServlet再找HandlerAdapter,让它去调用对应的Controller方法;
Controller方法执行业务逻辑,把数据放进Model,然后返回ModelAndView(比如视图名“userList”+用户列表数据);
DispatcherServlet拿着ModelAndView找ViewResolver,把逻辑视图名解析成实际视图路径(比如/WEB-INF/views/userList.jsp);
视图对象渲染数据(把Model里的用户列表显示到JSP页面),最后把渲染好的页面返回给用户。
3.常用的参数绑定注解有哪些?分别怎么用?
日常开发中最常用的有4个,按场景分:
@RequestParam:拿URL里的参数(比如?name=张三),比如publicStringgetUser(@RequestParam(name)Stringusername),还能加required=false设置非必传,defaultValue给默认值。
@PathVariable:拿URL路径里的参数(比如/user/{id}),比如publicStringgetUserById(@PathVariable(id)Integerid),路径里的{id}和注解里的“id”要对应。
@RequestBody:拿请求体里的JSON数据,前后端分离项目常用,比如接收前端传的用户对象:publicStringaddUser(@RequestBodyUseruser),需要配合Jackson依赖解析JSON。
@ModelAttribute:把请求参数绑定到实体类上,比如前端表单提交用户信息(name、age),直接用publicStringsaveUser(@ModelAttributeUseruser),Spring会自动把参数封装成User对象,还能在方法上用,提前给Model放数据。
4.怎么实现SpringMVC的拦截器?它和过滤器(Filter)有啥区别?
实现拦截器步骤:
写一个类实现HandlerInterceptor接口,重写3个方法:
preHandle:请求到Controller前执行,返回true继续,false拦截(比如登录校验,没登录就返回false并跳登录页);
postHandle:Controller执行完、视图渲染前执行,能修改ModelAndView(比如统一加公共数据);
afterCompletion:视图渲染完执行,一般做资源清理(比如关闭流)。
在Spring配置文件里配拦截器,指定
您可能关注的文档
- 《3-6岁儿童学习与发展指南》考试题库及答案.docx
- 《三毛流浪记》试题及答案.docx
- 《三毛流浪记》阅读测试题及答案.docx
- 《三字经》测试题及答案.docx
- 《万物简史》测试题及答案.docx
- 《一千零一夜》阅读测试题及答案.docx
- 《中华人民共和国安全生产法》考核试题及答案.docx
- 《中华人民共和国保守国家秘密法》试题题库及答案.docx
- 《中华人民共和国动物防疫法》试题及答案.docx
- 《中华人民共和国消防法》考试题及答案.docx
- 2025年鸡西市麻山区公益性岗位招聘8人(公共基础知识)测试题附答案.docx
- 杭州之江湾股权投资基金管理有限公司招聘参考题库附答案.docx
- 2026江苏辖区农村商业银行常熟农商银行校园招聘200人(公共基础知识)测试题附答案.docx
- 2025年中国石油新疆油田分公司秋季高校毕业生招聘360人(公共基础知识)综合能力测试题附答案.docx
- 2023年攀枝花市直属机关遴选公务员笔试真题汇编附答案解析(夺冠).docx
- 2026广发银行太原分行校园招聘(公共基础知识)测试题附答案.docx
- 2025四川成都医学院招聘事业编制辅导员10人(公共基础知识)测试题附答案.docx
- 2026年毛概期末考试试题库必考题.docx
- 2025年合肥市某国有企业2025年岗位外包招聘(公共基础知识)测试题附答案.docx
- 2026年重庆青年职业技术学院单招(计算机)测试模拟题库附答案.docx
最近下载
- 管道内检测介绍.ppt VIP
- 衍纸教案(16课时)社团兴趣小组活动.doc VIP
- 绵阳市事业单位2025年公开选调工作人员备考题库(70人)附答案解析.docx VIP
- 乡镇畜牧站动物检疫员招聘面试经典题及答案.docx VIP
- 2026年哈尔滨中考历史备考全攻略 (知识点归纳,必考知识点 真题模拟试卷及解析).docx VIP
- (一诊)毕节市2025届高三第一次诊断性考试 语文试卷(含答案解析).docx
- 燃气从业人员安全知识培训.pptx VIP
- 数学史数学史试卷(数学史).doc VIP
- [2025秋期版]国开电大专科《监督学》一平台形成性考核一至四在线形考试题及答案 .pdf
- 2025额定电压1kV及以下钢丝加强芯架空绝缘电缆.docx VIP
原创力文档


文档评论(0)