国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

JavaWeb實(shí)戰之用Servlet+JDBC實(shí)現用戶(hù)登錄與注冊

發(fā)布時(shí)間:2021-07-17 21:51 來(lái)源:腳本之家 閱讀:0 作者:油炸冰可樂(lè ) 欄目: 編程語(yǔ)言 歡迎投稿:712375056

目錄

一、前言

使用到的技術(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ě)好的第二階段登陸注冊文件結構為

  • dao中定義了基礎的操作數據庫代碼,具體功能有

1.Insert、update、delete(修改)

2.查詢(xún)一個(gè)對象(返回一個(gè)對象)

3.查詢(xún)一個(gè)數組對象(數組返回多個(gè)對象)

4.返回某一個(gè)特定值對象(返回一個(gè)值)

  • pojo中定義著(zhù)與數據庫用戶(hù)表類(lèi)
  • service中定義著(zhù)需要實(shí)現的用戶(hù)業(yè)務(wù)

1.用戶(hù)注冊

2.用戶(hù)登錄

3.用戶(hù)姓名查詢(xún)

  • test中編寫(xiě)對JDBC、UserDao、UserServiceImplTest的測試
  • utils中編寫(xiě)JDBC工具類(lèi)

1.獲取數據庫連接

2.關(guān)閉數據庫連接

  • web中編寫(xiě)兩個(gè)Servlet程序

1.登錄請求

2.注冊請求

三、編寫(xiě)web層

(1)用戶(hù)注冊請求

使用Servlet進(jìn)行注冊表單處理,需要提前設置base標簽為工程路徑

  • 在RegisterServlet類(lèi)讓它繼承HttpServlet
  • 重寫(xiě)doPost請求方法
  • 在web.xml中配置ServletServlet-mapping
  • 在HTML頁(yè)面表單action處配置操作,同時(shí)method為post請求
  • 拿到表單中出現的用戶(hù)信息,然后:

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標簽為工程路徑

  • 在LoginServlet類(lèi)讓它繼承HttpServlet
  • 重寫(xiě)doPost請求方法
  • 在web.xml中配置ServletServlet-mapping
  • 在HTML頁(yè)面表單action處配置操作,同時(shí)method為post請求
  • 拿到表單中出現的用戶(hù)信息,然后:

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í)歡迎投稿傳遞力量。

亚洲精品无码国产| 天天躁狠狠躁狠狠躁夜夜躁| 精品亚洲麻豆1区2区3区| 久久久久久国产精品无码超碰| 亚洲日本乱码在线观看| 成人国产精品免费视频|