SpringMVC学习1——基础学习及入门

SpringMVC学习1——基础学习及入门

参考:https://www.jianshu.com/p/91a2d0a1e45a

基础概念介绍

servlet

servlet的作用就是是接收浏览器传给服务端的请求(request),并将服务端处理完的响应(response)返回给用户的浏览器,浏览器和服务端之间通过http协议进行沟通,其过程是浏览器根据用户的选择将相关信息按http协议报文的规范组装请求的http报文,报文通过网络传输到指定的服务器,服务器通过特定的web容器接收这个报文信息web容器会将http报文解析出来,如果是用户请求,最终解析出来的报文信息会用一个request对象存储起来,服务端使用这个request做完相应的处理后,服务端程序将结果信息封装到response对象里,然后将response对象交给web容器,web容器则把这个response对象转变为http协议的报文,并将报文回传给浏览器,浏览器最后解析这个响应报文,将最终结果展示给用户。

SpringMVC

SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示。在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义URL 请求和Controller 方法之间的映射,这样的Controller 就能被外界访问到。此外Controller 不会直接依赖于HttpServletRequest 和HttpServletResponse 等HttpServlet 对象,它们可以通过Controller 的方法参数灵活的获取到。

SpringMVC代码流程

创建控制器

@Controller
public class HelloControl {
    @RequestMapping("hello")
    private ModelAndView hello(){
        System.out.println("hello");
        // 模型和视图
        ModelAndView mav = new ModelAndView();
        // 设置模型数据用于传递jsps
        mav.addObject("msg","hello");
        // 设置视图名用于响应用户
        mav.setViewName("hello");
        return mav;
    }
}

web中创建jsp文件

<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


$( msg )

在resources文件中创建spring的配置文件




    
     
        
        
    

在web.xml中设置servlet



    
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet

        
        
            contextConfigLocation
            classpath:config/springmvc.xml
        
    

    
    
        springmvc
        *.action
    

注意:

Spring MVC之所以可以整合到web应用中,是通过名为一个由框架提供的名为DispatcherServlet的servlet拦截请求实现的,

表示启动spring的扫描功能,扫描有@Controller @Service等注解的java类,就把类实例化bean,然后完成注入

【WEB-INF】是 Java Web 中默认的安全目录,是不允许用户直接访问的(也就是说通过 localhost/WEB-INF/ 这样的方式是永远访问不到的),我们需要添加以下配置,告诉给视图解析器:在视图名上添加前缀和后缀,进而确定一个 Web 应用中视图资源的物理路径的

 
    
        
        
    

SpringMVC执行流程:

 

SpringMVC学习1——基础学习及入门_第1张图片

1:输入url进行网络访问

2-4:在DispatcherServlet中进行url的映射,查询一个或多个处理器映射来确定请求的下一站在哪里;

5-7:一旦选择了合适的控制器, DispatcherServlet 会将请求发送给选中的控制器,到了控制器,请求会卸下其负载(用户提交的请求)等待控制器处理完这些信息:

8-10:在找到@controller标注的控制器,通过RequestMapping找到具体的控制器方法。 当控制器在完成逻辑处理后,通常会产生一些信息,这些信息就是需要返回给用户并在浏览器上显示的信息,它们被称为模型(Model)。仅仅返回原始的信息时不够的——这些信息需要以用户友好的方式进行格式化,一般会是 HTML,所以,信息需要发送给一个视图(view),通常会是 JSP。

SpingMvc架构体系:

SpringMVC学习1——基础学习及入门_第2张图片

SpringMvc三大组件:

  • 处理器映射器:用户请求路径到Controller方法的映射

  • 处理器适配器:根据handler(controlelr类)的开发方式(注解开发/其他开发) 方式的不同区寻找不同的处理器适配器

  • 视图解析器:根据handler返回的view地址文件类型(jsp/pdf….)去寻找相应的视图解析器来进行解析

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(后端开发,SpringMVC)