使用maven一步一步构建spring mvc项目(图文详解)

使用 maven 一步一步构建 Spring MVC 项目是一个非常常用的开发方式。下面我们来详细讲解这个步骤:

步骤一:新建maven项目

  1. 打开 Eclipse 或者 IntelliJ IDEA ,点击 File -> New -> Maven Project;
  2. 在弹出的对话框中,选择 Create a simple project ,并勾选上 Create a 'Maven Project' 模板文件;
  3. 点击 Next,填入 Group ID、Artifact ID 和 version等项目信息,然后点击 Next;
  4. 选择默认的 Archetype ( quickstart ),然后点击 Next;
  5. 最后确认信息,点击超链接 create a simple project to finish。

步骤二:添加 Spring MVC 相关的依赖

在 pom.xml 中添加以下的依赖:

<dependencies>
  <!-- Spring MVC 相关依赖 -->
  <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.1.6.RELEASE</version>
  </dependency>
  <!-- Jackson 依赖 -->
  <dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.9.1</version>
  </dependency>
  <!-- JSTL 相关的依赖 -->
  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
  </dependency>
</dependencies>

其中,Spring MVC 依赖为 org.springframework:spring-webmvc 。注意:版本号为当前最新的 5.1.6.RELEASE。

步骤三:配置 web.xml 文件

在 web.xml 文件中添加以下内容:

<!DOCTYPE web-app PUBLIC
        "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
        "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
    <display-name>Spring MVC Application</display-name>
    <!-- 配置 Spring MVC 的前端控制器 -->
    <servlet>
        <servlet-name>springmvc-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/springmvc-config.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <!-- 将 Spring MVC 的前端控制器映射到 /,也就是拦截所有的请求 -->
    <servlet-mapping>
        <servlet-name>springmvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

其中,servlet 的 name 为 springmvc-dispatcher,class 为 org.springframework.web.servlet.DispatcherServletinit-param 参数指定了 Spring MVC 配置文件的路径(/WEB-INF/springmvc-config.xml)。

步骤四:配置 Spring MVC 配置文件

在 src/main/resources 下新建文件 springmvc-config.xml,写入以下内容:

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

    <!-- 开启注解扫描 -->
    <context:component-scan base-package="com.example.controller"/>

    <!-- 静态资源映射 -->
    <mvc:resources mapping="/static/**" location="/static/"/>

    <!-- 配置视图解析器 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>

其中,component-scan 是指定 Spring MVC 按照注解来扫描需要跳转的 Controller 的位置,mvc:resources 是指定静态资源,suffix 是指定 JSP 的后缀名。

步骤五:编写 Controller

在 src/main/java 下新建包 com.example.controller,再新建 UserController 类,写入以下内容:

@Controller
public class UserController {

    @RequestMapping(value = "/users", method = RequestMethod.GET)
    public ModelAndView getUsers(){
        ModelAndView modelAndView = new ModelAndView("users");
        List<User> users = new ArrayList<>();
        User user1 = new User("1", "Alice");
        User user2 = new User("2", "Bob");
        User user3 = new User("3", "Charlie");
        users.add(user1);
        users.add(user2);
        users.add(user3);
        modelAndView.addObject("users", users);
        return modelAndView;
    }
}

这是一个简单的 Spring MVC Controller,其中,@Controller 表示这是一个 Controller 类,在类中使用 @RequestMapping 注解映射请求的 URL,请求的方法为 GET,方法名为 getUsers()。

步骤六:编写 JSP 页面

在 src/main/webapp/WEB-INF/views 下新建 users.jsp 页面,写入以下内容:

<!DOCTYPE html>
<html>
<head>
    <title>Users</title>
</head>
<body>
<table>
    <thead>
        <tr>
            <th>Id</th>
            <th>Name</th>
        </tr>
    </thead>
    <tbody>
        <c:forEach items="${users}" var="user">
            <tr>
                <td>${user.id}</td>
                <td>${user.name}</td>
            </tr>
        </c:forEach>
    </tbody>
</table>
</body>
</html>

这是一个简单的 JSP 页面,使用了 JSTL 标签库,<c:forEach> 用来循环显示用户信息。

步骤七:启动应用程序

将应用程序部署在 Tomcat 或者 Jetty 服务器中,然后启动应用程序。在浏览器中输入 http://localhost:8080/users,可以看到页面显示了三个用户:

