SpringMVC-环境配置+入门实例

文章目录

  • 一、springMVC简介
    • 1、什么是MVC
    • 2.什么是springMVC
  • 二、环境配置
    • 1、创建maven工程
    • 2、导入核心依赖
    • 3、创建springMVC配置文件
    • 4、加入thymeleaf视图解析器
  • 三、编写web代码
    • 1、写一个类,并且加上配置标签
    • 2、配置thymeleaf视图解析器的下载路径
    • 3、编写一个简单的前端页面
    • 4、写获取视图的方法
    • 5、配置Tomcat服务器
    • 6、测试结果

一、springMVC简介

1、什么是MVC

MVC是Model View Controller的简写,其中三个单词代表不同的层次结构,是一种软件工程里面的一种软件架构模式。
M:Model就是模型,里面包含了许多Javabean,其中一种是实体类bean,专门存储数据,还有一种是业务逻辑类bean,专门处理业务逻辑和数据访问的,有service对象和dao对象等。
V:View简写,视图的意思。指用户可以看到和用户交互的页面,可以向后端输入数据,就像我们的html页面。用户可以直观看到,并且通过表单可以和后端交互。
C:Controller,控制器。接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。最简单有我们的各种servlet。

2.什么是springMVC

SpringMVC就是一个Spring内置的MVC框架,spring下面有许多单独的框架,各个框架之间都可以单独使用。SpringMVC解决WEB开发中各种逻辑,而且使用简单,与Spring无缝集成。采用了松散耦合可插拔组件结构,比其他 MVC 框架更具扩展性和灵活性。

二、环境配置

1、创建maven工程

我使用的idea是21版的,在添加maven配置后创建web工程会自动导入maven工程相关配置,我这里也简单介绍一下maven工程的创建,如果你的maven还没有配置好,可以参考另一篇博客:maven的安装、环境配置、私服配置,idea部署maven

  1. 选择创建模块或者项目
    SpringMVC-环境配置+入门实例_第1张图片
  2. 选择maven工程
    SpringMVC-环境配置+入门实例_第2张图片
  3. 选择maven版本
    第一个就是选择maven的版本,最开始idea有一个默认的,你自己有下就选择你自己的版本,第二个是mavensetting配置文件的位置,第三个是maven本地仓库的位置。一般你有将maven部署到idea那idea都会自动选择二三步。
    SpringMVC-环境配置+入门实例_第3张图片
    项目创建好之后main下面只有一个webapp目录,你可以加上其它目录。包括java源程序目录,资源目录,还有一个测试类的目录。然后右击选择Mark Directory as选择目录类型。
    SpringMVC-环境配置+入门实例_第4张图片

