jsp登錄注冊完整實現(xiàn)代碼(增刪改查+網(wǎng)頁+數(shù)據(jù)庫)
一·登錄注冊代碼以及效果
register.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="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="注冊"> <input type="reset" value="重置"> </form> </body> </html>
doregister.jsp:注冊信息彈框
<%@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è)置請求對象的編號 request.setCharacterEncoding("utf-8"); //接收注冊頁面?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"); /* 查詢到用戶的最大編號 最大編號+1,做為新添加的用戶的編號 */ //這里的代碼是用來 得到最新編號的 int nextId=1;//做為新用戶的編號 PreparedStatement ps = con.prepareStatement("select max(uuid) from T277"); //執(zhí)行sql語句 ResultSet rs= ps.executeQuery(); if(rs.next()){ //查詢到最大的編號,加1,就是新數(shù)據(jù)的編號 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('注冊成功');location.href='login.jsp'</script>"); }else{ out.print("<script>alert('注冊失敗');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="注冊" 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ù)庫 //注冊驅(qū)動類 //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)建對象 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('用戶名或密碼錯誤,請重新登錄');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>編號</td> <td>用戶名</td> <td>密碼</td> <td>備注</td> <td>操作</td> </tr> <% //連接數(shù)據(jù)庫 進(jìn)行查詢所有數(shù)據(jù) //注冊驅(qū)動類 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對象 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è)置請求對象的編號 request.setCharacterEncoding("utf-8"); //接收修改頁面?zhèn)鬟f的數(shù)據(jù) String uname = request.getParameter("uname"); String upwd = request.getParameter("upwd"); String uinfo = request.getParameter("uinfo"); //獲取要修改的用戶編號 String id = request.getParameter("uuid"); //把字符串轉(zhuǎn)換為整數(shù)編號 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> <% //獲取要修改的用戶編號 String id = request.getParameter("uuid"); //把字符串轉(zhuǎn)換為整數(shù)編號 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"%> <% //獲取要修改的用戶編號 String id = request.getParameter("uuid"); //把字符串轉(zhuǎn)換為整數(shù)編號 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"%> <% //獲取要刪除的用戶編號 String id = request.getParameter("uuid"); //把字符串轉(zhuǎn)換為整數(shù)編號 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ā)生了改變 //不能將值傳遞到下一個界面 可以跳轉(zhuǎn)到任意資源 在客戶端發(fā)揮作用 response.sendRedirect("http://www.baidu.com"); //2.轉(zhuǎn)發(fā) 將頁面跳轉(zhuǎn) 可以將值傳遞到下一個界面 //但是地址欄不發(fā)生改變 而是停留在了之前的頁面 只能轉(zhuǎn)發(fā)到當(dā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)前項目內(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ù)時,獲取最新編號
//這里的代碼是用來 得到最新編號的 int nextId=1;//做為新用戶的編號 PreparedStatement ps = con.prepareStatement("select max(uuid) from T277"); //執(zhí)行sql語句 ResultSet rs= ps.executeQuery(); if(rs.next()){ //查詢到最大的編號,加1,就是新數(shù)據(jù)的編號 nextId = rs.getInt(1)+1; }
總結(jié)
到此這篇關(guān)于jsp登錄注冊完整實現(xiàn)代碼的文章就介紹到這了,更多相關(guān)jsp登錄注冊代碼內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JBuilderX+SQL Server開發(fā)hibernate
JBuilderX+SQL Server開發(fā)hibernate...2006-10-10SSM框架JSP使用Layui實現(xiàn)layer彈出層效果
這篇文章主要介紹了SSM框架JSP使用Layui實現(xiàn)layer彈出層效果,文章通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12jsp實現(xiàn)頁面實時顯示當(dāng)前系統(tǒng)時間的方法
在頁面上實時顯示當(dāng)前系統(tǒng)時間,通過jsp簡單實現(xiàn),具體如下,感興趣的朋友可以參考下2013-08-08多種方法實現(xiàn)當(dāng)jsp頁面完全加載完成后執(zhí)行一個js函數(shù)
實現(xiàn)jsp頁面完全加載完成后執(zhí)行一個js函數(shù)的方法有很多,在本文就簡單為大家介紹下常用的幾種,感興趣的朋友不要錯過2013-10-10