目录
三 谈一下 SpringMVC 的执行流程以及各个组件的作用(必会)
四 说一下 SpringMVC 支持的转发和重定向的写法(必会)
六 谈一下 SpringMVC 统一异常处理的思想和实现方式(必会)
七 在 SpringMVC 中, 如果想通过转发将数据传递到前台,有几种写法?(必会)
八 在 SpringMVC 中拦截器的使用步骤是什么样的?(必会)
九 在 SpringMVC 中文件上传的使用步骤是什么样的? 前台三要素是什么?(必会)
十 SpringMVC 中如何解决 GET|POST 请求中文乱码问题?(了解)
三 简述SpringMvc里面拦截器是如何定义,如何配置,拦截器中三个重要的方法
八 简述REST中HiddenHttpMethodFilter过滤器的作用
十 Springmvc中的控制器的注解用哪个,可以是否用别的注解代替
十二 简述Springmvc中InternalResourceViewResolver解析器的工作机制
十五 说出SpringMVC常用的5个注解?如何使用 SpringMVC完成JSON操作?
黑马
一 谈一下你对 SpringMVC 框架的理解(了解)
二 SpringMVC 主要组件(必会)
三 谈一下 SpringMVC 的执行流程以及各个组件的作用(必会)
四 说一下 SpringMVC 支持的转发和重定向的写法(必会)
五 SpringMVC 的常用注解(必会)
六 谈一下 SpringMVC 统一异常处理的思想和实现方式(必会)
七 在 SpringMVC 中, 如果想通过转发将数据传递到前台,有几种写法?(必会)
八 在 SpringMVC 中拦截器的使用步骤是什么样的?(必会)
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="拦截路径规则"/>
<mvc:exclude-mapping path="不拦截路径规则"/>
<bean class="自定义拦截器的类全限定名"/>
</mvc:interceptor>
</mvc:interceptors>
九 在 SpringMVC 中文件上传的使用步骤是什么样的? 前台三要素是什么?(必会)
十 SpringMVC 中如何解决 GET|POST 请求中文乱码问题?(了解)
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</fil
ter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<ConnectorURIEncoding="utf-8" connectionTimeout="20000" port="8080" p
rotocol="HTTP/1.1" redirectPort="8443"/>
String userName= new String(request.getParamter("userName").getBytes("ISO885
9-1"),"utf-8")
十一 SpringMVC 执行流程(工作原理)?
十二 SpringMVC 的常用注解有哪些?
十二 SpringMVC 如何处理统一异常?
硅谷
一 . 简单的谈一下SpringMVC的工作流程?
- 用户发送请求至前端控制器DispatcherServlet
- DispatcherServlet收到请求调用HandlerMapping处理器映射器。
- 处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
- DispatcherServlet调用HandlerAdapter处理器适配器
- HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
- Controller执行完成返回ModelAndView
- HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet
- DispatcherServlet将ModelAndView传给ViewReslover视图解析器
- ViewReslover解析后返回具体View
- DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
- DispatcherServlet响应用户
二 SpringMVC中如何解决POST请求中文乱码问题
Springmvc中通过CharacterEncodingFilter解决中文乱码问题.
在web.xml中加入:
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
三 简述SpringMvc里面拦截器是如何定义,如何配置,拦截器中三个重要的方法
定义:有两种方式
- 实现HandlerInterceptor接口
- 继承HandlerInterceptorAdapter
配置:
<mvc:interceptors>
<!--默认是对所有请求都拦截 -->
<bean id="myFirstInterceptor" class="com.atguigu.interceptor.MyFirstInterceptor">
</bean>
<!-- 只针对部分请求拦截或者不拦截 -->
<mvc:interceptor>
<mvc:mapping path=" " /> <!—指定拦截-->
<mvc:exclude-mapping path=””/> <!—指定不拦截-->
<bean class=" com.atguigu.interceptor.MySecondInterceptor " /> </mvc:interceptor>
</mvc:interceptors>
拦截器中三个重要的方法:
- preHandle
- postHandle
- afterCompletion
四 简述Springmvc中处理模型数据的两种方式
- 使用ModelAndView 作为方法的返回值,将模型数据和视图信息封装到ModelAndView中
- 使用Map或者是Model 作为方法的形参,将模型数据添加到Map或者是Model中
五 简述REST中的四种请求方式及对应的操作
GET 查询操作
POST 添加操作
DELETE 删除操作
PUT 修改操作
六 简述视图和视图解析的关系及作用
- 视图是由视图解析器解析得到的。
- 视图解析器的作用是根据ModelAndView中的信息解析得到具体的视图对象
- 视图的作用是完成模型数据的渲染工作,最终完成转发或者是重定向的操作
七 说出三个 常用的视图类
InternalResourceView
JstlView
RedirectView
八 简述REST中HiddenHttpMethodFilter过滤器的作用
该过滤器主要负责转换客户端请求的方式,当浏览器的请求方式为POST,并且在请求中能通过 _method获取到请求参数值。该过滤器就会进行请求方式的转换。
一般在REST中,都是将POST请求转换为对应的DELETE 或者是PUT
九 简述Springmvc中如何返回JSON数据
Step1:在项目中加入json转换的依赖,例如jackson,fastjson,gson等
Step2:在请求处理方法中将返回值改为具体返回的数据的类型, 例如数据的集合类List<Employee>等
Step3:在请求处理方法上使用@ResponseBody注解
十 Springmvc中的控制器的注解用哪个,可以是否用别的注解代替
使用@Controller注解来标注控制器,不能使用别的注解代替。
十一 如何在Springmvc中获取客户端提交的请求参数
直接在请求处理方法中声明对应的形参,也可以是用@RequestParam注解来具体指定将那些请求参数映射到方法中对应的形参。
十二 简述Springmvc中InternalResourceViewResolver解析器的工作机制
使用prefix + 方法的返回值 + suffix 生成一个物理视图路径。
十三 Springmvc中如何完成重定向
在请求处理方法的返回值前面加 redirect: 前缀, 最终会解析得到RedirectView,RedirectView会完成重定向的操作。
十四 SpringMVC的工作原理
(1)用户向服务器发送请求,请求被springMVC 前端控制器 DispatchServlet 捕获;
(2)DispatcherServle 对请求 URL 进行解析,得到请求资源标识符(URL),然后根据该 URL 调用 HandlerMapping将请求映射到处理器 HandlerExcutionChain;
(3)DispatchServlet 根据获得 Handler 选择一个合适的HandlerAdapter 适配器处理;
(4)Handler 对数据处理完成以后将返回一个 ModelAndView()对象给 DisPatchServlet;
(5)Handler 返回的 ModelAndView() 只是一个逻辑视图并不是一个正式的视图, DispatcherSevlet 通过ViewResolver 试图解析器将逻辑视图转化为真正的视图View;
(6)DispatcherServle 通过 model 解析出 ModelAndView()中的参数进行解析最终展现出完整的 view 并返回给客户端;
十五 说出SpringMVC常用的5个注解?如何使用 SpringMVC完成JSON操作?
@Controller
@RequestMapping
@Resource和@Autowired
@PathVariable
@Repository
使用下面的注解完成json操作
@RequestBody
@ResponseBody