1.SSM是什么?
a、Spring+SpringMVC+MyBatis框架的组合,用于构建Java Web应用程序。
b、Spring是一个轻量级的依赖注入DI和控制反转IOC框架,提供了企业级开发需要的各种功能和特性。
SpringMVC是基于Spring的MVC框架,用于处理Web请求和响应,提供了灵活的控制器、视图解析器等组件。
Mybatis是一个开源持久层框架,提供了SQL映射和对象关系映射(ORM)功能,简化了与数据库交互的复杂性。
SSM框架的优势在于:结合了Spring的IOC和DI特性、SpringMVC的请求处理和视图解析功能、Mybatis的数据库映射功能。这样开发者可以快速构建一个可维护、可扩展的应用程序。
2.SpringMVC执行流程是什么?
用户发送请求到前端控制器DispatcherServlet——>前端控制器收到请求调用HandlerMapping(处理器映射器)——>HandlerMapping找到处理器,生成处理器对象及处理器拦截器,返回给前端控制器 ——>前端控制器调用HandlerAdapter(处理器适配器)——>适配器调用具体处理器(Handler/Controller)——>Controller执行完成返回ModelAndView对象——>HandlerAdapter将Controller执行结果ModelAndView返回给前端控制器
3.SpringMVC中控制器的注解一般用哪个?有没有其他注解替代?
@Controller;也可以用RestController,它相当于@ResponseBody和@Controller
4.SpringMVC常用注解有哪些?
@RequestMapping:映射请求路径,可作用在类上和方法上。作用在类上,则表示类中的所有方法都是以该地址作为父路径。
@RequestBody:作用的方法可以接受json类型数据,并转为java对象。
@RequestParam:指定请求参数名称,简单传参
@Pathvarible:路径传参,从请求路径下获取请求参数
@ResponseBody:将controller方法返回对象转化为json类型响应给客户端
@RequestHeader:获取指定请求头数据
Restful风格4注解:@GetMapping@PostMapping@DeleteMapping@PutMapping
5.SpringMVC中的拦截器和Servlet中的filter过滤器区别?
过滤器:依赖于servlet容器,基于方法回调实现,可以对几乎所有请求进行过滤。
拦截器:依赖于web框架,在SpringMVC中就是依赖于此框架。基于java动态代理实现,呼吁AOP的一种应用。只能对Controller请求进行拦截。访问静态资源拦截不了。
6.SpringMVC如何处理异常?
编写一个全局异常处理器类:类上注解@ControllerAdvice;方法上注解@ExceptionHandler。
此时Controller层只写业务代码,不用管异常处理代码了。