SpringMVC入门篇

目录

1.SpringMVC工作流程

2.SpringMVC核心组件

2.1 DispatcherServlet

2.2 HandlerMapping

2.3 Handler

2.4 HandlerAdapter  

2.5 ViewResolver

2.6 View

3.SpringMVC的入门

3.1 添加相关依赖

3.2 创建Spring-mvc.xml

3.3 配置web.xml

3.4 效果演示

4.静态资源处理


1.SpringMVC工作流程

SpringMVC入门篇_第1张图片

2.SpringMVC核心组件

2.1 DispatcherServlet

DispatcherServlet是SpringMVC框架了里面的前端控制器.

作用:统一处理用户发来的请求并和响应,相当于一个中间转换器,减少了各个组件之间的调度,减少的耦合性。

2.2 HandlerMapping

HandlerMapping是SpringMVC框架里面的处理器映射器.

作用:根据请求发来的url 和method找到对应的Handler(就是说在一个用到SpringMVC框架的项目中会有好多方法和逻辑,这个组件的作用就是找到对应的方法和组件返回给前端控制器)

2.3 Handler

Handler处理器,注意,这个需由工程师自己开发。

作用:在 DispatcherServlet 的控制下,Handler对具体的用户请求进行处理。

2.4 HandlerAdapter  

HandlerAdapter是SpringMVC框架提供的处理器适配器.

作用:根据映射器找到的处理器Handler信息,按照特定的规则去执行相关的处理器 Handler。

2.5 ViewResolver

ViewResolver是SpringMVC框架提供的视图解析器.

作用:就是字如其名,就是用来将处理的结果解析成视图来展现给用户。视图解析器根据逻辑视图名解析成物理视图名,生成View视图对象,最后对视图进行渲染响应给用户。

2.6 View

View是开发者自己提供的视图。

作用:根据model对象的要求来渲染页面,然后前端控器在响应给用户。

另外,SpringMVC还包含了一些其他的组件,例如数据绑定、数据验证、异常处理、国际化等等,这些组件一起协作,形成了一个完整的MVC(模型-视图-控制器)框架。 

3.SpringMVC的入门

3.1 添加相关依赖

在pom.xml配置文件中添加相关依赖,代码如下:


    1.2
    1.1.2
    
    5.0.2.RELEASE

    
      org.springframework
      spring-webmvc
      ${spring.version}
    
    
      jstl
      jstl
      ${jstl.version}
    
    
      taglibs
      standard
      ${standard.version}
    

注意: 

如果缺少jstl+standard的这两个jar包会报java.lang.NoClassDefFoundError:javax/servlet/jsp/jstl/core/Config,因为

org.springframework.web.servlet.view.JstlView在视图解析时需要着两个jar包。

3.2 创建Spring-mvc.xml



    
    

    
    

    
    
        
        
        
        
    


    
    

3.3 配置web.xml



  Archetype Created Web Application
  
  
  
    contextConfigLocation
    classpath:spring-context.xml
  
  
  
    org.springframework.web.context.ContextLoaderListener
  
  

  
  
    encodingFilter
    org.springframework.web.filter.CharacterEncodingFilter
    true
    
      encoding
      UTF-8
    
  
  
    encodingFilter
    /*
  

  
  
    SpringMVC
    org.springframework.web.servlet.DispatcherServlet
    
    
      contextConfigLocation
      classpath:spring-mvc.xml
    
    1
    
    true
  
  
    SpringMVC
    /
  

3.4 效果演示

演示准备:

创建一个jsp,代码如下:

<%--
  Created by IntelliJ IDEA.
  User: jj
  Date: 2023/9/4
  Time: 16:41
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title


闭门烟 上A小


IndexControllor:

package com.Kissship.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @author Kissship
 * @site www.Kissship.com
 * @company xxx公司
 * @create 2023-09-04-16:31
 *
 * @Controller 替换了自定义MVC中的 extends ActionSupport
 */
@Controller
public class IndexController {
    //首页
    @RequestMapping("/hello")
    public String hello(){
        System.out.println("hello SpringMVC。。。");
//         
//        
//        /webapp/WEB-INF/jsp/hello.jsp
//        modelAndView
        return "hello";
    }
}

 效果图如下:

SpringMVC入门篇_第2张图片

SpringMVC入门篇_第3张图片

4.静态资源处理

准备:

在webapp下建立一个static,然后建一个image用来存放图片,目录如下:

SpringMVC入门篇_第4张图片

然后加入静态资源处理代码,如下:

SpringMVC入门篇_第5张图片

效果图如下:


最后SpringMVC之入门就到这里,祝大家在敲代码的路上一路通畅!

感谢大家的观看 !

SpringMVC入门篇_第6张图片

你可能感兴趣的:(java,开发语言,spring,intellij-idea)