从零开始搭建java web springboot Eclipse MyBatis jsp mysql开发环境

news/2024/11/29 6:49:38/

文章目录

  • 1 第一步软件安装
    • 1.1 下载并安装Eclipse
    • 1.2 下载并安装Java
    • 1.3 下载并安装Apache Maven
    • 1.4 下载并安装MySQL
  • 2 创建所需要的表和数据
  • 3 创建Maven 工程、修改jdk
  • 4 通过pom.xml获取所需要的jar包
  • 5 安装Eclipse的MyBatis插件
  • 6 创建文件夹以及jsp文件
  • 7 创建下面各种java类文件、xml、properties文件
    • 7.1 com.study.WebAppMainApplication.java
    • 7.2 com.study.action.AMC01LoginAction .java
    • 7.3 com.study.controller.amc01.AMC01Controller .java
    • 7.4 com.study.controller.amc01.AMC01Form .java
    • 7.5 com.study.dto.AMC01InputDto .java
    • 7.6 com.study.dto.AMC01OutputDto .java
    • 7.7 com.study.dto.AMC01LoginUserInfoDto .java
    • 7.8 com.study.entity.S001Entity .java
    • 7.9 com.study.repository.AMC01Repository .java
    • 7.10 com.study.service.AMC01Service .java
    • 7.11 AMC01Repository.xml
    • 7.12 application.properties
  • 8 启动web应用

从百度云盘下载本博客的代码,https://pan.baidu.com/s/1ztOr7FnypSv-0FX_5EMIlw,提取码:soft

1 第一步软件安装

1.1 下载并安装Eclipse

前往 Eclipse下载并安装的博客 https://blog.csdn.net/u011159350/article/details/113704086
本博客使用的Eclipse版本是Version: 2022-12 (4.26.0),Build id: 20221201-1913
其他版本也行

1.2 下载并安装Java

前往 Java下载并安装的博客 https://blog.csdn.net/u011159350/article/details/113703862
本博客使用的Java版本是15.0.1
其他Java也行

1.3 下载并安装Apache Maven

前往 Apache Maven下载并安装的博客 https://blog.csdn.net/u011159350/article/details/103796714

1.4 下载并安装MySQL

前往 MySQL下载并安装的博客 https://blog.csdn.net/u011159350/article/details/113619926

2 创建所需要的表和数据

打开MySQL附带的软件MySQL WorkBench
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

下面是上面图片里要执行的SQL内容

CREATE TABLE `mydb`.`s001` (`LOGIN_USERID` VARCHAR(20) NOT NULL COMMENT '登陆用户ID',`LOGIN_PASSWORD` VARCHAR(20) NOT NULL COMMENT '登陆密码',`USER_NAME` VARCHAR(50) NULL COMMENT '用户名表示用',`EMAIL` VARCHAR(30) NULL COMMENT '邮件地址',`BIRTH_YMD` VARCHAR(8) NULL COMMENT '出生年月日',`TELPHONE_NUMBER` VARCHAR(11) NULL COMMENT '电话号码',PRIMARY KEY (`LOGIN_USERID`))
COMMENT = '用户情报表';

在这里插入图片描述

在这里插入图片描述
在下图添加数据,然后点击Apply按钮
在这里插入图片描述
在这里插入图片描述
点击finish,就添加成功数据了。
在这里插入图片描述

3 创建Maven 工程、修改jdk

在这里插入图片描述
在这里插入图片描述
Group Id:com.study
Artifact Id:StudySpringBoot
在这里插入图片描述
下面的步骤是设置jdk,因为我是设定过后重新截图,所以会看起来设定后没有变化。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
选择 J2SE-15(jdk-15.0.1)
在这里插入图片描述

4 通过pom.xml获取所需要的jar包

双击打开下面的pom.xml文件
在这里插入图片描述

把pom.xml里的内容全部删除,然后下面的文件复制到pom.xml文件中

