springmvc

官网:https://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/web.html#spring-web

一个mvc项目

springmvc_第1张图片

    
        
            junit
            junit
            4.12
        
        
            org.springframework
            spring-webmvc
            5.1.9.RELEASE
        
        
            javax.servlet
            servlet-api
            2.5
        
        
            javax.servlet.jsp
            jsp-api
            2.2
        
        
            javax.servlet
            jstl
            1.2
        
    

配置web.xml , 注册DispatcherServlet



    
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
        
            contextConfigLocation
            classpath:springmvc-servlet.xml
        
        
        1
    

    
    
    
        springmvc
        /
    

编写SpringMVC 的 配置文件!名称:springmvc-servlet.xml : [servletname]-servlet.xml



     
    
    
    

    
    
        
        
        
        
    
    
    
    

编写我们要操作业务Controller

package com.learning.controller;


import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class HelloController implements Controller {
    public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
        //ModelAndView 模型和视图
        ModelAndView mv = new ModelAndView();

        //业务代码
        String result = "HelloMVC";
        mv.addObject("msg",result);
        //封装要跳转的视图,放在ModelAndView中
        mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
        return mv;
    }
}

注入到ioc

  

写要跳转的jsp页面,显示ModelandView存放的数据

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


    learning


${msg}


在这里插入图片描述

可能遇到的问题:访问出现404,排查步骤:

查看控制台输出,看一下是不是缺少了什么jar包。

如果jar包存在,显示无法输出,就在IDEA的项目发布中,添加lib依赖!

重启Tomcat 即可解决!

springmvc_第2张图片

注解版

导入依赖 Maven可能存在资源过滤的问题,我们将配置完善


        
            
                src/main/java
                
                    **/*.properties
                    **/*.xml
                
                false
            
            
                src/main/resources
                
                    **/*.properties
                    **/*.xml
                
                false
            
        
    

web.xml这是不变的


    
    
        springmvc
        org.springframework.web.servlet.DispatcherServlet
        
        
            contextConfigLocation
            classpath:springmvc-servlet.xml
        
        
        1
    

    
    
    
        springmvc
        /
    

springmvc-servlet.xml




    
    
    
    
    
    

    
    
        
        
        
        
    


controller

package com.learning.controller;

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

@Controller
public class HelloController {
    @RequestMapping("/hello")
    public String hello(Model model){
        model.addAttribute("msg","你好mvc");
        return "hello";
    }
}

页面jsp

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


    你好


${msg}


根据图理解

springmvc_第3张图片web.xml
url给到我们的前端控制器 前端控制器不需要我们去动web.xml 所有请求必须通过它

springmvc-servlet.xml
里面处理器映射器 适配器 也不需要去动 只需要配置对应controller也就是处理器
这里配置视图解析器

controller
处理器通过访问数据库等操作 把数据返回响应页面 也就是ModelAndView
这里生效

jsp
最后通过在jsp接收数据 渲染页面

我们需要自己写处理器处理请求 返回数据

你可能感兴趣的:(mvc,mvc)