- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > 編程語(yǔ)言 >
- JavaWeb實(shí)戰之用Servlet+JDBC實(shí)現用戶(hù)登錄與注冊
使用到的技術(shù)棧:
(1)JDBC
(2)Servlet
(3)MySQL
(1)書(shū)城用戶(hù)數據庫與表創(chuàng )建
(2)編寫(xiě)用戶(hù)類(lèi)對象JavaBean
(3)編寫(xiě)JdbcUtils對數據庫進(jìn)行交互(使用德魯伊數據庫連接池)
(4)編寫(xiě)web層
最終編寫(xiě)好的第二階段登陸注冊文件結構為
1.Insert、update、delete(修改)
2.查詢(xún)一個(gè)對象(返回一個(gè)對象)
3.查詢(xún)一個(gè)數組對象(數組返回多個(gè)對象)
4.返回某一個(gè)特定值對象(返回一個(gè)值)
1.用戶(hù)注冊
2.用戶(hù)登錄
3.用戶(hù)姓名查詢(xún)
1.獲取數據庫連接
2.關(guān)閉數據庫連接
1.登錄請求
2.注冊請求
(1)用戶(hù)注冊請求
使用Servlet進(jìn)行注冊表單處理,需要提前設置base標簽為工程路徑
1.檢查驗證碼是否正確(第一階段寫(xiě)死驗證碼為abcd)
2.檢查數據庫中是否存在該用戶(hù)姓名
可用,向數據庫中進(jìn)行注冊同時(shí)跳轉登錄頁(yè)面
不可用,再次跳轉注冊頁(yè)面
以上的處理模塊,借助在service中編寫(xiě)好的UserServiceImpl實(shí)現類(lèi)進(jìn)行實(shí)現,UserServiceImpl又借助了UserDao進(jìn)行實(shí)現;
(2)用戶(hù)登錄
使用Servlet進(jìn)行登錄表單處理,也需要提前設置base標簽為工程路徑
1.獲取HTML頁(yè)面提交的表單
2.檢查數據庫中是否存在一個(gè)用戶(hù)名與密碼都與獲取相同的對象
有,跳轉成功頁(yè)面
沒(méi)有,提示用戶(hù)輸入錯誤,重新跳轉登錄頁(yè)面
package wzy.web; import wzy.dao.UserDao; import wzy.pojo.User; import wzy.service.UserService; import wzy.service.impl.UserServiceImpl; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class loginServlet extends HttpServlet { private UserService userService = new UserServiceImpl(); @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 實(shí)現用戶(hù)登錄 String username = req.getParameter("username"); String password = req.getParameter("password"); User user = userService.login(new User(null, username, password, null)); if (user != null) { // 登陸成功 req.getRequestDispatcher("/pages/user/login_success.html").forward(req,resp); } else { // 登陸失敗 req.getRequestDispatcher("/pages/user/login.html").forward(req,resp); } } }
package wzy.web; import wzy.pojo.User; import wzy.service.UserService; import wzy.service.impl.UserServiceImpl; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; public class RegisterServlet extends HttpServlet { private UserService userService = new UserServiceImpl(); @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String username = req.getParameter("username"); String password = req.getParameter("password"); String email = req.getParameter("email"); String code = req.getParameter("code"); // 2、檢查 驗證碼是否正確 === 寫(xiě)死,要求驗證碼為:abcde if (code.equalsIgnoreCase("abcde")){ // 3、檢查 用戶(hù)名是否可用 if (userService.existsUsername(username)){ System.out.println("用戶(hù)名[" + username + "]已存在"); // 跳轉到登陸頁(yè)面 req.getRequestDispatcher("/pages/user/regist.html").forward(req,resp); }else { // 可用 userService.registerUser(new User(null,username,password,email)); req.getRequestDispatcher("/pages/user/regist_success.html").forward(req,resp); } }else { System.out.println("驗證碼 ["+code+"] 錯誤"); req.getRequestDispatcher("/pages/user/regist.html").forward(req,resp); } } }
到此這篇關(guān)于JavaWeb實(shí)戰之用Servlet+JDBC實(shí)現用戶(hù)登錄與注冊的文章就介紹到這了,更多相關(guān)JavaWeb實(shí)現用戶(hù)登錄與注冊?xún)热菡埶阉髂_本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站