1.先配置安装好 mysql+Navicat for mysql
eclipse
jdbc
2.新建一个java web项目
3话不多说 直接上代码
zhuce.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册界面</title>
</head>
<body>
<font color="purple" size="5px">注册新用户</font><br><br>
<form action="jiancha.jsp" method="post">
用户名: <input type="text" name="name" placeholder="用户名不超过六位"><br><br>
密码: <input type="password" name="pwd" placeholder="密码不少于四位"><br><br>
确认密码: <input type="password" name="pwd1" placeholder="密码不少于四位"><br><br>
<input type="submit" value="注册"><br><br>
<a href="login.jsp"><font color="blue">已有账号点此登录</font></a>
</form>
</body>
</html>
jiancha.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="mywebproject.RegisterDao" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
String pwd=request.getParameter("pwd");
String pwd1=request.getParameter("pwd1");
RegisterDao re=new RegisterDao();
int count=re.register(name,pwd,pwd1);
if(count==1&&name.length()>=1&&name.length()<=6&&pwd.length()>=4&&pwd.equals(pwd1))
{
%>
<a href="login.jsp"><font color="pink" size="8px">注册成功点此登录</font></a>
<%
}
else if(count==0)
{
if(name.length()>=1&&name.length()<=6&&pwd.length()>=4&&!pwd.equals(pwd1))
{
%>
<a href="zhuce.jsp"><font color="green" size="6px">再次输入密码不一致点此返回上一级</font></a>
<%
}
else
{
%>
<a href="zhuce.jsp"><font color="green" size="6px">用户名重复或者用户名密码不符合要求点此返回上一级</font></a>
<%
}
}
%>
</body>
</html>
RegisterDao.java
package mywebproject;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
public class RegisterDao {
ArrayList<String> array=new ArrayList<>();
public int register(String name,String pwd,String pwd1) throws SQLException
{
ResultSet rs=null;
Connection conn=null;
Statement st=null;
Statement st1=null;
int count=0;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/tmp?useSSL=false&serverTimezone=UTC";
String user="root";
String password="root";
conn=DriverManager.getConnection(url, user, password);
String sql1="SELECT * FROM user where name ";
st=conn.createStatement();
st1=conn.createStatement();
rs=st1.executeQuery(sql1);
while(rs.next())
{
String sname=rs.getString("name");
array.add(sname);
}
if(name.length()>=1&&name.length()<=6&&pwd.length()>=4&&pwd.equals(pwd1)&&same(name,array))
{
String sql="insert into user(name,pwd) values('"+name+"','"+pwd+"')";
count=st.executeUpdate(sql);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
if(rs!=null)
{
rs.close();
}
if(st1!=null)
{
st.close();
}
if(st!=null)
{
st.close();
}
if(conn!=null)
{
conn.close();
}
}
return count;
}
public boolean same(String name,ArrayList<String> array)
{
for(String s:array)
{
if(name.equals(s))
{
return false;
}
}
return true;
}
}
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登录界面</title>
</head>
<body>
<font color="green" size="5px">登录界面-代码改变世界</font><br><br>
<form action="check.jsp" method="post">
用户名:<input type="text" name="name"><br><br>
密码:<input type="password" name="pwd"><br><br>
<input type="submit" value="登录"><br><br>
</form>
</body>
</html>
check.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="mywebproject.LoginDao"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
String pwd=request.getParameter("pwd");
LoginDao dao=new LoginDao();
boolean flag=dao.login(name,pwd);
if(flag)
{
%>
<a href="success.jsp"><font color="pink" size="8px">登陆成功点此进入</font></a>
<%
}
else
{
%>
<a href="login.jsp"><font color="pink" size="8px">您输入的用户名或密码错误点此返回上一级</font></a>
<%
}
%>
</body>
</html>
LoginDao.java
package mywebproject;
import java.sql.*;
public class LoginDao {
public boolean login(String name,String pwd) throws ClassNotFoundException, SQLException
{
Statement st=null;
Connection conn=null;
ResultSet rs=null;
PreparedStatement ps=null;
boolean flag=false;
try {
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取数据库连接
String url="jdbc:mysql://localhost:3306/tmp?useSSL=false&serverTimezone=UTC";
String user="root";
String password="root";
conn=DriverManager.getConnection(url, user, password);
//3.获取数据库操作对象
String sql="select name from user where name= ? and pwd = ?";
//sql语句进行预编译
ps=conn.prepareStatement(sql);
//对sql语句进行赋值
ps.setString(1, name);
ps.setString(2, pwd);
rs=ps.executeQuery();
if(rs.next())
{
flag=true;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally
{
if(rs!=null)
{
rs.close();
}
if(ps!=null)
{
ps.close();
}
if(conn!=null)
{
conn.close();
}
}
return flag;
}
}
问题:
1.prepareStatement 这个接口没有搞清楚
2.使用MySQL8.0以上版本需要注意 连接url不一样了 这个卡了我好久(╯﹏╰)难受
3.先这样草草写一下应付期末作业