admin管理员组

文章数量:1794759

java mvc 笔试

java mvc 笔试

总结的面试经验,这是我在2019年面试常会问到的问题,大家可以看一下。

一)Springmvc执行流程

1、 发起请求到前端控制器(disptcherServlet)

2、 前端控制器请求handlerMapper寻找handker

3、 处理器映射器(handlerMapper)向前端控制器返回handler

4、 前端控制器调用处理器适配器去执行handler

5、 处理器适配器执行handler

6、 Handler执行完成向适配器返回ModelAndView

7、 处理器适配器向前端控制器返回ModelAndview

8、 前端控制器请求视图解析器进行视图解析

9、 视图解析器向前端控制器返回view

10、前端控制器进行视图渲染

11、前端控制器向用户响应结果

二)SpringMVC常用注解

1、@component 创建类对象 相当于配置

2、@service 写在serviceimpl类上 作用和@component一样

3、@Repository 写在数据访问层上 作用和@component一样

4、@controller 写在控制器上 作用和@component一样

5、@RequestMapping:用于处理请求 url 映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。

6、@RequestBody:注解实现接收http请求的json数据,将json转换为java对象。

7、@ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户。

三)SpringMVC怎么样设定重定向和转发的?

(1)转发:在返回值前面加"forward:",比如"forward:user.go?name=1"

(2)重定向:在返回值前面加"redirect:",比如"redirect:user.go"

四)SpringMvc怎么和AJAX相互调用的?

通过Jackson框架就可以把Java里面的对象直接转化成Js可以识别的Json对象。具体步骤如下

(1)加入Jackson.jar

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

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

五)Springmvc的优点:

(1)可以支持各种视图技术,而不仅仅局限于JSP;

(2)与Spring框架集成(如IoC容器、AOP等);

(3)清晰的角色分配:前端控制器(dispatcherServlet) , 请求到处理器映射(handlerMapping), 处理器适配器(HandlerAdapter), 视图解析器(ViewResolver)。

(4) 支持各种请求资源的映射策略。

六)Spring MVC的主要组件?

(1)前端控制器 DispatcherServlet(不需要程序员开发)

作用:接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。

(2)处理器映射器HandlerMapping(不需要程序员开发)

作用:根据请求的URL来查找Handler

(3)处理器适配器HandlerAdapter

注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。

(4)处理器Handler(需要程序员开发)

(5)视图解析器 ViewResolver(不需要程序员开发)

作用:进行视图的解析,根据视图逻辑名解析成真正的视图(view)

(6)视图View(需要程序员开发jsp)

View是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf等等)

七)、SpingMvc中的控制器的注解一般用那个,有没有别的注解可以替代?

一般用@Conntroller注解,表示是表现层,不能用别的注解代替。

八)、如果在拦截请求中,我想拦截get方式提交的方法,怎么配置?

可以在@RequestMapping注解里面加上method=RequestMethod.GET。

九)、怎样在方法里面得到Request,或者Session?

直接在方法的形参中声明request,SpringMvc就自动把request对象传入。

十)、如果想在拦截的方法里面得到从前台传入的参数,怎么得到?

直接在形参里面声明这个参数就可以,但必须名字和传过来的参数一样。

十一)、如果前台有很多个参数传入,并且这些参数都是一个对象的,那么怎么样快速得到这个对象?

直接在方法中声明这个对象,SpringMvc就自动会把属性赋值到这个对象里面。

十二)、SpringMvc中函数的返回值是什么?

返回值可以有很多类型,有String, ModelAndView。ModelAndView类把视图和数据都合并的一起的,但一般用String比较好。

十三)、SpringMvc用什么对象从后台向前台传递数据的?

通过ModelMap对象,可以在这个对象里面调用put方法,把对象加到里面,前台就可以通过el表达式拿到。

本文标签: 笔试javaMVC