iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >java+mysql实现登录和注册功能
  • 809
分享到

java+mysql实现登录和注册功能

2024-04-02 19:04:59 809人浏览 独家记忆
摘要

初学JAVA  EE,老师留下一小作业,用JAVA实现与服务器端交互,实现登录和注册功能,初学一种专业课很多老师都会留下一种让学生实现登录和注册的作业。 下面是记录的实现步

初学JAVA  EE,老师留下一小作业,用JAVA实现与服务器端交互,实现登录和注册功能,初学一种专业课很多老师都会留下一种让学生实现登录和注册的作业。

下面是记录的实现步骤:

1、首先是账号密码输入框和按钮:

登录:

<fORM action="login.do"  method="get">
     <table>
        <tr><td>账号:</td><td><input style="line-height: 28px;" type="text" name="id" /></td></tr>
        <tr><td>密码:</td><td><input style="line-height: 28px;" type="passWord" name="password" /></td></tr> 
        <tr><td> <a href="reGISter.jsp" rel="external nofollow"  >还没注册?点击注册</a></td><td><input id="login_in" type="submit" value=" 登录 "></td></tr>
        </table>
 </form>

注册:

<form name="form1" action="register.do" method="post">
    <table width="200" border="0">
        <tr>
            <td colspan="2">
                <div id="status">注册新用户</div>
            </td>
        <tr>
            <td>*用户名</td>
            <td><input type="text" name="username" size="10" id="username"></td>
        </tr>
        <tr>
            <td>*密码</td>
            <td><input type="password" name="password1" size="10"></td>
        </tr>
        <tr>
            <td>*确认密码</td>
            <td><input type="password" name="password2" size="10"></td>
        </tr>
        <tr>
            <td>Email</td>
            <td><input type="text" name="email" size="10"></td>
        </tr>
        <tr>
            <td colspan="2"><a href="login.jsp" rel="external nofollow" >返回登录页</a> <input
                    type="submit" name="submit" value="提交注册"></td>
        </tr>
    </table>
</form>

两个form表的属性里都有action,可理解为是用来标记登录和注册的,在WEB.xml中和对应的servlet绑定

2、数据库建表,插入数据

在服务器中打开Mysql,建表

create table login(
uname char(15) primary key,
password char(15) not null,
email char(20)
)

3、sql语句内嵌到java语句中,查找(登录)和插入(注册)用户信息,以下类名即为文件的名字

登录:

import java.sql.*;
public class userlogin {
 
    String drv = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/login";
    String usr = "root";
    String pwd = "***";//自己的密码
 
    public boolean isuserlogin(String id,String password){
        boolean isValid = false;
 
        String sql="select * from ulogin where uname='"+id+"' and password='"+password+"'";
        try{
            Class.forName(drv).newInstance();
            Connection conn = DriverManager.getConnection(url,usr,pwd);
            Statement stm = conn.createStatement();
            ResultSet rs = stm.executeQuery(sql);
 
            if(rs.next()){
                isValid = true;
            }
 
            rs.close();
            stm.close();
            conn.close();
        }catch (Exception e) {
            e.printStackTrace();
            System.out.println(e);
        }
        if(isValid){//判断用户名以及密码是否与设定相符
            return true;
        }
        else return false;
    }
}

注册:

import java.sql.*;
public class register {
 
    String drv = "com.mysql.jdbc.Driver";
    String url = "jdbc:mysql://localhost:3306/login";
    String usr = "root";
    String pwd = "***";
 
    public boolean userregister(String id,String password,String email){
 
        boolean b = false;
 
        String sql = "select * from ulogin where uname='"+id+"'";
 
        try{
            Class.forName(drv).newInstance();
            Connection conn = DriverManager.getConnection(url,usr,pwd);
            Statement stm = conn.createStatement();
            ResultSet rs = stm.executeQuery(sql);
 
            if(!rs.next()){
 
                sql = "insert into ulogin(uname,password,email) values('"+id+"','"+password+"','"+email+"')";
                stm.execute(sql);
                b = true;
            }
 
            rs.close();
            stm.close();
            conn.close();
        }catch (Exception e) {
            e.printStackTrace();
            System.out.println(e);
        }
 
        if(b)
        {
            return true;
        }
        else return false;
    }
}

