MVC

MVC 是 Model-View-Controller 的简写。
Model 代表的是应用的业务逻辑(通过 Java Bean,EJB 组件实现)。
View 是应用的表示面(由 JSP 页面产生)。
Controller 是提供应用的处理过程控制(一般是一个 Servlet),通过这种设计模型把应用逻辑,处理过程和显
示逻辑分成不同的组件实现,这些组件可以进行交互和重用

springMVC的执行流程

(1)用户发送请求至前端控制器DispatcherServlet;

(2) DispatcherServlet收到请求后,调用HandlerMapping处理器映射器,请求获取Handle;

(3)处理器映射器根据请求url找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet;

(4)DispatcherServlet 调用 HandlerAdapter处理器适配器;

(5)HandlerAdapter 经过适配调用 具体处理器(Handler,也叫后端控制器);

(6)Handler执行完成返回ModelAndView;

(7)HandlerAdapter将Handler执行结果ModelAndView返回给DispatcherServlet;

(8)DispatcherServlet将ModelAndView传给ViewResolver视图解析器进行解析;

(9)ViewResolver解析后返回具体View;

(10)DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)

(11)DispatcherServlet响应用户。

java通过域名获取解析 java 获取域名_java

spring MVC的主要组件

(1)前端控制器 DispatcherServlet(不需要程序员开发)

作用:接收请求、响应结果,相当于转发器,有了DispatcherServlet 就减少了其它组件之间的耦合度。

(2)处理器映射器HandlerMapping(不需要程序员开发)

作用:根据请求的URL来查找Handler

(3)处理器适配器HandlerAdapter

注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler。

(4)处理器Handler(需要程序员开发)

(5)视图解析器 ViewResolver(不需要程序员开发)

作用:进行视图的解析,根据视图逻辑名解析成真正的视图(view)

(6)视图View(需要程序员开发jsp)

View是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf等等)

springMVC怎么设定重定向和转发

(1)转发:在返回值前面加"forward:",例如"forward:user.do?name=method4"

(2)重定向:在返回值前面加"redirect:",例如"redirect:http://www.baidu.com"

SpringMVC常用的注解有哪些

@RequestMapping:用于处理请求 url 映射的注解,可用于类或方法上。用于类上,则表示类中的所有响应请求的方法都是以该地址作为父路径。

@RequestBody:注解实现接收http请求的json数据,将json转换为java对象。

@ResponseBody:注解实现将conreoller方法返回对象转化为json对象响应给客户。

SpringMvc怎么和AJAX相互调用的

通过Jackson框架就可以把Java里面的对象直接转化成Js可以识别的Json对象。具体步骤如下 :

(1)引入Jackson.jar

(2)在配置文件中配置json的映射

(3)在接受Ajax方法里面可以直接返回Object,List等,但方法前面要加上@ResponseBody注解。

MVC 的各个部分都有哪些技术来实现?如何实现?

1, 浏览器根据域名查询域名对应的服务器的 IP 地址。

根据域名查询 IP 地址的顺序如下:
浏览器 DNS >>> 操作系统 DNS 缓存 >>> 本地(ISP)域名服务器缓存 >>> 根域名服务器。
在请求到根域名服务器之后,根域名服务器告诉本地域名服务器,下一次应查询的顶级域名服务器dns.com 的 IP 地址。
本地域名服务器向顶级域名服务器 dns.com 进行查询,顶级域名服务器 dns.com 告诉本地域名服务器,
下一步应查询的权限服务器 dns.abc.com 的 IP 地址。
本地域名服务器向权限域名服务器 dns.abc.com 进行查询,权限域名服务器 dns.abc.com 告诉本地域名服
务器,所查询的主机的 IP 地址。

2、浏览器主机根据 IP 地址与服务器建立 TCP 连接。
建立 TCP 连接需要进行三次握手。
(1)浏览器主机 >>> 服务器:SYN=1,ACK=0,seq=x;
(2)服务器 >>> 浏览器主机:SYN=1,ACK=1,seq=y,ack=y+1;
(3)浏览器主机 >>> 服务器:ACK=1,seq=x+1,ack=y+1。
3、浏览器将访问请求封装为一个 HTTP 请求报文,通过 TCP 协议发送给服务器。
HTTP 请求报文的方法是 get 方式;如果浏览器存储了该域名下的 Cookies,那么会把 Cookies 放入 HTTP
请求头里发给服务器
4、服务器收到请求并响应,生成一个 HTTP 响应报文,通过 TCP 协议发送给浏览器主机。
HTTP 响应报文的头部包含了状态码(Status-Code),三位数字,有 5 大类。HTTP 响应报文内容则是网
页的编码内容。
5、浏览器得到响应报文之后,对响应报文进行解析。
在浏览器没有完整接受全部 HTML 文档时,它就已经开始显示这个页面了。如果是个静态的页面,那到此
就基本结束了。如果是是动态的,那么在浏览器显示 HTML 时,会获取嵌入在 HTML 中的对象,浏览器会
发送获取请求来重新获得这些文件。
6、浏览器异步请求其他资源。
在分析 HTML 时,若发现网页引用了其他资源,例如:css、图片等,浏览器则发起 HTTP 请求,得到响应
资源。