使用IDEA完成登录与注册

这篇具有很好参考价值的文章主要介绍了使用IDEA完成登录与注册。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一,完成数据库编写

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部分)

注:注意文件创建地方

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

使用IDEA完成登录与注册

 

  1. 主页面
    <%--
      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>
    
  2. 登录页面
    <%--
      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>
    
  3. 注册页面
    <%--
      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>
    
  4. 错误页面
    <%--
      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>
    
  5. 登陆成功后跳转页面
    <%--
      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部分)

  1.  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;
        }
    }
    
  2. 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 {
                //1,获取数据库连接
                con=JDBCUtil.GetCon();
                //2,定义sql语句
                String sql = "insert into ta_user(username,password,phone,address)values (?,?,?,?)";
                //3.获取预处理对象
                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,执行更新(增删改)
                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;
        }
    
    }
    
  3. 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();
            }
        }
    }
    
  4. 登录和注册servlet部分代码文章来源地址https://www.toymoban.com/news/detail-508773.html

    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类也能实现跳转
    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 {
                //调用已编写的JDBC工具类内容
                con = JDBCUtil.GetCon();
                //定义sql语句
                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 {
                //调用已编写的JDBC工具类内容
                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 {
            //1,设置编码
            req.setCharacterEncoding("utf-8");
            resp.setCharacterEncoding("utf-8");
            resp.setContentType("ext/html;charset=UTF-8");
    
            //2,获取请求参数
            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,实例化对象后调用使用
            UserDaoImpl userDao=new UserDaoImpl();
            int row=userDao.register(user);
    
            //5,作出响应
            if (row > 0) {
                //成功跳转到登录页面
                resp.sendRedirect("login.jsp");
            } else {
                //注册失败跳转到注册页
                resp.sendRedirect("register.jsp");
            }
        }
    }
    
    

到了这里,关于使用IDEA完成登录与注册的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用javaweb实现登录注册页面,并且对功能和业务进行分层 用户登录成功跳转到主页并展示数据库的商品的信息

    一、Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。 这里以一个最常用的用户登录

    2024年02月03日
    浏览(44)
  • Node.js连接数据库 实现注册、登录、判断注册

    Node.js连接数据库实现注册,登录,在登录时检测账号是否进行注册。 此创建文件夹可以不是使用Vue-cli进行创建,只是简单创建文件夹便可。 使用npm进行mysql插件的安装,cmd黑窗口运行下列指令 此指令运行完成,文件夹根目录出现 node_modules 文件 黑窗口运行 npm init 指令,出现

    2024年02月09日
    浏览(47)
  • Qt 数据库的注册和登录功能

    widget.h widget.cpp  client.h client.cpp  main函数 窗口设计部分 最终效果图:

    2024年02月07日
    浏览(43)
  • 【fly-iot飞凡物联】(18):配置Emqx的webhook,编写http接口,完成设备状态的更新。显示在线/离线状态,异步插入数据库,使用supervisor启动

    fly-iot飞凡物联专栏: https://blog.csdn.net/freewebsys/category_12219758.html https://www.bilibili.com/video/BV19a4y127Gt/ 【fly-iot】(7):配置Emqx的webhook,编写http接口,完成设备状态的更新。显示在线/离线状态,异步插入数据库,使用supervisor启动 然后就可以在工具中进行测试了: 直接设置接口

    2024年01月15日
    浏览(49)
  • unity学习(22)——客户端与服务器合力完成注册功能(4)数据库化

    单纯的账号密码这种非频繁读写,实现起来很简单的,游戏的属性信息到时候也许会比较麻烦。 思路:每次加入有新键值TryAdd,如果加入成功,直接重写账号密码文件即可。 C#JsonConvert.DeserializeObject反序列化与JsonConvert.SerializeObject序列化(一)-CSDN博客 在vs中-项目-NuGet,搜索

    2024年02月19日
    浏览(39)
  • Flutter框架实现登录注册功能,不连接数据库

    要在Flutter框架中实现登录和注册功能,而不连接数据库,可以使用本地存储来存储用户信息。以下是一个简单的示例,演示如何使用本地存储来实现登录和注册功能。 首先,我们需要添加 shared_preferences 插件到 pubspec.yaml 文件中: 然后,在 lib 文件夹中创建一个新的文件夹

    2024年02月08日
    浏览(35)
  • MVC框架实现用户登录注册功能(连接数据库)

    一、简单理解MVC框架 二、项目结构 三、项目源码 3.1 User 3.2 UserDao 3.3 RegisterDao 3.4 servletControll 3.5 servletControllRegister 3.6 web.xml 3.7 login.jsp 3.8 register.jsp 3.9 success.jsp 3.10 failure.jsp  四、实现效果 总结 本篇文章主要介绍利用MVC框架去实现一个简单的用户登录注册功能,内容主

    2024年02月06日
    浏览(52)
  • 【项目实战】登录与注册业务的实现(前端+后端+数据库)

             本示例基于Vue.js和mint UI实现。 目录 一、数据库的创建 二、后端接口与数据库的连接 三、前端代码实现 1.注册页相关代码 2.注册页效果 3.登录页相关代码 4.登录页效果 四、注册登录演示 五、项目文件结构         此处以 Navicat 软件进行创建,新建数据库r

    2023年04月08日
    浏览(52)
  • JavaWeb实现简易的注册登录功能(与数据库连接)

    一、创建数据库表连接 这里我们创建一个数据库名为db_user,创建库的使用可视化工具很简单就不细说了,下面sql代码块是我们创建一个简易用户表为了方便我们后续进行登录注册操作。 下面就是建好的表: 1、建一个与数据库连接的file文件:db.properties 二、创建前端页面 1、

    2024年01月19日
    浏览(40)
  • Android开发----实现登录注册页面(创建本地数据库,对注册的账户密码进行存储)

    写在前面: 本文实现了登录注册页面的开发,创建了本地数据库,存储注册的账户密码。注册账户为手机号,对账户为手机号进行了正则化验证。登录成功跳转至主页面。 20221028-实现登录注册功能 首先说一下,项目部署是在原有项目新建两个activity( 项目右键–new–activi

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包