常用的mvc框架 java_常用框架SpringMVC

常用框架SpringMVC

2020年12月30日

| 萬仟网IT编程

 | a48e1d17a2b0511faa7da7240b1971f6.png我要评论

与SpringMVC相关面试题SpringMVC的流程(1)用户发送请求至前端控制器 DispatcherServlet;(2)DispatcherServlet 收到请求后,调用 HandlerMapping 处理器映射器,请求获取Handle;(3)处理器映射器根据请求 url 找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet;(4)DispatcherServlet 调用 HandlerAdapter 处理器适配器;(

SpringMVC的流程 (1)用户发送请求至前端控制器 DispatcherServlet;

(2)DispatcherServlet 收到请求后,调用 HandlerMapping 处理器映射器,请求获取Handle;

(3)处理器映射器根据请求 url 找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给 DispatcherServlet;

(4)DispatcherServlet 调用 HandlerAdapter 处理器适配器;

(5)HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);

(6)Handler 执行完成返回 ModelAndView;

(7)HandlerAdapter 将 Handler 执行结果 ModelAndView 返回给 DispatcherServlet;

(8)DispatcherServlet 将 ModelAndView 传给 ViewResolver 视图解析器进行解析;

(9)ViewResolver 解析后返回具体 View;

(10)DispatcherServlet 对 View 进行渲染视图(即将模型数据填充至视图中)

(11)DispatcherServlet 响应用户。

4e1db39e535608b2e202f9439b2ed526.png

SpringMVC和 struts2 的区别有哪些? (1)SpringMVC的入口是一个 servlet 即前端控制器(DispatchServlet)而 struts2 入口是一个 filter 过虑器(StrutsPrepareAndExecuteFilter)。

(2)SpringMVC是基于方法开发(一个 url 对应一个方法),请求参数传递到方法的形参,可以设计为单例或多例(建议单例),struts2 是基于类开发,传递参数是通过类的属性,只能设计为多例。

(3)Struts 采用值栈存储请求和响应的数据,通过 OGNL 存取数据,SpringMVC通过参数解析器是将 request 请求内容解析,并给方法形参赋值,将数据和视图封装成 ModelAndView对象,最后又将 ModelAndView 中的模型数据通过 reques 域传输到页面。Jsp 视图解析器默认使用 jstl。

SpringMVC怎么和 Ajax 相互调用的? 通过 Jackson 框架就可以把 Java 里面的对象直接转化成 Js 可以识别的 Json 对象。具体步骤如下 :

(1)加入 Jackson.jar

(2)在配置文件中配置 json 的映射

(3)在接怎么样把 ModelMap 里面的数据放入 Session 里面?

答:可以在类上面加上@SessionAttributes 注解,里面包含的字符串就是要放入 session 里面的 key。

受 Ajax 方法里面可以直接返回 Object,List 等,但方法前面要加上@ResponseBody 注解。

如何启用注解?

如何使用 :

则上面内容可以省略。

SpringMVC前端控制器是什么?处理器映射器是什么? DispatcherServlet:前端控制器。用户请求到达前端控制器,它就相当于 mvc 模式中的 c,DispatcherServlet 是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet 的存在降低了组件之间的耦合性。

HandlerMapping:处理器映射器。HandlerMapping 负责根据用户请求找到 Handler 即处理器,springmvc 提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。

SpringMVC获取表单数据的几种方式 Controller 的方法,添加 HttpServletRequst 类型入参,通过HttpServletRequst.getParameter()获取请求数据。

Controller 的方法,添加对应表单字段 name 的参数,有几个表单字段就添加多少个对应的入参。

Controller 的方法,添加自定义 Java 类型的入参,并添加@ModelAttribute 注解,由这个入参对象接收表单提交的数据。

当表单字段名与 Controller 的方法的形参对象名不一致时,可以在参数类型前添加@requestParam(“表单字段名”)注解来获取表单参数。

本文地址:https://blog.csdn.net/weixin_47929786/article/details/111998672

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

Spring:注解说明注:使用注解一定要在配置文件中设置好所需的设置<?xml version="1.0"...

gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg

人的黄金岁月就那么几年,如果你总是浅尝辄止,追求速成,随着年龄的增加,你的竞争力会不断下降,人也会慢慢废掉 ...

本文实例为大家分享了java实现文件上传的具体代码,供大家参考,具体内容如下一、文件上传准备工作对于文件上传,浏览器在上传的过程中将文件以流的形式提交到服务器。...

gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg

前言 在实际的开发过程中,我们经常修改代码之后,手动的重启项目,查看修改效果。那么有没有一种方式能够快速的、自动的帮我们将修改代码自动更新,避免手动...

这篇文章主要介绍了java多媒体文件编码 处理工具类使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习...

gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg

项目中需要监控各个微服务节点的健康状态,找到了spring boot admin这个全家桶监控工具,它其实是Vue.js美化过的Spring Boo...

一、作用和区别

break的作用是跳出当前循环块(for、while、do while)或程序块(switch)。...

gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg

起因上次打开 idea 时发现自己的 pom 文件提示如下信息:按照自己最先想到的思路,对着 pom 文件右键 ...

gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg

题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。示例1输入{...

struts2中实现web应用的初始化实例详解

在javsse中,main方法为应用提供了入口,而在android中,我们可以使用...

网友评论

387afa1e91d68b43eca6c11dc07bf577.gif

验证码:

752285.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值