Java 杂谈JAVA开发

Java面试系列—框架篇(SpringMVC)

2018-08-17  本文已影响3人  奋斗的蛐蛐

先整理出一批面试笔试面试题。后续将继续更新,如果本文中出现问题,请及时与蛐蛐联系,蛐蛐马上继续修改,后续也会同步更新。

什么是SpringMVC?

SpringMVC是Spring的一个模块

简单介绍下SpringMVC和Struts2的区别?

SpringMVC中的控制器的注解一般用哪个?

一般用@Conntroller注解

@RequestMapping注解有什么作用?

是一个用来处理请求地址映射的注解

SpringMVC的优点

SpringMVC的控制器是不是单例模式,如果是,有什么问题?

是单例模式,所以在多线程访问的时候有线程安全问题,不要用同步,会影响性能的

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

SpringMVC中有个类把视图和数据都合并的一起的,叫什么?

ModelAndView

什么叫RBAC?如何设计表?

拦截器执行顺序:假设先配置A后配置B拦截器

A.preHandle--> B.preHandler-->控制器-->B.postHandler--> A.posthandle-->JSP -->B.aftercompletion--> A afterCompletion

SpringMVC有哪些常用注解

@RequestMapping(value = "/testUrl", method = RequestMethod.GET)
public String testUrl( String  value) {
    System.out.println("testUrl:" + value);
    return null;
}

上面@RequestMapping(value = "/testUrl", method = RequestMethod.GET)
可以改为@PostMapping(value = "/testUrl")

@RequestMapping(value = "/testUrl", method = RequestMethod.GET)
public String testUrl(@RequestParam("value") String  value) {
    System.out.println("testUrl:" + value);
    return null;
}

SpringMVC运行原理

当用户发送请求后被DispatcherSevlet进行分发,然后转交给HandlerMapping进行验证格式是否合法,如果不合法报异常,如果合法向下传递交给HandlerAdapter准备调用某个Controller,Controller在进入之前一般都需要执行HandlerInterceptor拦截器的preHandle()方法,判断是否可以调用Controller.如果可以调用才能进入Controller,当Controller执行完成后再次进入拦截的postHandle验证传递内容是否合法,如果合法交给ViewResovler视图解析器调用具体的View视图资源.调用成功后再次进入拦截器的afterCompletion做最后验证,如果一切正确,响应给客户端.

上一篇下一篇

猜你喜欢

热点阅读