MVC的理解
MVC作为常用的分层架构,它并不是一种框架,但它可以说是一种架构模式。
常用的MVC分为三层:即M(模型层),V(视图层),C(控制层)
模型层:含有数据和行为,比如存取数据,数据逻辑等等(如dao层、service层、vo层)
视图层:将后台返回来的结果呈现给用户(如JSP
控制层:控制页面的跳转(如action层)
流程大概如下:
1.用户输入
2.控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理
3.控制器决定调用哪个模型构件去处理请求,就比如action将数据传给service,service传给dao,dao去取数据
4.后台将数据传回来到控制器(dao->service->action)
5.控制器确定用哪个视图来显示模型处理返回的数据(跳转)
6.被控制器选中的视图层将数据展现给用户(前端页面)


如何使用SpringMVC架构开发:
首先新建一个Web工程,新建时勾选生成web.xml
导入springmvc所需要的jar包
(1)首先,配置SpringMvc的核心:DispatcherServlet,在web.xml里进行配置:

  springmvc
  org.springframework.web.servlet.DispatcherServlet
 

  springmvc
  /

通配符为/,表示任何访问的url都会被DispatcherServlet所拦截


(2)接着,在WEB_INF文件夹下新建一个xml文件,作为spring的配置文件,注意!:这个xml文件命名是有规定的,要命名为:【DispatcherServlet的servlet名字】-servlet.xml,如上面那个例子这里就应该命名为springmvc-servlet.xml


(3)在spring配置文件里面启动注解以及启用springmvc注解驱动:


(4)在spring配置文件里面配置springmvc结果解析器

     
     

这里前缀和后缀可以将controller传回来的字符串进行拼接,比如传回来一个index,那么等下最终解析结果就是:/index.jsp


(5)为controller进行注解以及生成modelandview:

Spring Mvc_第1张图片

图中,在类前面需要注解它是一个controller,然后可以看到在类和方法之前均有注解,在这里表示当我访问/项目名/user/index的时候,就会进入到这个controller,另外,注意方法的参数,命名是有规范的,之所以命名为nnn,是因为前端页面传过来的变量名也是nnn所以要一致才能获得到值,Model参数,是用来装上从后台传来的数据,把它传给DispatcherSevlet。“return “index”;”是指指定跳转的页面,同样也是传给DispatcherServlet


前端代码:(举例)


     
     

 ${hello}


流程大概如下:
1.用户前端页面输入并跳转到某一url:
2.DispatcherServlet由于url-pattern是“/”,所以拦截请求
3.DispatcherServlet根据url匹配到相应的controller
4.进入到controller,controller根据前端传来的数据,将数据传给service->dao->service,然后service层再将数据传回给controller,controller将数据封装在model里,再指定返回的页面,传回给DispatcherServlet
5.DispatcherServlet根据传回来的modelandview,确定跳转的页面以及传输的数据
6.前端获得数据