关键词

Springboot集成mybatis与jsp过程详解

下面详细讲解Springboot集成mybatis与jsp的过程。

环境配置

  1. 首先需要安装Java虚拟机和Maven,可以去官网下载安装。

  2. 建立一个Springboot工程,可以使用Eclipse、IntelliJ IDEA等开发工具,也可以在https://start.spring.io/官网上生成一个基本的Springboot项目。

添加依赖包

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

<dependencies>
    <!-- Springboot web模块,包含Spring MVC等组件 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- Mybatis依赖 -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.0</version>
    </dependency>

    <!-- Mysql连接驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.22</version>
    </dependency>

    <!--jsp相关的依赖-->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <version>9.0.41</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat</groupId>
        <artifactId>tomcat-jasper</artifactId>
        <version>9.0.41</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
</dependencies>

数据库配置

在application.properties中添加数据库相关配置:

spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false&characterEncoding=utf-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root

Mapper、Entity、Service、Controller开发

Entity

在src/main/java/下创建entity包,并在其中创建一个User实体类,用于存放用户的信息。

package com.example.springbootmybatisjspdemo.entity;

public class User {

    private Long id;
    private String username;
    private String password;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

Mapper

在src/main/java/下创建mapper包,并在其中创建一个UserMapper接口,用于访问数据库中的用户信息。

package com.example.springbootmybatisjspdemo.mapper;

import com.example.springbootmybatisjspdemo.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

@Mapper
public interface UserMapper {

    User findByUsernameAndPassword(@Param("username") String username, @Param("password") String password);

}

Service

在src/main/java/下创建service包,并在其中创建一个UserService接口,用于访问数据库中的用户信息。

package com.example.springbootmybatisjspdemo.service;

import com.example.springbootmybatisjspdemo.entity.User;

public interface UserService {

    User findByUsernameAndPassword(String username, String password);

}

在service包下创建一个UserServiceImpl实现类,用于具体实现UserService接口中的方法。

package com.example.springbootmybatisjspdemo.service.impl;

import com.example.springbootmybatisjspdemo.entity.User;
import com.example.springbootmybatisjspdemo.mapper.UserMapper;
import com.example.springbootmybatisjspdemo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public User findByUsernameAndPassword(String username, String password) {
        return userMapper.findByUsernameAndPassword(username, password);
    }
}

Controller

在src/main/java/下创建controller包,并在其中创建一个UserController类,用于接收前端的请求,并返回响应结果。

package com.example.springbootmybatisjspdemo.controller;

import com.example.springbootmybatisjspdemo.entity.User;
import com.example.springbootmybatisjspdemo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class UserController {

    @Autowired
    private UserService userService;

    @RequestMapping("/login")
    public String login(String username, String password, ModelMap modelMap) {
        User user = userService.findByUsernameAndPassword(username, password);
        if (user !=  null) {
            modelMap.put("user", user);
            return "success";
        } else {
            return "error";
        }
    }

}

JSP页面开发

在src/main/webapp/下创建jsp/login.jsp文件,用于接收用户输入的用户名和密码,并发送给后台进行验证。

<!DOCTYPE html>
<html>
<head>
  <title>Login Page</title>
</head>
<body>
  <h1>Login Page</h1>
  <form action="/login" method="post">
    <p>Username: <input type="text" name="username" /></p>
    <p>Password: <input type="password" name="password" /></p>
    <p><input type="submit" value="Login" /></p>
  </form>
</body>
</html>

在src/main/webapp/下创建jsp/error.jsp文件,用于在用户输入的用户名和密码不正确时显示错误信息。

<!DOCTYPE html>
<html>
<head>
  <title>Error</title>
</head>
<body>
  <h1>Error</h1>
  <p>Invalid username or password.</p>
</body>
</html>

在src/main/webapp/下创建jsp/success.jsp文件,用于在用户输入的用户名和密码正确时显示成功信息。

<!DOCTYPE html>
<html>
<head>
  <title>Success</title>
</head>
<body>
  <h1>Success</h1>
  <p>Welcome, ${user.username}!</p>
</body>
</html>

在application.properties中添加JSP视图解析器的相关配置:

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp

运行程序

  1. 在命令行中进入到项目的根目录中。

  2. 执行以下命令进行项目的打包:

mvn package

  1. 打包完成后,执行以下命令启动Springboot应用程序:

java -jar target/springboot-mybatis-jsp-demo-0.0.1-SNAPSHOT.jar

  1. 在浏览器中输入http://localhost:8080/login,即可看到登录页面。

示例1:使用IntelliJ IDEA中的Springboot插件进行项目的启动。

示例2:使用Maven命令进行项目的启动。

以上就是Springboot集成mybatis与jsp过程的详细攻略,希望能够对您有所帮助。

本文链接:http://task.lmcjl.com/news/13121.html

展开阅读全文