JavaWeb07_创建web项目连接MySQL实现注册登录功能

database

一、创建一个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

回到顶部