springmvc整合ssm配置的详细代码

下面我将为您详细讲解如何在Spring MVC框架下整合SSM(Spring + SpringMVC + MyBatis)框架,并提供两个示例说明。

步骤一:创建Maven项目

首先,您需要创建一个Maven项目,以便引入所需的库和依赖项。创建完成后,在pom.xml中添加以下依赖:

<dependencies>
    <!-- Spring MVC dependencies -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.2.8.RELEASE</version>
    </dependency>

    <!-- MyBatis dependencies -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.5</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>2.0.5</version>
    </dependency>

    <!-- Spring dependencies -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>5.2.8.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.8.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>5.2.8.RELEASE</version>
    </dependency>
</dependencies>

步骤二:配置web.xml

接下来,在web.xml文件中添加以下代码:

<!-- 配置Spring MVC Servlet -->
<servlet>
    <servlet-name>springMvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:spring/springMvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>springMvc</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<!-- 配置Spring监听器 -->
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring/applicationContext.xml</param-value>
</context-param>

步骤三:创建配置文件

接下来创建SSM框架所需要的配置文件。其中,spring/applicationContext.xml中应该包含以下代码:

<!-- 数据库连接配置 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
    <property name="driverClassName" value="${jdbc.driverClassName}" />
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
</bean>

<!-- MyBatis配置 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="typeAliasesPackage" value="com.example.model" />
    <property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>

<!-- Mapper扫描 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.example.dao" />
</bean>

<!-- 事务管理器 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />

其中,dataSource的用户名和密码应该替换为本地数据库的用户名和密码。同时,jdbc.driverClassName、jdbc.url、jdbc.username和jdbc.password应该在后续的配置文件中进行设置。

接下来在spring目录下,创建springMvc.xml,其内容应为:

<!-- 扫描Controller -->
<context:component-scan base-package="com.example.controller" />

<!-- 静态文件路径 -->
<mvc:resources location="/resources/" mapping="/resources/**" />

<!-- jsp文件路径配置 -->
<mvc:view-controller path="/index" view-name="/index" />
<mvc:view-controller path="/" view-name="/index" />
<mvc:default-servlet-handler />
<mvc:annotation-driven />

其中,需要指定controller的包名。view-controller中的path和view-name可以根据实际需要自行进行修改。

最后,在src/main/resources/目录下创建mybatis-config.xml文件,其内容应为:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <settings>
        <setting name="cacheEnabled" value="true"/>
        <setting name="lazyLoadingEnabled" value="true"/>
        <setting name="aggressiveLazyLoading" value="false"/>
        <setting name="multipleResultSetsEnabled" value="true"/>
        <setting name="useColumnLabel" value="true"/>
        <setting name="useGeneratedKeys" value="false"/>
        <setting name="autoMappingBehavior" value="PARTIAL"/>
        <setting name="defaultExecutorType" value="SIMPLE"/>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
        <setting name="localCacheScope" value="SESSION"/>
        <setting name="jdbcTypeForNull" value="OTHER"/>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
</configuration>

步骤四:创建Controller和Model

在com.example.controller包下创建UserController.java文件,其内容如下:

import com.example.dao.UserDao;
import com.example.model.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Autowired;
import java.util.List;

@Controller
@RequestMapping("/user")
public class UserController {

    @Autowired
    private UserDao userDao;

    @RequestMapping(value = "/list")
    public String list(Model model) {
        List<User> userList = userDao.findAll();
        model.addAttribute("userList", userList);
        return "user/list";
    }
}

在com.example.dao包下创建UserDao.java和UserMapper.xml文件,内容如下:

public interface UserDao {
    List<User> findAll();
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.dao.UserDao">
    <select id="findAll" resultType="com.example.model.User">
      select * from user;
    </select>
</mapper>

在com.example.model包下创建User.java文件,其内容为:

public class User {
    private int id;
    private String name;

    // getter, setter method ...
}

步骤五:创建jsp文件

在src/main/webapp/WEB-INF/views/user目录下创建list.jsp文件,内容如下:

<%@ page contentType="text/html; charset=UTF-8" language="java" %>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<html>
<head>
    <title>用户列表</title>
</head>
<body>
    <h1>用户列表</h1>
    <table border="1">
        <thead>
            <tr>
                <th>ID</th>
                <th>姓名</th>
            </tr>
        </thead>
        <tbody>
            <c:forEach var="user" items="${userList}">
                <tr>
                    <td>${user.id}</td>
                    <td>${user.name}</td>
                </tr>
            </c:forEach>
        </tbody>
    </table>
</body>
</html>

步骤六:配置文件的详细信息

最后,您需要在application.properties中设置数据库连接信息,如下所示:

jdbc.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
jdbc.username=root
jdbc.password=root

其中,jdbc.url应该修改为您本地数据库的地址。

示例说明

示例一:显示用户列表

通过UserController类上的@RequestMapping注解指定/user/list路径,访问该路径时,将调用list方法,并将返回值指定为user/list的jsp文件。在list方法中,通过userDao.findAll()查询当前数据库中所有的用户并返回user/list视图。

示例二:添加新用户

在UserController类中添加add方法,并在/user/add路径的@RequestMapping注解中添加method=RequestMethod.POST参数。在add方法中,使用@RequestParam注解注入POST请求中的参数,将其映射到User对象中。随后调用userDao.add(user)方法完成用户的添加。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springmvc整合ssm配置的详细代码 - Python技术站

(0)
上一篇 2023年6月15日
下一篇 2023年6月15日

相关文章

