STS用Maven写一个登录页面 - 将MySQL和STS连接起来
准备用户名数据库
创建方法前面已介绍,不重复说明。
创建方法:https://www.cnblogs.com/smart-zihan/p/15041013.html
通过MySQL Workbench添加。
连接MySQL与STS
参考链接:https://www.likecs.com/show-205095823.html
1. 首先下载JDBC驱动(用来连接STS和MySQL)
参考链接:https://blog.csdn.net/liaowenxiong/article/details/121286809
下载地址:https://dev.mysql.com/downloads/connector/j/
注意:下载的JDBC版本要和自己的MySQL版本对应,本机MySQL版本是8.0.30,所以驱动也是8.0.30。
大概4.9M,等待一会。
解压后就可以看到jar包了。
2. MySQL与STS建立连接
将mysql-connector-java-8.0.30.jar拷贝到jdk目录下
pom.xml中添加mysql和servlet的依赖
<!-- Servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency> <!-- mysql连接 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.30</version> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf</artifactId> <version>5.5.0</version> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itext-pdfa</artifactId> <version>5.5.0</version> </dependency> <dependency> <groupId>com.itextpdf</groupId> <artifactId>itext-asian</artifactId> <version>5.2.0</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.10-FINAL</version> </dependency>
在pom里面加依赖,可能需要等待一会,它会自己去下载资源。
测试看看是否可以连接成功
在Demo.java中写一段测试代码
Demo.java
package com.test.demo; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import com.mysql.cj.jdbc.Driver; import java.util.Properties; import java.sql.Connection; import java.sql.SQLException; @Controller public class Demo { private static final Logger logger = LoggerFactory.getLogger(Demo.class); @RequestMapping(value = "/") public String ShowLogin() throws SQLException { Driver driver =new com.mysql.cj.jdbc.Driver(); String url="jdbc:mysql://localhost:3306/LoginTestUser?useSSL=false&serverTimezone=GMT%2B8&allowPublicKeyRetrieval=true"; Properties info =new Properties(); info.put("user", "root"); info.put("password", "123456"); Connection conn = (Connection) driver.connect(url, info); System.out.println(conn); return "login"; } // 点击login时触发 @RequestMapping(value="/loginOn", method=RequestMethod.POST) public ModelAndView Login(HttpServletRequest request, ModelAndView view) { logger.info("======================================"); System.out.print("Start"); String name = request.getParameter("username"); String password = request.getParameter("password"); // 不要用 name == "lucy",结果会是不相等 if (name.equals("lucy")) { logger.info("username is lucy"); view.setViewName("redirect:/loginOn"); } else { logger.info("username is not lucy"); view.setViewName("redirect:/"); } return view; } @RequestMapping(value="/loginOn") public ModelAndView ShowLoginOn(ModelAndView view) { logger.info("====================Move to login on=================="); System.out.print("123"); view.setViewName("loginOn"); return view; } }
特别注意几个地方,一个是数据库的名称LoginTestUser,一个是用户名root,还有一个是password,这几个都对了,才能连接成功,现在进行三步走,Update Project,Maven install,Run as Sever。
打印出这句话说明连接成功。
接下来我们再来测试一下可不可以读取数据库中的数据,修改Demo.java
三步走看看,有没有打印消息。
成功读出来了数据库的消息。