Id  Name
1   Alice
2   Bob
3   Charlie

以上是使用 maven 一步一步构建 Spring MVC 项目的完整攻略,其中,步骤三、四、五、六需要更改的部分依据不同的开发需求有所不同,用户需要根据自己的实际情况进行修改。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用maven一步一步构建spring mvc项目(图文详解) - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Git和Maven的子模块简单实践

    Git和Maven的子模块简单实践 什么是Git子模块 Git子模块(Git submodules)顾名思义就是一个Git仓库的子目录,可以跟随父目录的开发进度更新。子模块可以使得多个项目分享一些公共代码,同时保证这些公共代码可以被父项目和子项目独立管理,并不会在父项目或子项目中重复存储。 Git子模块的使用 在父项目中添加子模块 git submodule…

    Java 2023年5月19日
    00
  • SpringMVC通过RESTful结构实现页面数据交互

    SpringMVC通过RESTful结构实现页面数据交互 在Web应用程序中,页面数据交互是非常重要的。SpringMVC通过RESTful结构可以实现页面数据交互,本文将详细介绍如何使用SpringMVC通过RESTful结构实现页面数据交互,并提供两个示例说明。 RESTful结构 RESTful是一种Web应用程序的架构风格,它使用HTTP协议进行通信…

    Java 2023年5月17日
    00
  • php中session退出登陆问题

    下面是关于PHP中Session退出登录问题的完整攻略: 1. 什么是Session退出登录问题 在使用Session管理用户身份认证时,通常会使用Session存储用户登录状态信息,当用户点击“退出登录”按钮或删除浏览器Cookie时,需要销毁Session并将用户的登录状态重置为未登录。而PHP中的Session退出登录问题,指的是在进行Session销…

    Java 2023年6月16日
    00
  • Java使用反射操作数组示例

    Java反射是在程序运行时可以动态获取类的信息并操作类的属性、方法和构造器。在Java中,数组是一种特殊类型的对象,因此也可以使用反射操作数组。本文将讲述如何使用Java反射操作数组,包括获取数组信息、读取/修改数组元素、创建新数组等。 获取数组信息 要对数组进行反射操作,首先需要获取数组对象的所有信息,常用的方法有以下两种: // 获取数组类型 Strin…

    Java 2023年5月26日
    00
  • 深度分析java dump文件

    以下是“深度分析java dump文件”的完整攻略: 什么是Java Dump文件 Java Dump文件是在Java应用程序运行时出现异常或死锁等问题时自动或手动导出的一种快照文件。它记录了Java虚拟机(JVM)在某个时间点上的内存状态,可以用于问题排查和调试。 如何生成Java Dump文件 可以通过以下两种方式生成Java Dump文件: JCons…

    Java 2023年5月20日
    00
  • java数据库唯一id生成工具类

    Java数据库唯一ID生成工具类是用于在关系型数据库中生成唯一ID的工具类。在开发中,经常需要使用唯一ID作为数据库表的主键,而使用数据库自增长的整数或GUID字符串作为主键,会存在一些问题,如分布式环境下高并发的ID生成、算法不唯一等问题。因此,使用Java数据库唯一ID生成工具类,可以解决这些问题。 下面给出一个完整的攻略,介绍如何使用Java数据库唯一…

    Java 2023年5月20日
    00
  • 微信小程序模板消息限制实现无限制主动推送的示例代码

    接下来我将为您详细讲解“微信小程序模板消息限制实现无限制主动推送的示例代码”的攻略。 前置要求 在实现无限制主动推送之前,需要先满足微信官方对于小程序模板消息的限制要求,包括以下几点: 用户首次在小程序中订阅模板消息需用户手动触发; 小程序根据订阅消息的模板发送消息,需用户在小程序中使用过该模板或模板已被用户授权,否则会发送失败; 发送模板消息的次数受到限制…

    Java 2023年5月23日
    00
  • Spring boot搭建web应用集成thymeleaf模板实现登陆

    下面就是详细讲解Spring Boot搭建Web应用集成Thymeleaf模板实现登录的攻略。 1. 新建Spring Boot项目 首先,打开IDE,新建一个Spring Boot项目。在Maven项目的pom.xml中添加thymeleaf依赖: <dependency> <groupId>org.springframework.…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部