2、导入核心依赖

  1. 在pom.xml里面导入如下依赖:
    第一个是测试类依赖,第二个是springMVC依赖,第三是日志依赖,第四个是thymeleaf依赖,第一三就你的情况可以导入也可以不导入。

        <dependency>
            <groupId>junitgroupId>
            <artifactId>junitartifactId>
            <version>4.12version>
            <scope>testscope>
        dependency>

        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>
            <version>5.3.1version>
        dependency>

        <dependency>
            <groupId>ch.qos.logbackgroupId>
            <artifactId>logback-classicartifactId>
            <version>1.2.3version>
        dependency>


        <dependency>
            <groupId>org.thymeleafgroupId>
            <artifactId>thymeleaf-spring5artifactId>
            <version>3.0.15.RELEASEversion>
        dependency>

  1. 配置web.xml文件
    spring能够基于原生的servlet,通过功能强大的前端控制器DispatcherServlet统一处理请求和处理响应。
    (1)默认的方式配置
    我们在javaweb中学习的servlet一个请求就对应一个servlet,在配置文件中就要在/里面配置servlet路径。而springMVC对全部的请求都做统一处理,通过前端控制器DispatcherServlet统一处理请求,那pattern>/里面就要配置全部请求地址。web里面学的全部请求方式就是/*,但是这要注意的是不能包含jsp,因为jsp本省就是servlet程序,它的请求本身就通过特定方式处理,不需要再处理了,所以请求地址配置为/代表除了jsp以外的全部请求。

    <servlet>
        <servlet-name>springmvcservlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
    servlet>
    <servlet-mapping>
        <servlet-name>springmvcservlet-name>
        <url-pattern>/url-pattern>
    servlet-mapping>

(2)扩展配置方式
扩展方式通过 标签配置了springMVC配置文件的初始名称和位置标签里面contextConfigLocation翻译过来就是配置文件的位置,里面是配置文件的类加载路径。还有1标签配置前端控制器的初始化时间,里面是1 就代表服务器启动时前端控制器就初始化,并不像web基础里面请求一次才初始化一个servlet。


    <servlet>
        <servlet-name>springmvcservlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>

        <init-param>
            <param-name>contextConfigLocationparam-name>
            <param-value>classpath:springmvc.xmlparam-value>
        init-param>

        <load-on-startup>1load-on-startup>
    servlet>
    <servlet-mapping>
        <servlet-name>springmvcservlet-name>
        <url-pattern>/url-pattern>
    servlet-mapping>

3、创建springMVC配置文件

在resource目录下新建一个springMVC.xml文件,注意要选择spring config类型的。然后加入context命名空间,用于组件扫描。这里组件扫描使用方法和springIOC里面一样,用 标签,base-package标签里面是将要扫描的类路径。


<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       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/context http://www.springframework.org/schema/context/spring-context.xsd">


    <context:component-scan base-package="com.cx.springmvc.controller">
    context:component-scan>
beans>

4、加入thymeleaf视图解析器

这个thymeleaf具体后面会讲到,现在照着配置,后面会使用到。thymeleaf配置加在spring配置文件里面。


    <bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
        <property name="order" value="1"/>
        <property name="characterEncoding" value="UTF-8"/>
        <property name="templateEngine">
            <bean class="org.thymeleaf.spring5.SpringTemplateEngine">
                <property name="templateResolver">
                    <bean class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
                        
                        <property name="prefix" value="/WEB-INF/templates/"/>
                        
                        <property name="suffix" value=".html"/>
                        <property name="templateMode" value="HTML5"/>
                        <property name="characterEncoding" value="UTF-8"/>
                    bean>
                property>
            bean>
        property>
    bean>

三、编写web代码

1、写一个类,并且加上配置标签

这里的注解和spring里面的一样,注意在组件扫描里面加上包路径。我的类路径是com.cx.springmvc.controller,所以对应的组件扫描标签就是 如果没有开启组件扫描,这个类就不会加载到spring容器里面,不能通过spring实例化。

@Controller
public class HelloController {
}

2、配置thymeleaf视图解析器的下载路径

我这里先写一个简单的html,注意html里面要加上thymeleaf视图解析器的下载路径,如果你想要后面的所有html界面都自动加上thymeleaf视图解析器的下载路径,可以在idea里面修改html界面默认初始化内容。
SpringMVC-环境配置+入门实例_第5张图片
SpringMVC-环境配置+入门实例_第6张图片
在第四步里面html标签加上xmlns:th=“http://www.thymeleaf.org”,这个就是thymeleaf视图解析器的下载路径。

3、编写一个简单的前端页面

注意编写后html的路径,我的html放在WEB-INF下的templates里面,对应在thymeleaf配置里面视图前缀就为 ,再由于我的demo页面是html类型的,视图后缀就为,配置成功后通过html名称就能够找到对应的网页。

index.html页面

DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>title>
head>
<body>
<h1>hello world!!!h1>
body>
html>

demo1.html页面

DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Titletitle>
head>
<body>
用户名:<input type="text" name="username">
密码:<input type="password" name="password">
body>
html>

4、写获取视图的方法

在我们注解的类里面写获取视图方法,注意方法返回String类型,返回内容是页面名字,我的页面叫index.html和demo1.html,就返回index和demo1。最后在方法上加上@RequestMapping(“/”)注解,引号里面对应页面名称。如果是@RequestMapping(“/”)就代表默认启动页面。

@Controller
public class HelloController {

    @RequestMapping("/")
    public String toIndex(){
        return "index";
    }

    @RequestMapping("/demo1")
    public String toDemo1(){
        return "demo1";
    }
}

5、配置Tomcat服务器

6、测试结果

启动服务器后默认页面就是index.html的内容,后面加上demo1就是demo1页面的内容,注意不用加上虚拟路径和后缀,因为在thymeleaf视图解析器里面已经配置过试图前缀和视图后缀。
SpringMVC-环境配置+入门实例_第7张图片
在这里插入图片描述

你可能感兴趣的:(Spring,spring,mvc,web,java)