Spring MVC入门案例

简介: 作为Spring非常重要的一个组件,Spring MVC在java web领域已经是当之无愧的领头人物,能正确的使用Spring MVC非常重要,今天就一起搭建一个Spring MVC项目的骨架,一起入门下Spring MVC。

作为Spring非常重要的一个组件,Spring MVC在java web领域已经是当之无愧的领头人物,能正确的使用Spring MVC非常重要,今天就一起搭建一个Spring MVC项目的骨架,一起入门下Spring MVC。

软件

  • Spring 4.x
  • Tomcat 8.x
  • MacOS(不限,Java是跨语言的)

案例

  1. 新建maven项目,名称可以任意起。我们的就叫做me.aihe.learnspring

    img_5722ff7c9e237b63cef4b493ba0d7d92.jpe
    image

  2. 添加Spring与spring mvc的依赖。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>me.aihe</groupId>
    <artifactId>learnspring</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <spring.version>4.3.14.RELEASE</spring.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
    </dependencies>
    
</project>
  1. 配置项目为tomcat项目,记得提前下载好tomcat软件,我们通过idea指定tomcat的位置。
img_f13bf1fcac25ea8e441e7db91132ad54.jpe
image
  1. 通过idea配置项目为web项目
img_fc5bd0cddf904b1bc1d4fd355fca4b27.jpe
image
  1. 配置Java Web项目的web.xml文件。
<?xml version="1.0" encoding="UTF-8"?>
<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>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>
  1. 配置dispatcher-servlet.xml,tomcat启动的时候会加载servlet名称-servlet.xml的文件。所以我们要在WEB-INF下再添加一个文件dispatcher-servlet.xml,其内容如下
<?xml version="1.0" encoding="UTF-8"?>
<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">
    <mvc:annotation-driven />
    <context:component-scan base-package="me.aihe" />

</beans>
  1. 创建一个新的Controller来测试。
package me.aihe;

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

/**
 * description:  该文件说明
 *
 * @author aihe
 * @version 1.0
 * @date 2018/11/6
 */
@Controller
public class FirstController {

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

  1. 再次确认下,项目是否为正确的web项目,idea项目启动的包是否正确,对比下面的图片。先按照下面的进行配置,每个包的细节后面再说。
img_650e0d5494241a8fdb81c6f03475c897.jpe
image
img_44285b79c94966a1d8c7067b1ca680c2.jpe
image
  1. 启动项目,可以看到正确的项目输出。浏览器上看到页面是正常的工作。
img_7872df9455651bdec040408fa327e8c5.jpe
image
img_b202e9a0df250df5cb7b5a9fc1f966b9.jpe
image
  1. 到这里,我们的Spring MVC基本项目就搭建完成了,再后续开发的时候,需要不断的添加依赖让项目变得越来越复杂,但是复杂的项目也是由简单的项目一步步来的,基础的东西掌握扎实也很重要。

Spring Boot的web案例

鉴于Spring Boot构建一个web项目非常的简单快速,这里顺便提及一下,而且近些年Spring Boot越来越火,掌握一下也是很有必要的。

  1. 基本上现在的IDE都会有Spring Boot的initializer. 我们用的是Idea,如图。


    img_8ad177cd948d645c85443f6d0428393f.jpe
    image
  2. 勾选web依赖就可以。

img_3fc4b69eb6d787899592892b16ffcc36.jpe
image
  1. 直接创建一个Controller的java类就可以。
img_45e3f7f88c8f3a4091a92f499e19b254.jpe
image
  1. 启动项目
img_665e2fbfdf03576bae4b614987614986.jpe
image

是不是非常的简单,Spring Boot极大的简化了我们开发的步骤,但是想要提高技术最好还是要明白其内部的原理。

最后

这次关于Spring MVC的环境搭建就说到这,本次主要介绍了使用Tomcat搭建Spring MVC项目与使用Spring Boot搭建web项目。

如果想对Spring MVC有更深入的理解,参考之前写的一些关于Spring MVC原理分析的文章
探索Spring

参考

相关文章
|
9天前
|
前端开发 Java 数据库
SpringBoot入门(3) - 对Hello world进行MVC分层
SpringBoot入门(3) - 对Hello world进行MVC分层
25 4
|
22天前
|
前端开发 Java 数据库
SpringBoot入门(3) - 对Hello world进行MVC分层
SpringBoot入门(3) - 对Hello world进行MVC分层
33 1
SpringBoot入门(3) - 对Hello world进行MVC分层
|
21天前
|
前端开发 Java 数据库
SpringBoot入门(3) - 对Hello world进行MVC分层
本文介绍了如何在Spring Boot项目中实现MVC分层架构,通过将代码划分为controller、service、dao和entity四个部分,实现高内聚低耦合的设计。示例项目包括用户增删查改功能,详细展示了各层的具体实现及运行测试。
30 11
|
20天前
|
前端开发 Java 数据库
SpringBoot入门(3) - 对Hello world进行MVC分层
SpringBoot入门(3) - 对Hello world进行MVC分层
18 2
|
1月前
|
JSON 前端开发 Java
SSM:SpringMVC
本文介绍了SpringMVC的依赖配置、请求参数处理、注解开发、JSON处理、拦截器、文件上传下载以及相关注意事项。首先,需要在`pom.xml`中添加必要的依赖,包括Servlet、JSTL、Spring Web MVC等。接着,在`web.xml`中配置DispatcherServlet,并设置Spring MVC的相关配置,如组件扫描、默认Servlet处理器等。然后,通过`@RequestMapping`等注解处理请求参数,使用`@ResponseBody`返回JSON数据。此外,还介绍了如何创建和配置拦截器、文件上传下载的功能,并强调了JSP文件的放置位置,避免404错误。
|
1月前
|
Java API Spring
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中拦截器的入门教程和实战项目场景实现的详细指南。
26 0
springboot学习七:Spring Boot2.x 拦截器基础入门&实战项目场景实现
|
1月前
|
Java API Spring
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
这篇文章是关于Spring Boot 2.x中过滤器的基础知识和实战项目应用的教程。
24 0
springboot学习六:Spring Boot2.x 过滤器基础入门&实战项目场景实现
|
1月前
|
前端开发 Java 应用服务中间件
【Spring】Spring MVC的项目准备和连接建立
【Spring】Spring MVC的项目准备和连接建立
54 2
|
2月前
|
缓存 前端开发 Java
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
Soring Boot的起步依赖、启动流程、自动装配、常用的注解、Spring MVC的执行流程、对MVC的理解、RestFull风格、为什么service层要写接口、MyBatis的缓存机制、$和#有什么区别、resultType和resultMap区别、cookie和session的区别是什么?session的工作原理
【Java面试题汇总】Spring,SpringBoot,SpringMVC,Mybatis,JavaWeb篇(2023版)
|
1月前
|
XML 前端开发 Java
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习
本文阐述了Spring、Spring Boot和Spring MVC的关系与区别,指出Spring是一个轻量级、一站式、模块化的应用程序开发框架,Spring MVC是Spring的一个子框架,专注于Web应用和网络接口开发,而Spring Boot则是对Spring的封装,用于简化Spring应用的开发。
112 0
Spring,SpringBoot和SpringMVC的关系以及区别 —— 超准确,可当面试题!!!也可供零基础学习