jsp登錄注冊(cè)完整實(shí)現(xiàn)代碼(增刪改查+網(wǎng)頁+數(shù)據(jù)庫)
一·登錄注冊(cè)代碼以及效果



register.jsp:注冊(cè)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注冊(cè)</title>
<style>
#a {
width:50%;
height:200px;
border: 1px dashed ;
background-color:lightyellow;
text-align:center;
}
body{
background-color:lightblue;
}
</style>
</head>
<body>
<form action="doregister.jsp" method="post">
用戶名:<input type="text" name="uname"><br>
密碼:<input type="password" name="upwd"><br>
備注:<textarea rows="" cols="" name="uinfo">
</textarea><br>
<input type="submit" value="注冊(cè)">
<input type="reset" value="重置">
</form>
</body>
</html>doregister.jsp:注冊(cè)信息彈框
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//設(shè)置編碼-設(shè)置請(qǐng)求對(duì)象的編號(hào)
request.setCharacterEncoding("utf-8");
//接收注冊(cè)頁面?zhèn)鬟f的數(shù)據(jù)
String uname = request.getParameter("uname");
String upwd = request.getParameter("upwd");
String uinfo = request.getParameter("uinfo");
//連接數(shù)據(jù)庫
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection con = DriverManager.getConnection(url, "scott", "tiger");
/*
查詢到用戶的最大編號(hào)
最大編號(hào)+1,做為新添加的用戶的編號(hào)
*/
//這里的代碼是用來 得到最新編號(hào)的
int nextId=1;//做為新用戶的編號(hào)
PreparedStatement ps = con.prepareStatement("select max(uuid) from T277");
//執(zhí)行sql語句
ResultSet rs= ps.executeQuery();
if(rs.next()){
//查詢到最大的編號(hào),加1,就是新數(shù)據(jù)的編號(hào)
nextId = rs.getInt(1)+1;
}
//這里的代碼 開始執(zhí)行添加用戶操作
ps = con.prepareStatement("insert into T277 values(?,?,?,?)");
ps.setInt(1, nextId);
ps.setString(2, uname);
ps.setString(3, upwd);
ps.setString(4, uinfo);
//執(zhí)行sql語句
int i = ps.executeUpdate();
if(i>0){
out.print("<script>alert('注冊(cè)成功');location.href='login.jsp'</script>");
}else{
out.print("<script>alert('注冊(cè)失敗');location.href='register.jsp'</script>");
}
%>login.jsp:登錄
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>登錄</title>
<style>
#a {
width:50%;
height:200px;
border: 1px dashed ;
background-color:lightyellow;
text-align:center;
}
body{
background-color:lightblue;
}
</style>
</head>
<body>
<form action="dologin.jsp">
用戶名:<input type="text" name="uname"><br>
密碼:<input type="password" name="upwd"><br>
<input type="submit" value="登錄">
<input type="button" value="注冊(cè)" onclick="javascript:location.href='register.jsp'">
</form>
</body>
</html>dologin.jsp:與數(shù)據(jù)庫相連、存放登陸的用戶
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//接收login頁面?zhèn)鬟f的數(shù)據(jù)
String uname = request.getParameter("uname");
String upwd = request.getParameter("upwd");
//連接數(shù)據(jù)庫
//注冊(cè)驅(qū)動(dòng)類
//OracleDriver
Class.forName("oracle.jdbc.driver.OracleDriver");
//連接數(shù)據(jù)庫
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection con = DriverManager.getConnection(url, "scott", "tiger");
//創(chuàng)建對(duì)象
PreparedStatement ps = con.prepareStatement("select * from T277 where uname=? and upwd=?");
//給占位符賦值
ps.setString(1, uname);
ps.setString(2, upwd);
//執(zhí)行sql語句
ResultSet rs = ps.executeQuery();
//處理結(jié)果
if(rs.next()){
//轉(zhuǎn)發(fā)
request.getRequestDispatcher("index.jsp").forward(request, response);
}else{
//失敗
out.print("<script>alert('用戶名或密碼錯(cuò)誤,請(qǐng)重新登錄');location.href='login.jsp'</script>");
}
//關(guān)閉連接
%>index.jsp:主界面
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>主頁面</title>
<style>
#a {
width:50%;
height:200px;
border: 1px dashed ;
background-color:lightyellow;
text-align:center;
}
body{
background-color:lightblue;
}
</style>
</head>
<body>
<table border="1" align="center" width="80%">
<tr>
<td>編號(hào)</td>
<td>用戶名</td>
<td>密碼</td>
<td>備注</td>
<td>操作</td>
</tr>
<%
//連接數(shù)據(jù)庫 進(jìn)行查詢所有數(shù)據(jù)
//注冊(cè)驅(qū)動(dòng)類
Class.forName("oracle.jdbc.driver.OracleDriver");
//連接數(shù)據(jù)庫
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection con = DriverManager.getConnection(url, "scott", "tiger");
//創(chuàng)建Pre對(duì)象
PreparedStatement ps = con.prepareStatement("select * from T277 order by uuid");
//執(zhí)行sql語句
ResultSet rs = ps.executeQuery();
//處理結(jié)果-遍歷結(jié)果集
while(rs.next()){
%>
<tr align="center">
<td><%=rs.getInt(1) %></td>
<td><%=rs.getString("uname") %></td>
<td><%=rs.getString("upwd") %></td>
<td><%=rs.getString(4) %></td>
<td>
<a href="doup.jsp?uuid=<%=rs.getInt(1)%>" rel="external nofollow" >修改</a>
<a href="info.jsp?uuid=<%=rs.getInt(1)%>" rel="external nofollow" >詳情</a>
<a href="dodel.jsp?uuid=<%=rs.getInt(1)%>" rel="external nofollow" >刪除</a>
</td>
</tr>
<%} %>
</table>
</body>
</html>update.jsp:修改
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//設(shè)置編碼-設(shè)置請(qǐng)求對(duì)象的編號(hào)
request.setCharacterEncoding("utf-8");
//接收修改頁面?zhèn)鬟f的數(shù)據(jù)
String uname = request.getParameter("uname");
String upwd = request.getParameter("upwd");
String uinfo = request.getParameter("uinfo");
//獲取要修改的用戶編號(hào)
String id = request.getParameter("uuid");
//把字符串轉(zhuǎn)換為整數(shù)編號(hào)
int uuid = Integer.valueOf(id);
//JDBC 刪除
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection con = DriverManager.getConnection(url, "scott", "tiger");
PreparedStatement ps = con.prepareStatement("update T277 set uname=?,upwd=?, uinfo=? where uuid="+uuid);
ps.setString(1, uname);
ps.setString(2, upwd);
ps.setString(3, uinfo);
int i = ps.executeUpdate();
if(i>0){
out.print("<script>alert('修改成功');location.href='index.jsp'</script>");
}else{
out.print("<script>alert('修改失敗');location.href='index.jsp'</script>");
}
%>doup.jsp:修改頁面(幫助)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
//獲取要修改的用戶編號(hào)
String id = request.getParameter("uuid");
//把字符串轉(zhuǎn)換為整數(shù)編號(hào)
int uuid = Integer.valueOf(id);
%>
<form action="update.jsp?uuid=<%=uuid %>" method="post">
用戶名:<input type="text" name="uname"><br>
密碼:<input type="password" name="upwd"><br>
備注:<textarea rows="" cols="" name="uinfo">
</textarea><br>
<input type="submit" value="修改">
<input type="reset" value="重置">
</form>
</body>
</html>info.jsp:詳情
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//獲取要修改的用戶編號(hào)
String id = request.getParameter("uuid");
//把字符串轉(zhuǎn)換為整數(shù)編號(hào)
int uuid = Integer.valueOf(id);
//JDBC 刪除
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection con = DriverManager.getConnection(url, "scott", "tiger");
PreparedStatement ps = con.prepareStatement("select * from T277 where uuid="+uuid);
ResultSet rs= ps.executeQuery();
if(rs.next()){
%>
<form>
用戶名:<input type="text" name="uname" value="<%=rs.getString("uname") %>"><br>
密碼:<input type="password" name="upwd" value="<%=rs.getString("upwd") %>"><br>
備注:<textarea rows="" cols="" name="uinfo" >
<%=rs.getString(4) %>
</textarea><br>
<a href="index.jsp" rel="external nofollow" >返回</a>
</form>
<%} %>
dodel.jsp:刪除界面
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//獲取要?jiǎng)h除的用戶編號(hào)
String id = request.getParameter("uuid");
//把字符串轉(zhuǎn)換為整數(shù)編號(hào)
int uuid = Integer.valueOf(id);
//JDBC 刪除
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
Connection con = DriverManager.getConnection(url, "scott", "tiger");
PreparedStatement ps = con.prepareStatement("delete T277 where uuid="+uuid);
int i = ps.executeUpdate();
if(i>0){
out.print("<script>alert('刪除成功');location.href='index.jsp'</script>");
}else{
out.print("<script>alert('刪除失敗');location.href='index.jsp'</script>");
}
%>二·頁面跳轉(zhuǎn)的方式以及他們的區(qū)別
1、跳轉(zhuǎn)路徑并傳遞數(shù)據(jù)
//假設(shè)法:假設(shè)我的用戶名為admin 密碼為123
if("admin".equals(name)&&"123".equals(pwd)){
//說明登錄成功 跳轉(zhuǎn)到success.jsp
//1.重定向 將頁面跳轉(zhuǎn) 地址欄發(fā)生了改變
//不能將值傳遞到下一個(gè)界面 可以跳轉(zhuǎn)到任意資源 在客戶端發(fā)揮作用
response.sendRedirect("http://www.baidu.com");
//2.轉(zhuǎn)發(fā) 將頁面跳轉(zhuǎn) 可以將值傳遞到下一個(gè)界面
//但是地址欄不發(fā)生改變 而是停留在了之前的頁面 只能轉(zhuǎn)發(fā)到當(dāng)前項(xiàng)目內(nèi)資源 在服務(wù)器端發(fā)揮作用
//request.getRequestDispatcher("http://www.baidu.com").forward(request, response);
}
else{
//說明登錄失敗 提示用戶并返回登錄界面login.jsp js的跳轉(zhuǎn)屬于重定向 地址欄發(fā)生了改變 login-->dologin-->login
out.print("<script>alert('用戶名或者密碼有誤');location.href='login.jsp';</script>");
}
2、頁面跳轉(zhuǎn)的兩種方式和區(qū)別
重定向:地址欄發(fā)生改變 不能傳值 可以跳轉(zhuǎn)到任意資源 在客戶端發(fā)揮作用
轉(zhuǎn)發(fā):地址欄不發(fā)生改變 能傳值 只能跳轉(zhuǎn)到當(dāng)前項(xiàng)目內(nèi)資源 在服務(wù)器端發(fā)揮作用語法:
重定向:response.sendR()轉(zhuǎn)發(fā):request.getreq .for(request,response)
三·其他
1、jdbc連接Oracle
URL:jdbc:oracle:thin:@localhost:1521:orcl
2、亂碼
request.setCharacterEncoding("utf-8");3、添加數(shù)據(jù)時(shí),獲取最新編號(hào)
//這里的代碼是用來 得到最新編號(hào)的
int nextId=1;//做為新用戶的編號(hào)
PreparedStatement ps = con.prepareStatement("select max(uuid) from T277");
//執(zhí)行sql語句
ResultSet rs= ps.executeQuery();
if(rs.next()){
//查詢到最大的編號(hào),加1,就是新數(shù)據(jù)的編號(hào)
nextId = rs.getInt(1)+1;
}總結(jié)
到此這篇關(guān)于jsp登錄注冊(cè)完整實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)jsp登錄注冊(cè)代碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JBuilderX+SQL Server開發(fā)hibernate
JBuilderX+SQL Server開發(fā)hibernate...2006-10-10
Jsp+Servlet實(shí)現(xiàn)簡單登錄注冊(cè)查詢
這篇文章主要介紹了Jsp+Servlet實(shí)現(xiàn)簡單登錄注冊(cè)查詢,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09
SSM框架JSP使用Layui實(shí)現(xiàn)layer彈出層效果
這篇文章主要介紹了SSM框架JSP使用Layui實(shí)現(xiàn)layer彈出層效果,文章通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
jsp實(shí)現(xiàn)頁面實(shí)時(shí)顯示當(dāng)前系統(tǒng)時(shí)間的方法
在頁面上實(shí)時(shí)顯示當(dāng)前系統(tǒng)時(shí)間,通過jsp簡單實(shí)現(xiàn),具體如下,感興趣的朋友可以參考下2013-08-08
多種方法實(shí)現(xiàn)當(dāng)jsp頁面完全加載完成后執(zhí)行一個(gè)js函數(shù)
實(shí)現(xiàn)jsp頁面完全加載完成后執(zhí)行一個(gè)js函數(shù)的方法有很多,在本文就簡單為大家介紹下常用的幾種,感興趣的朋友不要錯(cuò)過2013-10-10