4、构建servlet来处理事务,如果连接数据库查找成功,则登录成功,否则失败;如果注册成功返回登录界面

登录:由用户输入信息,所以使用doGet方法

@WebServlet(name = "ServletLogin")
public class ServletLogin extends httpservlet {
    public void init() throws ServletException {
    }
 
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
        boolean b=false;
        userlogin MyPOJO=new userlogin();//新建MyPOJO类的对象myPOJO
 
        //根据标示名获取JSP文件中表单所包含的参数
        String id=request.getParameter("id");
        String password=request.getParameter("password");
        String result = "";
 
        b=MyPOJO.isuserlogin(id,password);//使用模型对账号和密码进行验证,返回一个boolean类型的对象
        PrintWriter out = response.getWriter();
        if(b){  //如果验证结果为真,跳转至登录成功页面
            out.println("success");
            result = "success";
            //Cookie
            Cookie username= new Cookie("username",id);
 
            //设置路径,这个路径即该工程下都可以访问该cookie 如果不设置路径,那么只有设置该cookie路径及其子路径可以访问
 
            username.setPath("/");
            username.setMaxAge(60*60);
            response.addCookie(username);
            response.sendRedirect("index.jsp");
        }
        else {  //如果验证结果为假,跳转至登录失败页面
            out.println("fail");
            result = "fail";
            response.sendRedirect("JSP/LoginFailed.jsp" );
        }
        out.write(result);
        out.flush();
        out.close();
        System.out.println(result);
    }

注册:使用doPost方法

@WebServlet(name = "ServletRegister")
public class ServletRegister extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        boolean b = false;
        register myPOJO=new register();
 
        String id=request.getParameter("username");
        String password=request.getParameter("password1");
        String email = request.getParameter("email");
 
        b=myPOJO.userregister(id,password,email);
 
        if(b){
            response.sendRedirect("login.jsp");
        }
        else{
            response.sendRedirect("register.jsp");
        }
    }
}

5、在web.xml中将servlet和url-pattern进行匹配

<servlet>
        <servlet-name>ServletLogin</servlet-name>
        <servlet-class>service.ServletLogin</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletLogin</servlet-name>
        <url-pattern>/login.do</url-pattern>
    </servlet-mapping>
 
    <servlet>
        <servlet-name>ServletRegister</servlet-name>
        <servlet-class>service.ServletRegister</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletRegister</servlet-name>
        <url-pattern>/register.do</url-pattern>
    </servlet-mapping>

6、测试运行

将服务器端的mysql数据库中加入一条用户信息:

insert into ulogin values('test1','123',null);

网页上输入该信息:

点击登录:登陆成功

注册:在注册框中输入信息:

提交后在数据库中查找该用户信息:

注意:项目中应该导入jsp-api.jar和servlet-api.jar两个jar包

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

您可能感兴趣的文档:

--结束END--

本文标题: java+mysql实现登录和注册功能

