欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何使用IDEA完成登錄與注冊(cè)功能

 更新時(shí)間:2024年07月04日 12:07:16   作者:Smrsar  
這篇文章主要介紹了如何使用IDEA完成登錄與注冊(cè)功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

一,完成數(shù)據(jù)庫(kù)編寫(xiě)

DROP DATABASE if EXISTS mydb;
CREATE DATABASE mydb;
use mydb;
CREATE TABLE ta_user
(
  uid int primary key auto_increment,
	username varchar(32),
	password varchar(32),
	phone varchar(32),
	address varchar(32)
);
INSERT INTO ta_user(username,password,phone,address)VALUES('張三','123','12323231','北京');
INSERT INTO ta_user(username,password,phone,address)VALUES('李四','456','35343434','上海');
INSERT INTO ta_user(username,password,phone,address)VALUES('王五','789','33234324','河南');
SELECT * from ta_user;
 

二,網(wǎng)頁(yè)前端顯示部分(HTML部分)

注:注意文件創(chuàng)建地方

分層思想:創(chuàng)建一些包將一大堆代碼分散到各個(gè)包中,可以使代碼簡(jiǎn)潔,容易后期維護(hù)

主頁(yè)面

<%--
  Created by IntelliJ IDEA.
  User: ThinkPad
  Date: 2023/2/18
  Time: 8:35
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>首頁(yè)</title>
  </head>
  <body>
  <a href="login.jsp" rel="external nofollow"  rel="external nofollow" >去登陸</a>
  </body>
</html>

登錄頁(yè)面

<%--
  Created by IntelliJ IDEA.
  User: ThinkPad
  Date: 2023/2/18
  Time: 8:37
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登錄頁(yè)面</title>
</head>
<body>
<%--有jsp不經(jīng)過(guò)數(shù)據(jù),沒(méi)有jsp經(jīng)過(guò)--%>
<form action="login" method="post">
  賬號(hào):<input type="text" name="username"><br>
  密碼:<input type="password" name="password"><br>
  <input type="submit" value="登錄"><br>
    <a href="register.jsp" rel="external nofollow" >沒(méi)有賬號(hào)?前往注冊(cè)</a>
    <a href="index.jsp" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >返回首頁(yè)</a>
</form>
</body>
</html>

注冊(cè)頁(yè)面

<%--
  Created by IntelliJ IDEA.
  User: ThinkPad
  Date: 2023/2/18
  Time: 12:27
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>注冊(cè)</title>
</head>
<body>
<form action="register" method="post">
  賬號(hào):<input type="text" name="username"><br>
  密碼:<input type="password" name="password"><br>
  號(hào)碼:<input type="password" name="phone"><br>
  地址:<input type="password" name="address"><br>
  <input type="submit" value="注冊(cè)"><br>
  <a href="login.jsp" rel="external nofollow"  rel="external nofollow" >有賬號(hào)?前往登錄</a>
  <a href="index.jsp" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >返回首頁(yè)</a>
</form>
</body>
</html>

錯(cuò)誤頁(yè)面

<%--
  Created by IntelliJ IDEA.
  User: ThinkPad
  Date: 2023/2/18
  Time: 9:50
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<a>錯(cuò)誤</a>
<a href="index.jsp" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >返回登錄頁(yè)面</a>
</body>
</html>

登陸成功后跳轉(zhuǎn)頁(yè)面

<%--
  Created by IntelliJ IDEA.
  User: ThinkPad
  Date: 2023/2/18
  Time: 9:30
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>商品</title>
</head>
<body>
<form>
  <tr>
    <td>蘋(píng)果</td>
    <td>2</td>
  </tr>
  <tr>
    <td>橘子</td>
    <td>6</td>
  </tr>
  <tr>
    <td>香蕉</td>
    <td>5</td>
  </tr>
</form>
</body>
</html>

三,后端控制部分(Java部分)

 bean包用來(lái)放屬性的構(gòu)造方法

