• 【SpringMVC】01 快速上手


    环境搭建 EvBuild

    环境组成:

    - JDK 1.8 +

    - IDEA 2018 +

    - Maven 3.0 +

    - Tomcat 8.0 +

    搭建步骤:

    1、创建Maven - SpringMVC工程

    2、导入依赖

    3、创建子模块


    创建子模块

    右键增加框架支持

     

    勾选Web并确定

    配置Tomcat

    修改工程路径

    修改部署方式为热部署

    Maven依赖:

    <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.12</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>5.1.9.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
                <version>2.5</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet.jsp</groupId>
                <artifactId>jsp-api</artifactId>
                <version>2.2</version>
            </dependency>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>jstl</artifactId>
                <version>1.2</version>
            </dependency>
        </dependencies>

    在web.xml配置好我们的SpringMVC的Servlet

    <!--1.注册DispatcherServlet-->
       <servlet>
           <servlet-name>springmvc</servlet-name>
           <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
           <!--关联一个springmvc的配置文件:【servlet-name】-servlet.xml-->
           <init-param>
               <param-name>contextConfigLocation</param-name>
               <param-value>classpath:springmvc-servlet.xml</param-value>
           </init-param>
           <!--启动级别-1-->
           <load-on-startup>1</load-on-startup>
       </servlet>
    
       <!--/ 匹配所有的请求;(不包括.jsp)-->
       <!--/* 匹配所有的请求;(包括.jsp)-->
       <servlet-mapping>
           <servlet-name>springmvc</servlet-name>
           <url-pattern>/</url-pattern>
       </servlet-mapping>

    springmvc-servlet.xml 如果爆红,不用担心,

    是因为我们还没有配置这个容器文件

    配置我们的Servlet容器,然后按内容的要求编写控制器

    <?xml version="1.0" encoding="UTF-8"?>
    <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"/>
    
        <!--视图解析器:DispatcherServlet给他的ModelAndView-->
        <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="InternalResourceViewResolver">
            <!--前缀-->
            <property name="prefix" value="/WEB-INF/jsp/"/>
            <!--后缀-->
            <property name="suffix" value=".jsp"/>
        </bean>
    
        <!--Handler-->
        <bean id="/hello" class="cn.dai.controller.HelloController"/>
    </beans>

    视图解析器定义了解析的目录后缀名称,因此我们需要按照这个配置去创建目录

    我们的控制器类

    package cn.dai.controller;
    
    import org.springframework.web.servlet.ModelAndView;
    import org.springframework.web.servlet.mvc.Controller;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    /**
     * @author ArkD42
     * @file SpringMVC
     * @create 2020 - 05 - 06 - 18:13
     */
    public class HelloController implements Controller {
    
        public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
            //ModelAndView 模型和视图
            ModelAndView mv = new ModelAndView();
    
            //封装对象,放在ModelAndView中。Model
            mv.addObject("msg","HelloSpringMVC!");
            //封装要跳转的视图,放在ModelAndView中
            mv.setViewName("hello"); //: /WEB-INF/jsp/hello.jsp
            return mv;
        }
    }

    跳转的视图名字是hello,这个字符会被视图解析器拼接为url路径

    也就是我们上面配置的目录再加这个文件

     

    要注意!因为是手动设置的,Maven不会自动帮我导入Web工程

    选择我们都模块,然后添加lib目录,点击加号导入所有jar包

    然后运行


    安装步骤:

    1、搭建项目环境

      - 选好依赖包

      - 在普通Maven工程添加Web框架

      - Tomcat服务配置

    2、这里的配置其实正常顺序是反了

      - 编写HelloController控制器,并实现Controller接口

      - 重写HandleRequest方法

      - 配置springmvc-servlet.xml容器

      - 注册【BeanID路径处理器映射】

      - 注册【简易控制层处理适配器】

      - 注册【视图解析器】也就是模板引擎

      - 注册我们自己编写的HelloController, bean的ID就是映射路径

      - 在web.xml配置SpringMVC的转发处理器,配置加载Bean容器的参数

    3、开启Tomcat服务,访问控制器路径


    异常错误总结:

    1、配置完成没有导入jar包

    2、SpringMVC的转发程序路径设置了/*

    这个会直接导致首页都访问不了,可能是因为模板引擎绑定了路径的原因把


  • 相关阅读:
    平衡二叉树 JAVA实现 亲测可用
    八大排序算法 JAVA实现 亲自测试 可用!
    Java 函数传入参数后,究竟发生了什么?java函数传参数原理解析
    运行错误:应用程序无法启动因为并行配置不正确。the application has failed to start because its side-by-side configuration is incorrect 解决方法
    mysql在linux下修改存储路径
    redis订阅与发布系统
    PHP Math常量
    PHP Math函数
    php 字符串函数
    PHP数组函数
  • 原文地址:https://www.cnblogs.com/mindzone/p/12832414.html
Copyright © 2020-2023  润新知