• 第一个SpringMVC


    访问url-调度器-处理器映射器-调度器-处理器适配器-处理器-调度器-视图视图解析器-调度器-展示给用户

    xml 版

    目录

    在这里插入图片描述

    导包

        <dependencies>
            <dependency>
                <groupId>org.springframeworkgroupId>
                <artifactId>spring-webmvcartifactId>
                <version>5.2.20.RELEASEversion>
            dependency>
            <dependency>
                <groupId>javax.servletgroupId>
                <artifactId>servlet-apiartifactId>
                <version>2.5version>
            dependency>
            <dependency>
                <groupId>javax.servlet.jspgroupId>
                <artifactId>jsp-apiartifactId>
                <version>2.2version>
            dependency>
            <dependency>
                <groupId>javax.servletgroupId>
                <artifactId>jstlartifactId>
                <version>1.2version>
            dependency>
        dependencies>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    要展示的页面 jsp

    注意这个文件要在springmvc中作为bean声明

    
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    
    
        Title
    
    
    我是jsp
        ${msg}
    
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    web.xml(web配置文件)

    为url配置映射

    
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0">
    
        <servlet>
            <servlet-name>springmvcservlet-name>
            <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
    
            <init-param>
                <param-name>contextConfigLocationparam-name>
                <param-value>classpath:spring-mvc.xmlparam-value>
            init-param>
    
            <load-on-startup>1load-on-startup>
        servlet>
        
        <servlet-mapping>
            <servlet-name>springmvcservlet-name>
           <url-pattern>/hellourl-pattern>
        servlet-mapping>
    web-app>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    spring-mvc.xml(调度器[dispatcher]配置文件)

    映射器通过bean的name和传入的url匹配来选择处理器

    
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
                            http://www.springframework.org/schema/beans/spring-beans.xsd">
    
        <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
    
        <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
    
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
            
            <property name="prefix" value="/WEB-INF/jsp/"/>
            <property name="suffix" value=".jsp"/>
    
        bean>
    
        <bean id = "/hello" name = "/hello" class="HelloController"/>
    
    beans>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    处理器(java形式)

    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 {
        @Override
        public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
            ModelAndView mv = new ModelAndView();
    //        业务代码
            String res = "MVC";
            mv.addObject("msg",res);
            mv.setViewName("display");//这里的路径经过的视图解析器拼接
    //        跳转
            return mv;
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    配置tomcat

    在这里插入图片描述
    在这里插入图片描述

    注解版

    与xml不同的地方

    处理器 .java
    springmvc

    目录

    在这里插入图片描述

    处理器

    package controller;
    
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.RequestMapping;
    // toHi.jsp视图    web.xml    springmvc.xml调度器  controller.HiController 控制器
    @Controller
    public class HiController {
        @RequestMapping("/toHi")//通过这个方法来映射,并将结果返回给视图解析器,得到jsp路径后加载到页面
        public String hi(Model model){
            model.addAttribute("msg","000");
            return "hi";
        }
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    springmvc(基本是死的)

    多了三行,不需要声明bean直接扫描即可
    不愿意声明 适配器和映射器

    
    <beans xmlns="http://www.springframework.org/schema/beans"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xmlns:mvc="http://www.springframework.org/schema/mvc"
           xmlns:context="http://www.springframework.org/schema/context"
           xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
           ">
    
    
        
        <context:component-scan base-package="controller" />
        
        <mvc:default-servlet-handler/>
        
        <mvc:annotation-driven/>
      
        
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver">
            
            <property name="prefix" value="/WEB-INF/jsp/"/>
            <property name="suffix" value=".jsp"/>
    
        bean>
    
    
    beans>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    遇到的问题

    常见404 xxx部署失败

    大部分问题可以通过查看日志解决

    artifacts 没有导包
    WEB-INF下
    新建lib!!!
    新建lib!!!
    新建lib!!
    然后导包
    在这里插入图片描述
    在这里插入图片描述

    500 xxxxx version 61 版本问题

    在这里插入图片描述
    解决:17—>8
    在这里插入图片描述

  • 相关阅读:
    【洛谷 P1115】最大子段和 题解(贪心算法)
    数商云供应链系统为机械设备行业打造数据智能应用服务,助力企业智慧决策
    【动手学深度学习】卷积神经网络CNN的研究详情
    Cpp知识点系列-宏定义
    高薪程序员&面试题精讲系列131之Eureka如何实现高可用?自我保护机制是怎么回事?
    使用【Python+Appium】实现自动化测试
    分享一个课程卡样式
    Android 13 - Media框架(8)- MediaExtractor(2)
    使用二手 gopro 做行车记录仪
    [题]宝物筛选 #单调队列优化
  • 原文地址:https://blog.csdn.net/qq_51682771/article/details/126674909