<?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><artifactId>study</artifactId><groupId>com.study</groupId><version>0.0.1-SNAPSHOT</version><parent><!-- 依赖管理,引入以后在声明其它dependency的时候就不需要version --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version><relativePath /></parent><properties><!-- 声明项目配置依赖编码格式为 utf-8 --><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><!-- java jdk 版本声明 可变更 根据自己配置去匹配 --><java.version>15.0</java.version><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><fastjson.version>1.2.24</fastjson.version></properties><dependencies><!-- 对web开发的支持,包含了spring webmvc和tomcat等web开发的特性 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- spring boot核心,包括自动配置支持,日志和YAML --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><!-- 使用jsp引擎,springboot内置tomcat没有此依赖 --><dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-jasper</artifactId></dependency><!--        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency>--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.3.1</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency></dependencies><build><plugins><!-- 如果我们要直接Main启动spring,那么以下plugin必须要添加,否则是无法启动的。 --><!-- 如果使用maven的spring-boot:run的话就不需要此配置 --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><!-- mybatis generator 自动生成代码插件 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-maven-plugin</artifactId><version>1.3.1</version><configuration><configurationFile>${basedir}/src/main/resources/generator/generatorConfig.xml</configurationFile><overwrite>true</overwrite><verbose>true</verbose></configuration></plugin></plugins></build>
</project>

在这里插入图片描述

5 安装Eclipse的MyBatis插件

按照下图的操作,进入Eclipse商店
在这里插入图片描述
输入MyBatis,然后检索
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6 创建文件夹以及jsp文件

在这里插入图片描述
webapp/WEB-INF/jsp/amc01.jsp的内容如下

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><base href="http://localhost:8090/myweb/" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>个人网站管理系统</title><link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />
</head>
<body><form action="amc01/login" name="amc01from" method="post"><label for="login_userid">登陆用户名</label><input type="text" class="form-control" id="login_userid" name="login_userid" placeholder="Username"><br><label for="login_password">登陆密码</label><input type="password" class="form-control" id="login_password" name="login_password" placeholder="Password"><button type="submit" class="btn btn-default">Submit</button></form>
</body>
</html>

webapp/WEB-INF/jsp/amc02.jsp的内容如下

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><base href="http://localhost:8090/myweb/" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>个人网站管理系统</title><link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />
</head>
<body>账号登录失败!<br><a href="amc01">重新登录</a>
</body>
</html>

webapp/WEB-INF/jsp/index.jsp的内容如下
下面的标签没有起作用,使得两个If标签内的值都表示了出来。等研究明白了在来修改。

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><base href="http://localhost:8090/myweb/" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>个人网站管理系统</title><link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />
</head>
<body><c:if test=”${userinfo.user_name!=''}”>你的昵称是  ${userinfo.user_name}<br>你的邮件是  ${userinfo.email}<br>你的生日是  ${userinfo.birth_ymd}<br>你的电话号码是  ${userinfo.telphone_number}<br></c:if><c:if test=”${userinfo.user_name==''}”><a href="amc01">登录</a></c:if>
</body>
</html>

7 创建下面各种java类文件、xml、properties文件

在这里插入图片描述

7.1 com.study.WebAppMainApplication.java

创建包:com.study,然后在该包下面创建WebAppMainApplication.java的内容如下,这是启动整个web应用的程序

