映射器 (多对一)
org.springframework.web.servlet.handler.SimpleUrlHandlerMapping
适配器
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter
视图解析器
org.springframework.web.servlet.view.InternalResourceViewResolver
控制器
org.springframework.web.servlet.mvc.ParameterizableViewController(jsp)
org.springframework.web.servlet.mvc.AbstractCommandController(model)
SpringMVC的工作流程:
用户发送HTTP请求,SpringMVC核心控制器接收到请求
找到映射器看该请求是否交由对应的Action类进行处理
找到适配器看有无该Action类
Action类处理完结果封装到ModelAndView中
通过视图解析器把数据解析,跳转到对应的JSP页面
编码过滤器
User user
int[] hobby
注解
Controller
RequestMapping 分模块
RequestParam
value
required
defaultvalue
ModelAttribute
value
RequestMapping
value
method
ResponseBody
@Validated
@PathVariable
参数绑定
@InitBinder
org.springframework.web.bind.support.ConfigurableWebBindingInitializer
org.springframework.format.support.FormattingConversionServiceFactoryBean
implements Converter
校验
org.springframework.validation.beanvalidation.LocalValidatorFactoryBean
org.hibernate.validator.HibernateValidator
Servlet生命周期 单例
init
service
destroy
synchronized (对象){}
HttpServlet
doGet
doPost
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
<!-- ServletConfig 获得 -->
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1<load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
ServletContext
Servlet之间通讯