  • springboot添加https服务器的方法

    关于“springboot添加https服务器的方法”的完整攻略,以下是详细步骤和示例说明: 1.获取https证书 首先需要获取一个https证书。可以通过自己生成证书,也可以通过第三方机构购买证书。这里以通过免费的Let’s Encrypt获取证书为例。以下是获取过程: 安装Certbot客户端 Certbot是Let’s Encrypt官方提供的一个证…

    Java 2023年5月23日
    00
  • Java实现简单的酒店管理系统

    Java实现简单的酒店管理系统 系统需求 在开始编写系统代码之前,需要明确系统需求,以确定需要实现哪些功能。 管理员登录:管理员通过用户名和密码登录酒店管理系统。 房间管理:管理员可以添加、修改和删除房间信息,包括房间类型、房间号、房间价格、房间状态等。 客户管理:管理员可以添加、修改和删除客户信息,包括客户姓名、客户身份证号、客户联系方式等。 预定管理:管…

    Java 2023年5月19日
    00
  • Java实现一个简单的长轮询的示例代码

    下面是Java实现一个简单的长轮询的示例代码的攻略。 什么是长轮询? 长轮询指的是在客户端发起请求后,服务器会一直等待直到有数据更新或超时才返回。相较于短轮询,长轮询可以减少客户端和服务器之间的请求次数,提高网络传输效率。 实现长轮询的步骤 在Java中实现长轮询的步骤如下: 客户端发起一个GET请求,服务器接收请求并判断是否有新的数据更新; 如果有新的数据…

    Java 2023年5月19日
    00
  • java实现向有序数组中插入一个元素实例

    当需要向有序数组中插入一个新的元素时,我们可以使用以下步骤: 步骤 1:创建有序数组 首先,我们需要创建一个已经排好序的数组。可以使用Java中的数组来完成,或者也可以使用List等其他数据结构。 步骤 2:确定插入位置 在插入新元素之前,我们需要确定新元素应该插入的位置。由于数组已经排好序,我们可以使用二分查找来找到插入位置,使用Java提供的Arrays…

    Java 2023年5月26日
    00
  • 用javascript实现div可编辑的常见方法

    使用JavaScript实现DIV可编辑通常有以下几种方法: contentEditable属性 contentEditable属性是HTML5的内容编辑属性,可以将HTML元素设置为可编辑的。我们可以将一个div元素的contentEditable属性设置为true,使其成为可编辑。 HTML代码: <div contenteditable=&quo…

    Java 2023年6月15日
    00
  • Java实现简单的socket通信教程

    Java实现简单的socket通信教程 1. 什么是Socket Socket是一种通讯机制,用于在不同进程之间传递数据,包括TCP/IP和UDP两种。Java提供了java.net包来实现Socket功能,可以方便地进行网络编程。 2. 实现Socket通信的步骤 建立服务端Socket对象; 监听客户端请求并接受连接请求; 建立客户端Socket对象并连…

    Java 2023年5月18日
    00
  • Java别名Alias是如何工作的

    Java别名(Alias)是为了最大限度地减少内存占用和提高程序执行效率而引入的概念。Java中的别名用途广泛,可以提高程序的性能。这里将详细讲解Java别名是如何工作的。 什么是Java别名(Alias) 在Java中,变量的值存储在内存中的某个地址上。Java中的别名就是将一个变量的名称指向内存中该变量的地址,从而可以用不同的变量名表示同一个内存地址,提…

    Java 2023年5月26日
    00
  • JVM类运行机制实现原理解析

    JVM类运行机制实现原理解析 Java程序在执行时,会先编译成字节码文件,然后在JVM虚拟机上执行。JVM在运行过程中,会把字节码文件转换成机器指令,再由计算机执行。 一、JVM类运行机制简介 在Java程序启动时,JVM会去加载指定的类,根据字节码文件创建相应的类对象,并将类对象放入方法区中。当程序调用某个类的方法时,JVM会找到相应的类对象,并在方法区中…

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