jsp+tomcat+MySQL 实现简单的登陆注册

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.先这样草草写一下应付期末作业

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值