基于maven搭建一个ssm的web项目的详细图文教程

下面是基于Maven搭建SSM(Web)项目的详细攻略:

前置条件

  • JDK 1.8+ 安装并配置好环境变量
  • Maven 安装并配置好环境变量
  • IDE,比如 IntelliJ IDEA 或 Eclipse 等可选

步骤一:创建Maven项目

  1. 打开IDE,选择创建Maven项目
  2. 选择Maven-archetype-webapp模板,输入项目信息,点击创建

步骤二:添加依赖

  1. 在 pom.xml 文件中添加 Spring、SpringMVC 以及 MyBatis 的依赖,如下所示:
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.10</version>
</dependency>

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.10</version>
</dependency>

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.7</version>
</dependency>
  1. 在 pom.xml 文件中添加数据库驱动依赖(以 MySQL 为例):
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.25</version>
</dependency>
  1. 在 pom.xml 文件中添加 Servlet 和 JSP 的依赖,这些依赖很重要,因为它们是 Web 项目最基本的组件,如下所示:
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>javax.servlet.jsp-api</artifactId>
    <version>2.3.3</version>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
</dependency>

步骤三:配置Web.xml

  1. 在 src/main/webapp/WEB-INF 目录下创建 web.xml 文件,将以下内容添加到文件中:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" 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 https://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/web-app_3_1.xsd">

    <display-name>ssm-webapp</display-name>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:mvc.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

步骤四:配置 applicationContext.xml

  1. 在 src/main/resources 目录下创建 applicationContext.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"
 xsi:schemaLocation="http://www.springframework.org/schema/beans 
 http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="url" value="jdbc:mysql://localhost:3306/your_db?useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=Asia/Shanghai&amp;useSSL=false"/>
        <property name="username" value="your_username"/>
        <property name="password" value="your_password"/>
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
    </bean>

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.your_package.dao"/>
    </bean>

    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg index="0" ref="sqlSessionFactory"/>
    </bean>

</beans>

步骤五:配置 mvc.xml

  1. 在 src/main/resources 目录下创建 mvc.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:context="http://www.springframework.org/schema/context"
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 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
 http://www.springframework.org/schema/mvc 
 http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <context:component-scan base-package="com.your_package.controller"/>

    <mvc:annotation-driven/>

    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>

</beans>

注意:这里 InternalResourceViewResolver 是视图解析器,即将返回的 ModelAndView 转换为 JSP 页面并渲染出来。

示例一:编写Controller

package com.your_package.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class IndexController {

    @GetMapping("/")
    public String index(Model model) {
        model.addAttribute("message", "Hello, world!");
        return "index";
    }
}

在这个示例中,我们创建了一个 IndexController,并在其中添加了一个 index 方法。这个方法用 @GetMapping 注解标记,表示当以 GET 方式请求网站根路径时,将执行 index 方法。然后我们使用 Model 类型的参数向视图传递了一个名为 "message" 的键值对,值为 "Hello, world!"。最后,该方法返回一个名为 "index" 的字符串,表示返回的视图名为 index.jsp。

示例二:编写Mapper

package com.your_package.dao;

import com.your_package.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

@Mapper
@Repository
public interface UserMapper {

    void addUser(User user);

    User getUserById(int id);
}

在这个示例中,我们创建了一个 UserMapper 接口,并使用 @Mapper 和 @Repository 注解进行标注。然后我们定义了两个方法,addUser() 和 getUserById(),它们将映射到 UserMapper.xml 配置文件中的 SQL 语句。

以上就是基于 Maven 搭建 SSM(Web) 项目的详细攻略,并提供了两个示例。如果有其他问题,欢迎追问。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于maven搭建一个ssm的web项目的详细图文教程 - Python技术站

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

