1、dispatcherServlet是单实例吗,怎样做到的并发?
servlet是多线程共享资源的,要考虑线程安全问题。
同理dispatcherServlet和controller也是多线程共享资源的,需要考虑线程安全问题。
2、controller和servlet是有区别的,功能不同,servlet直接和响应交互,dispatcherServlet是要转发请求到指定的controller中的。
3、如果controller中的方法返回类型为void,则怎样通知dispatcherServlet来响应呢?
4、controller中方法参数:
@RequestParam 等效于 req.getParam(),从请求中找到param对应的值,给到方法参数 ,且通过注解中参数可以看出,默认参数为必须的,不能为空。或者可以在使用时给定默认值或参数为非必传: @RequestParam(required = false,defaultValue = "sdf");
@RequestHeader,从请求头中取出指定的值,并赋值给这个变量;
@SessionAttribute,重session中获取指定元素值;
@RequestBody,将请求体转换成一个对象;
@PathVariable("xx"),从请求路径中获取参数;--todo
5、如果请求的路径是静态资源,则使用默认的servlet来处理,(启用默认的servlet)
spring主要模块
包扫描配置: