一、安装准备
1.建立数据库newsdb,建表格user,设置属性,测试是否可用
CREATE DATABASE IF NOT EXISTS newsdb;
USE newsdb;
CREATE TABLE user
(Uno int AUTO_INCREMENT,
uName char(8),
uPwd char(8),
uGender Enum('male','female'),
uResume varchar(70),
PRIMARY KEY (Uno)
)ENGINE=INNODB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1;
INSERT INTO user VALUES(null,'wang','111','male','abcde');
2.右键数据库,命令列界面,select @@version;
,查看版本
二、下载安装
1.下载对应版本mysql-connector-java jar包,
如图:数据库版本号位5.7.22,则下载8.0版,解压
mysql官网https://downloads.mysql.com/archives/c-j/
2.将mysql-connector-java-8.0.27.jar复制到文件夹tomact\lib下
3.创建项目demo,将mysql-connector-java-8.0.27.jar复制到tomact\lib
或当前项目WEB-INF\lib
下,如下:
三、连接实例
jsp代码如下:
1、注册
userRegister.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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>用户注册</title>
</head>
<body>
<div class="inputform">
<div class="top-bar">
<h1>用户注册</h1>
</div>
<br>
<form action="userVeriRegister.jsp" method="post">
用户名:<input type="text" name="username"></input><br/><br/>
密码:<input type="password" name="password"></input><br/><br/>
性别:男<input type="radio" value="male" name="gender">
女<input type="radio" value="female" name="gender"><br/><br/>
个人简介<textarea name="resume" cols="12" rows="6"></textarea>
<br/><input type="submit" value="提交"></input><br/>
</form>
</div>
</body>
</html>
2、确认注册
userVeriRegister.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>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>注册确认页面</title>
</head>
<body>
<div class="inputform">
<div class="top-bar">
<h1>用户注册</h1>
</div>
<%
request.setCharacterEncoding("UTF-8"); //设置数据解析所采用的字符集
String uName = request.getParameter("username"); //获取userRequest.jsp中表单提交的数据
String uPwd = request.getParameter("password");
String uGender = request.getParameter("gender");
String uResume = request.getParameter("resume");
%>
<table>
<tr>
<td>用户名:</td><td><%=uName %></td> <!--使用JSP表达式直接输出到页面 -->
</tr>
<tr>
<td>密码:</td><td><%=uPwd %></td>
</tr>
<tr>
<td>性别:</td><td><%=uGender %></td>
</tr>
<tr>
<td>个人简介:</td><td><%=uResume %></td>
</tr>
</table>
</div>
<!-- 程序5.1 start -->
<form action="doRegister.jsp" method="post">
<div style="display:none">
用户名:<input type="text" name="username" value="<%=uName %>" /><br/>
密码:<input type="text" name="password" value="<%=uPwd %>" /><br/>
性别:<input type="text" name="gender" value="<%=uGender %>" /><br/>
简介:<textarea name="resume" cols="20" rows="6"><%=uResume %></textarea>
<br><br><br>
</div>
<input class="btn" type="submit" value="注册"></input>
<a href="javascript:history.go(-1)">返回</a><br/>
</form>
<!-- 程序5.1 end -->
</body>
</html>
3、连接数据库
doRegister.jsp
实现数据库的连接
刷新数据库,在表中可看到注册信息
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- 1.导入JDBC API -->
<%@page import="java.sql.*" %>
<%request.setCharacterEncoding("UTF-8");
String uname = request.getParameter("username");
String pwd = request.getParameter("password");
String gender = request.getParameter("gender");
String resume = request.getParameter("resume");
Connection conn = null;
Statement stmt = null;
String sDBDriver = "com.mysql.jdbc.Driver";
String sConnStr = "jdbc:mysql://localhost:3306/newsdb";
String username = "root";
String password = "123456";
//2.装载驱动程序
try{
Class.forName(sDBDriver);
}
catch(ClassNotFoundException ex){
System.err.println(ex.getMessage());
}
try{
//3.建立数据库连接
conn = DriverManager.getConnection(sConnStr,username,password);
//4.创建Statement
stmt = conn.createStatement();
//5.执行SQL语句
String sql = "INSERT INTO user VALUES(null,'"+uname+"','"+pwd+"','"+gender+"','"+resume+"')";
int result = stmt.executeUpdate(sql);
//6.处理结果
if(result==1){
out.println("用户注册成功,请登录使用。");
}else{
out.println("用户注册失败,请联系管理员!");
}
}
catch(SQLException el){
out.println(el);
}
finally{
//7.关闭连接
conn.close();
}
%>