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

如何使用IDEA完成登錄與注冊功能

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

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

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)頁前端顯示部分(HTML部分)

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

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

主頁面

<%--
  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>首頁</title>
  </head>
  <body>
  <a href="login.jsp" rel="external nofollow"  rel="external nofollow" >去登陸</a>
  </body>
</html>

登錄頁面

<%--
  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>登錄頁面</title>
</head>
<body>
<%--有jsp不經(jīng)過數(shù)據(jù),沒有jsp經(jīng)過--%>
<form action="login" method="post">
  賬號:<input type="text" name="username"><br>
  密碼:<input type="password" name="password"><br>
  <input type="submit" value="登錄"><br>
    <a href="register.jsp" rel="external nofollow" >沒有賬號?前往注冊</a>
    <a href="index.jsp" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >返回首頁</a>
</form>
</body>
</html>

注冊頁面

<%--
  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>注冊</title>
</head>
<body>
<form action="register" method="post">
  賬號:<input type="text" name="username"><br>
  密碼:<input type="password" name="password"><br>
  號碼:<input type="password" name="phone"><br>
  地址:<input type="password" name="address"><br>
  <input type="submit" value="注冊"><br>
  <a href="login.jsp" rel="external nofollow"  rel="external nofollow" >有賬號?前往登錄</a>
  <a href="index.jsp" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >返回首頁</a>
</form>
</body>
</html>

錯誤頁面

<%--
  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>錯誤</a>
<a href="index.jsp" rel="external nofollow"  rel="external nofollow"  rel="external nofollow" >返回登錄頁面</a>
</body>
</html>

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

<%--
  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>蘋果</td>
    <td>2</td>
  </tr>
  <tr>
    <td>橘子</td>
    <td>6</td>
  </tr>
  <tr>
    <td>香蕉</td>
    <td>5</td>
  </tr>
</form>
</body>
</html>

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

 bean包用來放屬性的構(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包用來放Java代碼(注冊部分的JDBC代碼,分層方法:構(gòu)建成一個方法,在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ù)庫連接
            con=JDBCUtil.GetCon();
            //2,定義sql語句
            String sql = "insert into ta_user(username,password,phone,address)values (?,?,?,?)";
            //3.獲取預(yù)處理對象
            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工具類構(gòu)造方法用來調(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();
        }
    }
}

登錄和注冊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類也能實現(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");
        //請求獲取數(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)用已編寫的JDBC工具類內(nèi)容
            con = JDBCUtil.GetCon();
            //定義sql語句
            String sql = "select * from ta_user where username=? and password=?";
           //獲取預(yù)處理對象
            pstm = con.prepareStatement(sql);
            //傳參
            pstm.setObject(1, username);
            pstm.setObject(2, password);
            //執(zhí)行查詢
            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)用已編寫的JDBC工具類內(nèi)容
            JDBCUtil.Close(rs, pstm, con);
        }
        //判斷是否為空,跳轉(zhuǎn)到對應(yīng)頁面
        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,獲取請求參數(shù)
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String phone = req.getParameter("phone");
        String address = req.getParameter("address");
        //3,封裝,把前面的變量封裝到User對象中
        User user = new User();
        user.setUsername(username);
        user.setPassword(password);
        user.setPhone(phone);
        user.setAddress(address);
        System.out.println(user);
        //4,實例化對象后調(diào)用使用
        UserDaoImpl userDao=new UserDaoImpl();
        int row=userDao.register(user);
        //5,作出響應(yīng)
        if (row > 0) {
            //成功跳轉(zhuǎn)到登錄頁面
            resp.sendRedirect("login.jsp");
        } else {
            //注冊失敗跳轉(zhuǎn)到注冊頁
            resp.sendRedirect("register.jsp");
        }
    }
}
 

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

相關(guān)文章

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

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

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

    IDEA如何修改項目名稱出現(xiàn)中括號

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

    springboot+mybatis通過實體類自動生成數(shù)據(jù)庫表的方法

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

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

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

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

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

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

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

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

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

    Response.AddHeader案例講解

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

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

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

    JavaWeb三大組件之一的Filter詳解

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

最新評論