package com.study;import org.springframework.boot.SpringApplication;					
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** 启动类**/
@SpringBootApplication						
public class WebAppMainApplication {/*** Web启动主方法* @param args*/public static void main(String[] args) {					// TODO Auto-generated method stub			SpringApplication.run(WebAppMainApplication.class, args);}
}

7.2 com.study.action.AMC01LoginAction .java

创建包:com.study.action,然后在该包下面创建AMC01LoginAction .java的内容如下,这是Service类调用的程序,负责实现更加具体的业务逻辑,service类通过调用各种Action类,实现一个完整的复杂的业务逻辑。

package com.study.action;public class AMC01LoginAction {}

7.3 com.study.controller.amc01.AMC01Controller .java

创建包:com.study.controller.amc01,然后在该包下面创建AMC01Controller .java的内容如下,这是点击jsp画面后,第一个跳转到的程序

package com.study.controller.amc01;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;import com.study.dto.AMC01InputDto;
import com.study.dto.AMC01OutputDto;
import com.study.service.AMC01Service;@Controller
public class AMC01Controller {/** 画面初始化事件 */private static final String EVT_INIT= "/";/** 画面跳转事件 */private static final String EVT_AMC01 = "amc01";/** 画面登录事件 */private static final String EVT_LOGIN = "amc01/login";@Autowiredprivate AMC01Service amc01Service;/*** 画面的初始化事件* @param m* @return*/@RequestMapping(EVT_INIT)public String init(Model m) {AMC01Form amc01from = new AMC01Form();m.addAttribute("userinfo", amc01from);// 视图重定向index.jspreturn "index";}/*** 跳转到amc01.jsp* @return*/@RequestMapping(EVT_AMC01)public String Amc01Jsp() {// 视图重定向amc01.jspreturn "amc01";}/*** 画面的登录事件* @param m* @param scmform* @return*/@RequestMapping(value = EVT_LOGIN, method = RequestMethod.POST)public String login(Model m, @ModelAttribute("amc01from") AMC01Form amc01from) {AMC01InputDto amc01InputDto = new AMC01InputDto();amc01InputDto.setLogin_userid(amc01from.getLogin_userid());amc01InputDto.setLogin_password(amc01from.getLogin_password());AMC01OutputDto amc01OutputDto = amc01Service.excute(amc01InputDto);if(amc01OutputDto.getUser_name() == null) {// 登录失败return "amc02";}else {// 登录成功跳转AMC01Form userinfo = new AMC01Form();userinfo.setUser_name(amc01OutputDto.getUser_name());userinfo.setEmail(amc01OutputDto.getEmail());userinfo.setBirth_ymd(amc01OutputDto.getBirth_ymd());userinfo.setTelphone_number(amc01OutputDto.getTelphone_number());m.addAttribute("userinfo", userinfo);// 视图重定向index.jspreturn "index";}}}

7.4 com.study.controller.amc01.AMC01Form .java

创建包:com.study.controller.amc01,然后在该包下面创建AMC01Form .java的内容如下,从Jsp向controller类传入值和从controller类向Jsp传出值的时候,需要把值存在这个form类里

package com.study.controller.amc01;public class AMC01Form {/*** 登陆用户ID*/private String login_userid;/*** 登陆密码*/private String login_password;/*** 用户名表示用*/private String user_name;/*** 邮件地址*/private String email;/*** 出生年月日*/private String birth_ymd;/*** 电话号码*/private String telphone_number;/*** 取得登陆用户ID* @return 登陆用户ID*/public String getLogin_userid() {return login_userid;}/*** 设定登陆用户ID* @param login_userid 登陆用户ID*/public void setLogin_userid(String login_userid) {this.login_userid = login_userid;}/*** 取得登陆密码* @return 登陆密码*/public String getLogin_password() {return login_password;}/*** 设定登陆密码* @param login_password 登陆密码*/public void setLogin_password(String login_password) {this.login_password = login_password;}/*** 取得用户名表示用* @return 用户名表示用*/public String getUser_name() {return user_name;}/*** 设定用户名表示用* @param user_name 用户名表示用*/public void setUser_name(String user_name) {this.user_name = user_name;}/*** 取得邮件地址* @return 邮件地址*/public String getEmail() {return email;}/*** 设定邮件地址* @param email 邮件地址*/public void setEmail(String email) {this.email = email;}/*** 取得出生年月日* @return 出生年月日*/public String getBirth_ymd() {return birth_ymd;}/*** 设定出生年月日* @param birth_ymd 出生年月日*/public void setBirth_ymd(String birth_ymd) {this.birth_ymd = birth_ymd;}/*** 取得电话号码* @return 电话号码*/public String getTelphone_number() {return telphone_number;}/*** 设定电话号码* @param telphone_number 电话号码*/public void setTelphone_number(String telphone_number) {this.telphone_number = telphone_number;}}

7.5 com.study.dto.AMC01InputDto .java

创建包:com.study.dto,然后在该包下面创建AMC01InputDto .java的内容如下,从controller类向service类传入值的时候、需要这个类保存值,一般命名为XXXInputDto

package com.study.dto;public class AMC01InputDto {/*** 登陆用户ID*/private String login_userid;/*** 登陆密码*/private String login_password;/*** 取得登陆用户ID* @return 登陆用户ID*/public String getLogin_userid() {return login_userid;}/*** 设定登陆用户ID* @param login_userid 登陆用户ID*/public void setLogin_userid(String login_userid) {this.login_userid = login_userid;}/*** 取得登陆密码* @return 登陆密码*/public String getLogin_password() {return login_password;}/*** 设定登陆密码* @param login_password 登陆密码*/public void setLogin_password(String login_password) {this.login_password = login_password;}
}

7.6 com.study.dto.AMC01OutputDto .java

创建包:com.study.dto,然后在该包下面创建AMC01OutputDto .java的内容如下,从service类向controller类传出值的时候、需要这个类保存值,一般命名为XXXOutputDto

package com.study.dto;public class AMC01OutputDto {/*** 用户名表示用*/private String user_name;/*** 邮件地址*/private String email;/*** 出生年月日*/private String birth_ymd;/*** 电话号码*/private String telphone_number;/*** 取得用户名表示用* @return 用户名表示用*/public String getUser_name() {return user_name;}/*** 设定用户名表示用* @param user_name 用户名表示用*/public void setUser_name(String user_name) {this.user_name = user_name;}/*** 取得邮件地址* @return 邮件地址*/public String getEmail() {return email;}/*** 设定邮件地址* @param email 邮件地址*/public void setEmail(String email) {this.email = email;}/*** 取得出生年月日* @return 出生年月日*/public String getBirth_ymd() {return birth_ymd;}/*** 设定出生年月日* @param birth_ymd 出生年月日*/public void setBirth_ymd(String birth_ymd) {this.birth_ymd = birth_ymd;}/*** 取得电话号码* @return 电话号码*/public String getTelphone_number() {return telphone_number;}/*** 设定电话号码* @param telphone_number 电话号码*/public void setTelphone_number(String telphone_number) {this.telphone_number = telphone_number;}}

7.7 com.study.dto.AMC01LoginUserInfoDto .java

创建包:com.study.dto,然后在该包下面创建AMC01LoginUserInfoDto .java的内容如下,这是普通的dto类,这里我用来存储repository类从db中检索后返回来的值

package com.study.dto;public class AMC01LoginUserInfoDto {/*** 用户名表示用*/private String user_name;/*** 邮件地址*/private String email;/*** 出生年月日*/private String birth_ymd;/*** 电话号码*/private String telphone_number;/*** 取得用户名表示用* @return 用户名表示用*/public String getUser_name() {return user_name;}/*** 设定用户名表示用* @param user_name 用户名表示用*/public void setUser_name(String user_name) {this.user_name = user_name;}/*** 取得邮件地址* @return 邮件地址*/public String getEmail() {return email;}/*** 设定邮件地址* @param email 邮件地址*/public void setEmail(String email) {this.email = email;}/*** 取得出生年月日* @return 出生年月日*/public String getBirth_ymd() {return birth_ymd;}/*** 设定出生年月日* @param birth_ymd 出生年月日*/public void setBirth_ymd(String birth_ymd) {this.birth_ymd = birth_ymd;}/*** 取得电话号码* @return 电话号码*/public String getTelphone_number() {return telphone_number;}/*** 设定电话号码* @param telphone_number 电话号码*/public void setTelphone_number(String telphone_number) {this.telphone_number = telphone_number;}}

7.8 com.study.entity.S001Entity .java

创建包:com.study.entity,然后在该包下面创建S001Entity .java的内容如下,这是数据库实体类,对应着数据库里S001表,主要用于SQL检索的时候,本博客中没有用到这个类。

package com.study.entity;public class S001Entity {/*** 登陆用户ID*/private String login_userid;/*** 登陆密码*/private String login_password;/*** 用户名表示用*/private String user_name;/*** 邮件地址*/private String email;/*** 出生年月日*/private String birth_ymd;/*** 电话号码*/private String telphone_number;/*** 取得登陆用户ID* @return 登陆用户ID*/public String getLogin_userid() {return login_userid;}/*** 设定登陆用户ID* @param login_userid 登陆用户ID*/public void setLogin_userid(String login_userid) {this.login_userid = login_userid;}/*** 取得登陆密码* @return 登陆密码*/public String getLogin_password() {return login_password;}/*** 设定登陆密码* @param login_password 登陆密码*/public void setLogin_password(String login_password) {this.login_password = login_password;}/*** 取得用户名表示用* @return 用户名表示用*/public String getUser_name() {return user_name;}/*** 设定用户名表示用* @param user_name 用户名表示用*/public void setUser_name(String user_name) {this.user_name = user_name;}/*** 取得邮件地址* @return 邮件地址*/public String getEmail() {return email;}/*** 设定邮件地址* @param email 邮件地址*/public void setEmail(String email) {this.email = email;}/*** 取得出生年月日* @return 出生年月日*/public String getBirth_ymd() {return birth_ymd;}/*** 设定出生年月日* @param birth_ymd 出生年月日*/public void setBirth_ymd(String birth_ymd) {this.birth_ymd = birth_ymd;}/*** 取得电话号码* @return 电话号码*/public String getTelphone_number() {return telphone_number;}/*** 设定电话号码* @param telphone_number 电话号码*/public void setTelphone_number(String telphone_number) {this.telphone_number = telphone_number;}}

7.9 com.study.repository.AMC01Repository .java

创建包:com.study.repository,然后在该包下面创建AMC01Repository .java的内容如下,这是和AMC01Repository.xml文件相对应的类,调用这个类后,就能调用到AMC01Repository.xml,然后就能实现对数据库的增删改查。
关于怎么传入参数的博客:https://blog.csdn.net/qq_38254897/article/details/84961223

package com.study.repository;import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;import com.study.dto.AMC01LoginUserInfoDto;@Mapper
public interface AMC01Repository {/*** 检索登陆用户的信息* @param login_userid 登陆用户ID* @param login_password 登陆密码* @return 登陆用户的信息*/public AMC01LoginUserInfoDto selectUserInfo(@Param("login_userid") String login_userid,@Param("login_password") String login_password);
}

7.10 com.study.service.AMC01Service .java

创建包:com.study.service,然后在该包下面创建AMC01Service .java的内容如下,这是controller类直接调用的程序,负责实现一段完整的业务逻辑。

package com.study.service;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import com.study.dto.AMC01InputDto;
import com.study.dto.AMC01LoginUserInfoDto;
import com.study.dto.AMC01OutputDto;
import com.study.repository.AMC01Repository;@Service
public class AMC01Service {@Autowiredprivate AMC01Repository amc01Repository;public AMC01OutputDto excute(AMC01InputDto amc01InputDto) {AMC01LoginUserInfoDto amc01LoginUserInfoDto = amc01Repository.selectUserInfo(amc01InputDto.getLogin_userid(), amc01InputDto.getLogin_password());AMC01OutputDto amc01OutputDto = new AMC01OutputDto();if(amc01LoginUserInfoDto != null) {amc01OutputDto.setUser_name(amc01LoginUserInfoDto.getUser_name());amc01OutputDto.setEmail(amc01LoginUserInfoDto.getEmail());amc01OutputDto.setBirth_ymd(amc01LoginUserInfoDto.getBirth_ymd());amc01OutputDto.setTelphone_number(amc01LoginUserInfoDto.getTelphone_number());}return amc01OutputDto;}
}

7.11 AMC01Repository.xml

在这里插入图片描述

在src/main/resources文件夹下,创建文件夹com/study/repository,不是包,然后创建AMC01Repository.xml。这里负责检索用户信息,这个文件可以写很多SQL,不限制写一个,可以写所有增删改查。

<?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.study.repository.AMC01Repository"><selectid="selectUserInfo" resultType="com.study.dto.AMC01LoginUserInfoDto">SELECT  USER_NAME,EMAIL,BIRTH_YMD,TELPHONE_NUMBERFROM S001WHERE LOGIN_USERID=#{login_userid}AND LOGIN_PASSWORD=#{login_password}</select>
</mapper>

7.12 application.properties

在src/main/resources文件夹下,创建文件application.properties
在这里插入图片描述
内容如下

spring.mvc.view.prefix=/WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/mydb?serverTimezone=Asia/Shanghai&characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.properties.hibernate.hbm2dd1.auto=update
spring.jpa.show-sql=true
mybatis.mapper-locations: classpath:com/study/repository/*.xml
mybatis.type-aliases-package: com.study.dto
logging.level.org.lzq.tide.mapper=debug
server.context-path=/myweb
server.port=8090

8 启动web应用

打开WebAppMainApplication.java,鼠标右键单击,参照下图选择
在这里插入图片描述
我这里启动失败了,报了错误
参照下面这个博客,解决了我的问题:
java.sql.SQLException: Unable to load authentication plugin ‘caching_sha2_password‘.解决方法

上面博客的命令如下:
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘password’ PASSWORD EXPIRE NEVER; #修改加密规则
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘password’; #更新一下用户的密码
FLUSH PRIVILEGES; #刷新权限
再重置下密码:alter user ‘root’@‘localhost’ identified by ‘123456’;

再次启动获得成功
在这里插入图片描述
打开网页浏览器,访问:http://localhost:8090/myweb/
在这里插入图片描述
点击上面图片的登陆链接,跳转到下面的页面,输入
登陆用户名:5001
登陆密码:abc
点击submit按钮
在这里插入图片描述
成功跳转,成功获取用户信息
在这里插入图片描述
再次点击登陆链接,输入错误的用户名,点击submit按钮
在这里插入图片描述
提示登陆失败
在这里插入图片描述
点击重新登陆,正常跳转
在这里插入图片描述
经过上面的测试,说明实现了自己想要的功能。


http://www.ppmy.cn/news/1121339.html

相关文章

学习ssh配置

三台设备ar1、ar2、ar3 ar1 通过ssh密码方式登陆ar3 ar2 通过免密码方式登陆ar3 ar3的配置如下&#xff1a;进入路由器 rsa local-key-pair creat 选择y&#xff08;yes&#xff09; Input the bits in the modulus[default 512]:2048 //需要创建密钥的长度user-interface v…

文件操作(2)

目录 文件操作的步骤&#xff1a; 流&#xff1a; 标准流&#xff1a; 文件指针&#xff1a; 文件信息区&#xff1a; 概念&#xff1a; 关系转化&#xff1a; 注意&#xff1a; 文件指针&#xff1a; 文件的打开和关闭&#xff1a; 打开方式&#xff1a; 打开成…

C++ 共享内存相关的API

C 共享内存相关的API 1.什么是共享内存1.共享内存的概念2.共享内存的原理3.共享内存使用注意点 2.共享内存有关API的操作函数及示例1.新建共享内存-shmget2.连接共享内存到当前的地址空间-shnat3.当前进程分离共享内存shmdt4.控制共享内存-shmctl5.共享内存操作示例 3.共享内存…

【Python基础】各种情况的报错汇总

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

中兴R5300 G4服务器iSAC管理员zteroot密码遗失的重置方法及IPV6地址启用设置

本文讲解中兴R5300 G4服务器BMC带外iSAC管理员zteroot密码遗失&#xff0c;无法登录时如何对其进行密码重置&#xff0c;以及iSAC启用IPV6地址的方法。 一、重置中兴R5300 G4服务器iSAC管理员zteroot密码 1、通过SSH登录到iSAC&#xff0c;默认用户名&#xff1a;sysadmin&am…

MySQL与PostgreSQL对比

MySQLPostgreSQL数据类型支持支持JSON&#xff0c;但不如PostgreSQL支持更多的数据类型&#xff0c;如数组、hstore、JSON、JSONB、范围类型等扩展性有一些扩展性&#xff0c;但不如PostgreSQL支持自定义数据类型、函数、操作符&#xff0c;具有强大的扩展性SQL兼容性遵循SQL标…

基于Vue+ELement搭建登陆注册页面实现后端交互

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是Java方文山&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的专栏《ELement》。&#x1f3af;&#x1f3af; &#x1…

若依注解学习(一)@Log

Log 涉及到&#xff1a; Log&#xff0c;LogAspect&#xff0c;SecurityUtils&#xff0c;SysUser&#xff0c;SysOperLog&#xff0c;BusinessStatus&#xff0c;StringUtils&#xff0c;ServletUtils AsyncManager&#xff0c;AsyncFactory&#xff…