本文链接: https://www.lsjlt.com/news/147241.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java+mysql实现登录和注册功能
    初学JAVA  EE,老师留下一小作业,用JAVA实现与服务器端交互,实现登录和注册功能,初学一种专业课很多老师都会留下一种让学生实现登录和注册的作业。 下面是记录的实现步...
    99+
    2022-11-13
  • java+mysql怎么实现登录和注册功能
    本篇内容主要讲解“java+mysql怎么实现登录和注册功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java+mysql怎么实现登录和注册功能”吧!1、首先是账号密码输入框和按钮:登录:&...
    99+
    2023-06-30
  • NodeJs+MySQL实现注册登录功能
    本文实例为大家分享了NodeJs+MySQL实现注册登录功能的具体代码,供大家参考,具体内容如下 之前写过一个没有连接数据库的注册与登陆的实现,这次加上了数据库 刚刚接触后端,很多不...
    99+
    2022-11-13
  • java注册登录功能如何实现
    Java注册登录功能可以通过以下步骤来实现:1. 创建数据库表:- 创建一个用户表,包括用户ID(主键),用户名,密码等字段。2. ...
    99+
    2023-08-11
    java
  • NodeJs+MySQL怎么实现注册登录功能
    这篇文章主要介绍“NodeJs+MySQL怎么实现注册登录功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“NodeJs+MySQL怎么实现注册登录功能”文章能帮助大家解决问题。nodejs中mys...
    99+
    2023-06-30
  • Java基于IO流实现登录和注册功能
    案例分析: 我们之前做过的登录注册案例是把用户信息存进集合里,要用IO流实现的话,就是要把用户信息存入文件中。登录注册两个功能的具体实现是在用户操作类中,所以我们只需要在用户操作类中...
    99+
    2022-11-13
  • Python实现注册登录功能
    用Python写个注册登录功能,供大家参考,具体内容如下 本文是用Python写一个注册登录功能,难度不大,很适合练手主要就是用列表和字典,以及逻辑判断用到的第3方库模块是time模...
    99+
    2022-11-13
  • Node.js实现登录注册功能
    本文实例为大家分享了Node.js实现登录注册功能的具体代码,供大家参考,具体内容如下 目录结构 注册页面: reg.html <!DOCTYPE html> <...
    99+
    2022-11-13
  • Android实现登录注册功能
    本文实例为大家分享了Android实现登录注册功能的具体代码,供大家参考,具体内容如下 运行环境 Android Studio 总体效果图 一、 设计注册页面的布局 二、完成注册...
    99+
    2022-11-13
  • Java-web实现用户登录、注册功能
    源码在资源里 目录 环境搭建数据库 用户登录需求分析代码实现编写UserMapper类编写User类编写loginServlet类编写login.html编写login.css ...
    99+
    2023-10-10
    java 前端 servlet
  • Node.js+Express+MySql实现用户登录注册功能
    本文实例为大家分享了Node.js实现用户登录注册的具体代码,供大家参考,具体内容如下 IDE:WebStorm 工程目录: 数据库表 Login.js: var express=r...
    99+
    2022-06-04
    用户登录 功能 js
  • jsp怎么实现登录和注册功能
    要实现登录和注册功能,可以按照以下步骤进行:1. 创建一个登录页面(login.jsp)和一个注册页面(register.jsp)。...
    99+
    2023-08-09
    jsp
  • python实现登录与注册功能
    本文实例为大家分享了python实现登录与注册的具体代码,供大家参考,具体内容如下 1. 案例介绍 本例设计一个用户登录和注册模块,使用 Tkinter 框架构建界面,主要用到画布、...
    99+
    2022-11-12
  • java web实现简单登录注册功能全过程(eclipse,mysql)
    目录1.工程文件2.DBBean.java3.login.jsp4.check.jsp5.zhuce.jsp6.zhuceck.jsp7.success.jsp8.zhucesu.j...
    99+
    2022-11-13
  • 基于Java怎么实现QQ登录注册功能
    这篇文章主要介绍“基于Java怎么实现QQ登录注册功能”,在日常操作中,相信很多人在基于Java怎么实现QQ登录注册功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”基于Java怎么实现QQ登录注册功能”的疑...
    99+
    2023-06-30
  • Android基于Sqlite实现注册和登录功能
    Android中基于Sqlite实现注册和登录功能,供大家参考,具体内容如下 前言 写这篇博客主要是为了巩固一下学的Sqlite知识以及梳理一下这个项目的逻辑 实现逻辑 项目的图片...
    99+
    2022-11-13
  • android登录注册功能如何实现
    要实现Android的登录注册功能,你可以按照以下步骤进行操作:1. 创建一个布局文件来设计登录和注册界面。可以使用EditText...
    99+
    2023-10-20
    android
  • Spring MVC+mybatis实现注册登录功能
    本文实例为大家分享了Spring MVC mybatis实现注册登录功能的具体代码,供大家参考,具体内容如下前期准备: 如下图所示,准备好所需要的包 新建工程,导入所需要的包,在web.xml中配置好所需要的,如下<...
    99+
    2023-05-31
    spring mvc mybatis
  • Android实现登录注册功能封装
    我们都知道Android应用软件基本上都会用到登录注册功能,那么对一个一个好的登录注册模块进行封装就势在必行了。这里给大家介绍一下我的第一个项目中所用到的登录注册功能的,已经对...
    99+
    2022-06-06
    封装 Android
  • 基于Spring5实现登录注册功能
    本文实例为大家分享了Spring5实现登录注册功能的具体代码,供大家参考,具体内容如下 准备: 根据分析用户注册登录都需要的信息为①username(String)②userid(I...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作