package com.smrsar.bean;
public class User {
    private Integer uid;
    private String username;
    private String password;
    private String phone;
    private String address;
    public User() {
    }
    @Override
    public String toString() {
        return "User{" +
                "uid=" + uid +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", phone='" + phone + '\'' +
                ", address='" + address + '\'' +
                '}';
    }
    public Integer getUid() {
        return uid;
    }
    public void setUid(Integer uid) {
        this.uid = uid;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public User(Integer uid, String username, String password, String phone, String address) {
        this.uid = uid;
        this.username = username;
        this.password = password;
        this.phone = phone;
        this.address = address;
    }
}
package com.smrsar.bean;
public class Userz {
    private Integer uid;
    private String username;
    private String password;
    public Userz() {
    }
    @Override
    public String toString() {
        return "Userz{" +
                "uid=" + uid +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
    public Integer getUid() {
        return uid;
    }
    public void setUid(Integer uid) {
        this.uid = uid;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public Userz(Integer uid, String username, String password) {
        this.uid = uid;
        this.username = username;
        this.password = password;
    }
}

dao包用來(lái)放Java代碼(注冊(cè)部分的JDBC代碼,分層方法:構(gòu)建成一個(gè)方法,在Servlet中直接調(diào)用)

package com.smrsar.dao;
import com.smrsar.bean.User;
import com.smrsar.util.JDBCUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
public class UserDaoImpl {
    public int register (User user){
        Connection con = null;
        PreparedStatement pstm = null;
        int row = 0;
        try {
            //1,獲取數(shù)據(jù)庫(kù)連接
            con=JDBCUtil.GetCon();
            //2,定義sql語(yǔ)句
            String sql = "insert into ta_user(username,password,phone,address)values (?,?,?,?)";
            //3.獲取預(yù)處理對(duì)象
            pstm = con.prepareStatement(sql);
            //4,傳參
            pstm.setObject(1, user.getUsername());
            pstm.setObject(2, user.getPassword());
            pstm.setObject(3, user.getPhone());
            pstm.setObject(4, user.getAddress());
            //5,執(zhí)行更新(增刪改)
            row = pstm.executeUpdate();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (pstm != null) {
                    pstm.close();
                }
                if (con != null) {
                    con.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return row;
    }
}

JDBC工具類(lèi)構(gòu)造方法用來(lái)調(diào)用

package com.smrsar.util;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class JDBCUtil {
    private static String driver = "com.mysql.cj.jdbc.Driver";
    private static String url = "jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC";
    private static String username = "root";
    private static String password = "root";
    public static Connection con = null;
    public static Connection GetCon() {
        try {
            Class.forName(driver);
            con = DriverManager.getConnection(url, username, password);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return con;
    }
    public static void Close(ResultSet rs, PreparedStatement pstm, Connection con) {
        try {
            if (rs != null) {
                rs.close();
            }
            if (pstm != null) {
                pstm.close();
            }
            if (con != null) {
                con.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

登錄和注冊(cè)servlet部分代碼

package com.smrsar.servlet;
import com.smrsar.bean.Userz;
import com.smrsar.util.JDBCUtil;
//import com.smrsar.util.JDBCUtil;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.*;
@WebServlet("/login")//使用這種方式可以不在xml文件中配置Servlet類(lèi)也能實(shí)現(xiàn)跳轉(zhuǎn)
public class Login extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //設(shè)置編碼
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("ext/html;charset=UTF-8");
        //請(qǐng)求獲取數(shù)據(jù)
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        Connection con = null;
        PreparedStatement pstm = null;
        ResultSet rs = null;
        Userz login = null;
        try {
            //調(diào)用已編寫(xiě)的JDBC工具類(lèi)內(nèi)容
            con = JDBCUtil.GetCon();
            //定義sql語(yǔ)句
            String sql = "select * from ta_user where username=? and password=?";
           //獲取預(yù)處理對(duì)象
            pstm = con.prepareStatement(sql);
            //傳參
            pstm.setObject(1, username);
            pstm.setObject(2, password);
            //執(zhí)行查詢(xún)
            rs = pstm.executeQuery();
            if (rs.next()) {
                login = new Userz();
                login.setUid(rs.getInt("uid"));
                login.setUsername(rs.getString("username"));
                login.setPassword(rs.getString("password"));
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //調(diào)用已編寫(xiě)的JDBC工具類(lèi)內(nèi)容
            JDBCUtil.Close(rs, pstm, con);
        }
        //判斷是否為空,跳轉(zhuǎn)到對(duì)應(yīng)頁(yè)面
        if (login != null) {
            resp.sendRedirect("goods.jsp");
        } else {
            resp.sendRedirect("error.jsp");
        }
    }
}
package com.smrsar.servlet;
import com.smrsar.bean.User;
import com.smrsar.dao.UserDaoImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/register")
public class Register extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //1,設(shè)置編碼
        req.setCharacterEncoding("utf-8");
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("ext/html;charset=UTF-8");
        //2,獲取請(qǐng)求參數(shù)
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String phone = req.getParameter("phone");
        String address = req.getParameter("address");
        //3,封裝,把前面的變量封裝到User對(duì)象中
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        user.setPhone(phone);
        user.setAddress(address);
        System.out.println(user);
        //4,實(shí)例化對(duì)象后調(diào)用使用
        UserDaoImpl userDao=new UserDaoImpl();
        int row=userDao.register(user);
        //5,作出響應(yīng)
        if (row > 0) {
            //成功跳轉(zhuǎn)到登錄頁(yè)面
            resp.sendRedirect("login.jsp");
        } else {
            //注冊(cè)失敗跳轉(zhuǎn)到注冊(cè)頁(yè)
            resp.sendRedirect("register.jsp");
        }
    }
}
 

到此這篇關(guān)于使用IDEA完成登錄與注冊(cè)的文章就介紹到這了,更多相關(guān)idea登錄注冊(cè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • HashSet底層竟然是HashMap實(shí)現(xiàn)問(wèn)題

    HashSet底層竟然是HashMap實(shí)現(xiàn)問(wèn)題

    這篇文章主要介紹了HashSet底層竟然是HashMap實(shí)現(xiàn)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • IDEA如何修改項(xiàng)目名稱(chēng)出現(xiàn)中括號(hào)

    IDEA如何修改項(xiàng)目名稱(chēng)出現(xiàn)中括號(hào)

    當(dāng)項(xiàng)目文件夾名稱(chēng)與model名稱(chēng)不一致時(shí),IDEA會(huì)在項(xiàng)目名旁顯示中括號(hào)以區(qū)分,修改項(xiàng)目名稱(chēng)時(shí)出現(xiàn)中括號(hào)問(wèn)題,通常是因?yàn)镮DE中model名與文件夾名不同步,解決方法是統(tǒng)一model名稱(chēng)和文件夾名稱(chēng),可通過(guò)重構(gòu)功能或項(xiàng)目結(jié)構(gòu)設(shè)置完成,重命名操作應(yīng)謹(jǐn)慎,以避免路徑等引用錯(cuò)誤
    2024-10-10
  • springboot+mybatis通過(guò)實(shí)體類(lèi)自動(dòng)生成數(shù)據(jù)庫(kù)表的方法

    springboot+mybatis通過(guò)實(shí)體類(lèi)自動(dòng)生成數(shù)據(jù)庫(kù)表的方法

    這篇文章主要介紹了springboot+mybatis通過(guò)實(shí)體類(lèi)自動(dòng)生成數(shù)據(jù)庫(kù)表的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java 5億整數(shù)大文件怎么排序

    Java 5億整數(shù)大文件怎么排序

    這篇文章主要介紹了Java 5億整數(shù)大文件怎么排序,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • java中l(wèi)ong數(shù)據(jù)類(lèi)型轉(zhuǎn)換為int類(lèi)型

    java中l(wèi)ong數(shù)據(jù)類(lèi)型轉(zhuǎn)換為int類(lèi)型

    這篇文章主要講解Java中基本數(shù)據(jù)類(lèi)型,java long 類(lèi)型與其java int類(lèi)型的轉(zhuǎn)換的幾種方法,希望能給大家做一個(gè)參考
    2016-07-07
  • Java檢查日期字符串是否合法的方法總結(jié)

    Java檢查日期字符串是否合法的方法總結(jié)

    后端接口在接收數(shù)據(jù)的時(shí)候,都需要進(jìn)行檢查。檢查全部通過(guò)后,才能夠執(zhí)行業(yè)務(wù)邏輯。本文總結(jié)了四個(gè)Java檢查日期字符串是否合法的方法,感興趣的可以了解一下
    2022-10-10
  • IntelliJ?IDEA?2020.2.3永久破解激活教程(親測(cè)有效)

    IntelliJ?IDEA?2020.2.3永久破解激活教程(親測(cè)有效)

    intellij?idea?2022是一款市面上最好的JAVA?IDE編程工具,該工具支持git、svn、github等版本控制工具,整合了智能代碼助手、代碼自動(dòng)提示等功能,本教程給大家分享IDEA?2022最新永久激活碼,感興趣的朋友參考下吧
    2020-10-10
  • Response.AddHeader案例講解

    Response.AddHeader案例講解

    這篇文章主要介紹了Response.AddHeader案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Spring Boot Actuator自定義健康檢查教程

    Spring Boot Actuator自定義健康檢查教程

    這篇文章主要介紹了Spring Boot Actuator自定義健康檢查教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • JavaWeb三大組件之一的Filter詳解

    JavaWeb三大組件之一的Filter詳解

    本篇文章主要介紹了JavaWeb三大組件之中的Filter過(guò)濾器詳解,實(shí)例分析了JavaWeb之Filter過(guò)濾器的使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2022-06-06

最新評(píng)論