首页 > 分享 > 使用IDEA完成登录与注册

使用IDEA完成登录与注册

最新推荐文章于 2024-10-30 21:52:08 发布

Smrsar 于 2023-02-20 10:47:21 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

一,完成数据库编写

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;

二,网页前端显示部分(HTML部分)

注:注意文件创建地方

分层思想:创建一些包将一大堆代码分散到各个包中,可以使代码简洁,容易后期维护

主页面

<%--

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">去登陆</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不经过数据,没有jsp经过--%>

<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">没有账号?前往注册</a>

<a href="index.jsp">返回首页</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">有账号?前往登录</a>

<a href="index.jsp">返回首页</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">返回登录页面</a>

</body>

</html>

登陆成功后跳转页面

<%--

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包用来放属性的构造方法

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代码,分层方法:构建成一个方法,在Servlet中直接调用)

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 {

con=JDBCUtil.GetCon();

String sql = "insert into ta_user(username,password,phone,address)values (?,?,?,?)";

pstm = con.prepareStatement(sql);

pstm.setObject(1, user.getUsername());

pstm.setObject(2, user.getPassword());

pstm.setObject(3, user.getPhone());

pstm.setObject(4, user.getAddress());

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工具类构造方法用来调用

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 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")

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 {

req.setCharacterEncoding("utf-8");

resp.setCharacterEncoding("utf-8");

resp.setContentType("ext/html;charset=UTF-8");

String username = req.getParameter("username");

String password = req.getParameter("password");

Connection con = null;

PreparedStatement pstm = null;

ResultSet rs = null;

Userz login = null;

try {

con = JDBCUtil.GetCon();

String sql = "select * from ta_user where username=? and password=?";

pstm = con.prepareStatement(sql);

pstm.setObject(1, username);

pstm.setObject(2, password);

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 {

JDBCUtil.Close(rs, pstm, con);

}

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 {

req.setCharacterEncoding("utf-8");

resp.setCharacterEncoding("utf-8");

resp.setContentType("ext/html;charset=UTF-8");

String username = req.getParameter("username");

String password = req.getParameter("password");

String phone = req.getParameter("phone");

String address = req.getParameter("address");

User user = new User();

user.setUsername(username);

user.setPassword(password);

user.setPhone(phone);

user.setAddress(address);

System.out.println(user);

UserDaoImpl userDao=new UserDaoImpl();

int row=userDao.register(user);

if (row > 0) {

resp.sendRedirect("login.jsp");

} else {

resp.sendRedirect("register.jsp");

}

}

}

相关知识

AI 绘画新秀 Leonardo 保姆级注册、使用教程
如何在花积分平台上注册和使用
Idea字体美化终极解决方案
用idea花店管理系统
登录/注册
使用Google reCAPTCHA防止机器注册
基于SSM的鲜花线上销售系统设计与实现
基于springboot模式鲜花售卖商城花店网站的设计与实现 nqs65限时秒杀
登录界面UI设计指南,跟着大厂学设计!
Java实现鲜花销售系统

网址: 使用IDEA完成登录与注册 https://m.huajiangbk.com/newsview849495.html

所属分类:花卉
上一篇: 后端开发:SpringBoot实
下一篇: 基于SpringBoot+HTM