JavaWeb07_创建web项目连接MySQL实现注册登录功能
一、创建一个web项目,参照JW/01_创建web项目及部署
二、在NAVICat 里建数据库 db_01,建表tb_user ,字段UName 、Pwd
三、在web下创建一个Directory, 设名字为JSPWorks
1. 创建jsp文件如图
代码如下:
1)shouye.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<div style="text-align: center;">
<span style="font-family: 宋体; font-size: x-large; color: #000; ">欢迎JSP</span><hr>
<%--<div>
<img alt="" width ="600" height ="400" src="">
</div>--%>
<table width = "200" border ="1" bordercolor = "#00F">
<td colspan = "2" align = "center">
<td><input type = "button" value = "登 陆" onclick = "window.open("JSPWorks/login.jsp")"></td>
<td><input type = "button" value = "注 册" onclick = "window.open("JSPWorks/register.jsp")"></td>
</tr>
</table>
</div>
</body>
</html>
2)login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%!
privateObject Finally;
%><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<body>
<div style="text-align: center;">
<span style="font-family: 楷体; font-size: x-large; color: #000; ">登录界面</span>
<%
String flag = request.getParameter("errNo");
try{
if(flag!=null)
out.println("用户名为空或不存在或密码错误");
}catch(Exception e){
e.printStackTrace();
}
%>
<form action = "JSPWorks/loginCh.jsp">
<table width="300" height = "180" border="5" bordercolor="#A0A0A0">
<td colspan = "2" align = "center">
<th>账 户:</th>
<td><input type="text" name="user" value = "请输入用户名" maxlength = "16" onfocus = "if(this.value == "请输入用户名") this.value ="""></td>
</tr>
<td colspan = "2" align = "center">
<th>密 码:</th>
<td><input type="password" name="pwd" maxlength = "20"></td>
</tr>
<tr>
<td colspan = "2" align = "center">
<td><input type="submit" name="submit" value="登 录"></td>
<td><input type="button" value="返 回" onclick = "window.open("JSPWorks/shouye.jsp")"></td>
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
3) loginCh.jsp
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
String user =newString(request.getParameter("user").getBytes("ISO-8859-1"),"UTF-8");
String pwd = request.getParameter("pwd");
String driverClass ="com.mysql.cj.jdbc.Driver";
String url ="jdbc:mysql://localhost:3306/db_01";
String username ="root";
String password ="root";
try {
java.lang.Class.forName(driverClass);//加载驱动
Connection conn = DriverManager.getConnection(url, username, password);//得到连接
/*if(!conn.isClosed()) {
out.println("数据库连接成功!!");
}*/
PreparedStatement pStmt = conn.prepareStatement("select * from tb_user where UName = ""+ user +"" and Pwd= ""+ pwd +""");
ResultSet rs = pStmt.executeQuery();
if(rs.next()) {
out.println("<br>用户:"+rs.getString(1)+"密码:"+rs.getString(2));
out.println("<script language="javascript">alert("用户登录成功!将返回首页!");window.location.href="JSPWorks/shouye.jsp";</script>");
}else{
out.println("<script language="javascript">alert("用户登录失败!将返回首页!");window.location.href="JSPWorks/shouye.jsp";</script>");
}
rs.close();
conn.close();
pStmt.close();
}
catch(ClassNotFoundException e){
System.out.println("数据库加载失败!");
e.printStackTrace();
}
catch(SQLException e1){
e1.printStackTrace();
}
catch(Exception e2){
e2.printStackTrace();
}
finally{
System.out.println("数据库获取成功!");
}
%>
</body>
</html>
4) register.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script>
function addCheck(){
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
var newword = document.getElementById("newword").value;
if(username==""){
alert("用户名不能为空!");
document.getElementById("username").focus();
returnfalse;
}
if(password==""){
alert("密码不能为空!");
document.getElementById("password").focus();
returnfalse;
}
if(password != newword){
alert("两次输入密码不相同!");
document.getElementById("newword").focus();
returnfalse;
}
}
function validate(){
var flag = addCheck();
if(flag ==false)
returnfalse;
returntrue;
}
</script>
<body>
<div style="text-align: center;">
<span style="font-family: 楷体; font-size: x-large; color: #000; ">注册界面</span>
<form action = "JSPWorks/checkRegister.jsp">
<table width="300" height = "180" border="5" bordercolor="#A0A0A0">
<tr>
<th>用户名:</th>
<td><input type="text" name="username" value="输入16个字符以内" maxlength = "16" onfocus = "if(this.value == "输入16个字符以内") this.value ="""></td>
</tr>
<tr>
<th>输入密码:</th>
<td><input type="text" name="password" value="输入20个字符以内" maxlength = "20" onfocus = "if(this.value == "输入20个字符以内") this.value ="""></td>
</tr>
<tr>
<th>确认密码:</th>
<td><input type="text" name="newword" value="重新输入密码" maxlength = "20" onfocus = "if(this.value == "重新输入密码") this.value ="""></td>
</tr>
<tr>
<td colspan = "2" align = "center">
<input type="submit" value="注 册">
<input type="reset" value="重 置">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
5) checkRegister.jsp
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%><%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>检查注册</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
String user =newString(request.getParameter("username").getBytes("ISO-8859-1"),"UTF-8");
String pwd = request.getParameter("password");
String driverClass ="com.mysql.cj.jdbc.Driver";
String url ="jdbc:mysql://localhost:3306/db_01";
String username ="root";
String password ="root";
Class.forName(driverClass);//加载驱动
Connection conn = DriverManager.getConnection(url,username,password);//得到连接
PreparedStatement pStmt = conn.prepareStatement("select * from tb_user where UName = ""+ user +""");
ResultSet rs = pStmt.executeQuery();
if(rs.next()){
out.println("<script language="javascript">alert("该用户已存在,请重新注册!");window.location.href="JSPWorks/register.jsp";</script>");
}else{
PreparedStatement tmt = conn.prepareStatement("Insert into tb_user values(""+ user +"",""+ pwd +"")");
int rst = tmt.executeUpdate();
if (rst !=0){
out.println("<script language="javascript">alert("用户注册成功!");window.location.href="JSPWorks/shouye.jsp";</script>");
}else{
out.println("<script language="javascript">alert("用户注册失败!");window.location.href="JSPWorks/register.jsp";</script>");
}
}
%>
</body>
</html>
2. 配置Tomcat
1)先run
2)
3)
4)
以上是 JavaWeb07_创建web项目连接MySQL实现注册登录功能 的全部内容, 来源链接: utcz.com/z/536352.html