Springmvc 知识点+案例

1.Springmvc是什么

Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。

 

Springmvc 知识点+案例_第1张图片

Springmvc 知识点+案例_第2张图片

Springmvc 知识点+案例_第3张图片

 

 

1DispacherServlet前端控制器

负责用户请求和响应,是一个中央控制器(调度),调用HandlerMapping查找Handler,调用HandlerAdapter处理器适配器执行Handler,调用ViewResolver视图解析器去解析视图,有了DispacherServlet有利于框架扩展,减少了各各组件之间耦合性。

 

2HandlerMapping处理器映射器

不需要开发,使用框架提供的

负责查找Handler(常用action),通过xml配置方式或注解方式将Handler类和request请求Handler链接地址进行对应配置。

3HandlerAdapter处理器适配器

不需要开发,使用框架提供的

Springmvc提供了很多种适配器,注解适配器支持注解开发、原始servlet适配器(HanderRequestAdapter)支持原始servlet的执行。

负责执行Handler,适配器是按照一定的规则去执行Handler,调用Handler返回的结果是ModelAndViewModelAndViewModelview封装起来(模型数据和视图)

 

4ViewResolver视图解析器

不需要开发,使用框架提供的

负责进行视图解析,返回View,框架执行很多类型的ViewjstlViewpdfView。。。)

 

5Handler处理器(需要开发)

需要开发,按照适配器的规则开发,比如适配器要求Handler实现某个接口,Handler必须实现接口。

 

6View视图页面(jsp) (需要开发)

需要开发,jsp+jstl。为了视图通用性建议使用第三方框架,jstl

 

处理器映射器、处理器适配器、视图解析器称为springmvc的三大件。


案例 1:首先我们看controller

我们需要是实现Controller接口,然后我们重写handleRequest方法  ,这个方法返回的值的ModelAndView  所有我 们需要创建一个ModelAndView返回返回他,

一个addObject属性 是可以在页面上传值的,第二个传的是路径。

public class FilstController implements Controller {
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
       ModelAndView mv=new ModelAndView();
       mv.addObject("name","我是一个美丽的 小女孩");
       mv.setViewName("index");
        return mv;
    }
}

第二步我们看一下,web.xml按照基本 的步骤我们应该首先 配置 xml  实现前端控制器,最后一个大节点我们的是用来显示图片的 ,关于结尾 是.jpg的所有图片,

上面我们实现了DispatcherServlet,并且我们需要连接一个路径配置的xml  springmvc .xml




  Archetype Created Web Application

  
    springmvc
    org.springframework.web.servlet.DispatcherServlet

    
      contextConfigLocation
      classpath:springmvc02.xml
    
  1
  
  
    springmvc
    /
  
  



第三步我们看springmvc.xml..首先 前俩个是图片显示的另外2种方法,然后BeanNameUrlHandlerMapping这个没什么用 ,写不写可以。

下面是配置视图解析器的配置。









  
      

      
          
              
              
          

      
    



    
    
        
        
    




接下来我们是显示 的页面。我们会在页面上显示图片 还有我们传过去的name值。

<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


    哈哈


我是SpringMVC,你成功了!!!

${name}



示例2和1无太大的差别

不过是  示例1实现了Controller接口,而示例2是继承了AbstractController,不过把它的配置文件的类换一下,

而且这和带请求的限定

如果你只写了一个post但是你浏览网页是Get请求的话,那是不可以的。没了 就这些了。

Springmvc 知识点+案例_第4张图片Springmvc 知识点+案例_第5张图片

你可能感兴趣的:(Springmvc 知识点+案例)