一个Spring的小例子。
参考:http://blog.csdn.net/shymi1991/article/details/48085955
http://www.yiibai.com/spring/spring_hello_world_example.html
=======================================2017.11.5================================================
Springmvc处理流程
(注:图中的1-11的次序与以下解释中的1-7顺序并不相同)
1.首先用户发送请求到DispatcherServlet,前端控制器收到请求后自己不进行处理。而是委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制。
2.DispatcherServlet->HandlerMapping,HandlerMapping将会把请求映射为HandlerExecutionChian对象(包含一个Handler处理器(页面处理器)对象,多个HandlerInterceptor拦截器对象)通过这种策略模式,很容易添加新的映射策略。
3.DispatcherServlet->HandlerAdapter,HandlerAdapter将会把处理器包装为适配器,从而支持多种类型的处理器。
4.HandlerAdapter将会根据适配的结果调用真正的处理器的功能;并返回一个ModelAndView对象(包含模型数据、逻辑视图名)。
5.ModelAndView的逻辑视图名->ViewResolver,ViewResolver将把逻辑视图解析为具体的view,通过这种策略模式,很容易更换其他的视图技术。
6.view->渲染,view会根据传进来的Model模型数据进行渲染,此处的Model实际是一个Map数据结构,因此很容易支持其他视图技术。
7.返回控制权给DispatcherServlet,由DispatcherServlet返回相应给用户,到此一个流程结束。
-----------------------------------------------------------------------------------2018.4.23-------------------------------------------------------------------------------------------------------------------
(掌握)注解的处理器映射器,处理器适配器
(暂不写)非注解的处理器映射器,处理器适配器
springmvc的注解开发:
常用的注解学习;
参数绑定(指request如何让spring框架接收到:简单类型,pojo,集合类型)
自定义参数绑定
MVC在B/S下的处理流程:
序列化 public interface Serializable
Classes that require special handling during the serialization and deserialization process must implement special methods with these exact signatures:
//序列化或者反序列化时,需要实现这些具体的方法
private void writeObject(java.io.ObjectOutputStream out) throws IOException private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException; private void readObjectNoData() throws ObjectStreamException;
“序列化理解成“打碎”是可以的,不过在书本上的名词就是将对象转换成二进制。”参考:https://www.cnblogs.com/day93110/p/6094377.html