相关文章

  • 关于Java中使用jdbc连接数据库中文出现乱码的问题

    关于Java中使用JDBC连接数据库中文出现乱码的问题,一般来说是由于编码不一致导致的。下面给出完整的攻略: 问题背景 当我们使用 Java 语言中所提供的 JDBC API 连接数据库时,如果发现 MySQL 数据库中存储的中文字符在程序中被读取后出现了乱码,那么这个问题就需要解决了。 解决方法 1. 在连接字符串中指定编码字符集 实现这个方法,需要在 J…

    Java 2023年5月20日
    00
  • java编程之递归算法总结

    Java编程之递归算法总结 什么是递归算法 递归算法是指一个函数在运行过程中调用它自己的情况。递归函数通常包含一个终止条件,当达到这个条件时,函数将不再调用自身,防止形成无限循环。递归算法在计算机科学中有着广泛的应用,例如树形数据结构的遍历、排序、查找等。 递归算法的基本原则 递归算法的基本原则是分为两个部分: 基本情况(Base Case):表示递归终止的…

    Java 2023年5月19日
    00
  • Markdown基本语法

    Markdown 基本语法介绍 Markdown 是一种轻量级的标记语言,常用于编写文档和博客文章。它简单易学,具有清晰的结构和格式化效果,是非常适合写作和发布内容的工具。下面我们来介绍一些 Markdown 基本语法。 1. 标题 在 Markdown 中,可以使用 # 符号表示标题,一级标题使用一个 # 符号,二级标题使用两个 # 符号,以此类推,最多支…

    Java 2023年4月30日
    00
  • Java实现超简单抖音去水印的示例详解

    标题 Java实现超简单抖音去水印的示例详解 简介 随着抖音的流行,越来越多的人想要制作自己的抖音视频,但是制作过程中,会发现视频上有抖音的水印,影响观感。那么如何去掉抖音的水印呢?本文将分享如何使用Java语言实现超简单的抖音去水印功能,让每个人都能轻松制作无水印的抖音视频! 技术方案 为了实现抖音去水印功能,需要使用到以下技术: Java语言 HttpU…

    Java 2023年5月19日
    00
  • JavaWeb如何实现统一查询接口(jfinal)

    JavaWeb作为Web开发的一种技术栈,在实际开发中,经常需要实现对不同数据源的查询并返回结果。如何实现一个统一的查询接口,以便更好的统一管理和维护查询逻辑呢?在这里,我们可以使用Jfinal框架来实现一个统一的查询接口,下面是一个完整的攻略。 一、前置条件 在进行本文中的示例操作前,需要具备以下环境和工具。 JDK 1.8或以上 MySQL 5.x或以上…

    Java 2023年5月26日
    00
  • Java深入讲解SPI的使用

    Java深入讲解SPI的使用 什么是SPI SPI全称为Service Provider Interface,是Java提供的一种服务发现机制,它通过在classpath路径下查找META-INF/services目录中的配置文件,来实现对接口的实现类自动发现。简单来说,它为接口的实现提供了解耦、可扩展的方式。 SPI的使用步骤 1.创建接口 public …

    Java 2023年5月26日
    00
  • Java Web实现session过期后自动跳转到登陆页功能【基于过滤器】

    下面是Java Web实现session过期后自动跳转到登陆页功能【基于过滤器】的完整攻略。 1. 什么是过滤器 在开始讲解如何实现session过期后自动跳转到登陆页功能之前,先需要明确什么是过滤器。过滤器是用来拦截请求、响应以及过滤其它需要过滤的内容的一个组件。在Java Web中,我们可以使用Filter接口来实现过滤器。 2. Servlet Fil…

    Java 2023年6月15日
    00
  • Kafka Producer中的消息缓存模型图解详解

    以下是关于“Kafka Producer中的消息缓存模型图解详解”的完整攻略: Kafka Producer中的消息缓存模型图解详解 什么是Kafka Producer? Kafka是目前人气逐渐上升的一个分布式流媒体平台,其中包括Kafka Producer、Kafka Consumer、Kafka Connect、Kafka Streams和Kafka …

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