广告
返回顶部
首页 > 资讯 > 精选 >Java怎么实现登录与注册页面
  • 894
分享到

Java怎么实现登录与注册页面

2023-06-30 09:06:01 894人浏览 薄情痞子
摘要

本文小编为大家详细介绍“Java怎么实现登录与注册页面”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java怎么实现登录与注册页面”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。用java实现的登录与注册页面,实

本文小编为大家详细介绍“Java怎么实现登录与注册页面”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java怎么实现登录与注册页面”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

用java实现的登录与注册页面,实现了客户端(浏览器)到服务器Tomcat)再到后端(servlet程序)数据的交互。这里在注册页面加入了验证码验证。

注册的html代码

<body><fieldset id="">  <legend>注册页面</legend>  <fORM action="/day02/reGISter2" method="post" id="form" ">    <table>      <tr>        <td>用户名:</td>        <td><input type="text" name="userName" /><span id="span1"></span></td>      </tr>      <tr>        <td>          密码:        </td>        <td>          <input type="passWord" name="password" />        </td>      </tr>      <tr>        <td>          确认密码:        </td>        <td>          <input type="password" name="repassword" />          <span id="span2"></span>        </td>      </tr>      <tr id="tr4">        <td>          性别:        </td>        <td>          <input type="radio" name="sex" value="男" />男          <input type="radio" name="sex" value="女" />女          <span id="span3"></span>        </td>      </tr>      <tr>        <td>爱好:</td>        <td>          <input type="checkbox" name="hobby" value="唱" />唱          <input type="checkbox" name="hobby" value="跳" />跳          <input type="checkbox" name="hobby" value="rap" />rap          <input type="checkbox" name="hobby" value="篮球" />篮球          <span id="span4"></span>        </td>      </tr>      <tr>        <td>国籍:</td>        <td>          <select name="country" id="country">            <option value="none">--请选择国籍--</option>            <option value="中国">中国</option>            <option value="韩国">韩国</option>            <option value="日本">日本</option>            <option value="美国">美国</option>          </select>          <span id="span5"></span>        </td>      </tr>      <tr>        <td>自我评价:</td>        <td>          <textarea rows="10px" cols="20px" id="textarea" name="describe" ></textarea>        </td>      </tr>    <tr>        <td>          验证码:        </td>        <td>          <input type="text" name="check"/>          <img src="/day02/demo" id="img" onclick="checkImg()" style = "cursor: pointer">          <a href="javascript:void(0);" onclick="checkImg()">换一张</a>        </td>      </tr>    </table>    <input type="submit" id="btn2" value="提交" />    <input type="button" id="btn1" value="验证" />  </form></fieldset></body><script type="text/javascript">  function checkImg() {    var img = document.getElementById("img");    img.src ="/day02/demo?"+new Date().getTime()  }</script>

注册页面截图

Java怎么实现登录与注册页面

这里需要注意的是我用的是Tomcat服务器,因为它其中没有mysql驱动,所以需要手动添加到Tomcat的lib目录下。

还有在WEB.xml中添加了全局配置主要是为了项目中需要改编码的方便

<context-param>        <param-name>encode</param-name>        <param-value>UTF-8</param-value>    </context-param>

这里是生成验证码的程序,在我的上篇文章有详细讲解

@WebServlet(urlPatterns = "/demo")public class CheckImg extends httpservlet {    //复写HttpServlet中的doGet方法    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException,            IOException{        //准备一张画纸,将验证码中的数字字母写到这张画纸中        int width = 120;        int height = 30;        BufferedImage bufi = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);        //这里面的width、height、就是这张画纸的长宽。BufferedImage.TYPE_INT_RGB就是这张画纸基于        //RGB三原色来进行画        //获取一个画笔对象,给图片上画画        Graphics2D g = (Graphics2D) bufi.getGraphics();        //设置画笔颜色        g.setColor(Color.WHITE);        //将这个颜色填充到整个画纸        g.fillRect(0,0,width,height);        //定义图片上可以写什么数据        String data = "QWERTYUIOPASDFGHJKLZXCVBNMQwertyuiopasdfghjklzxcvbnm1234567890";        //定义书写在画纸上的起始位置        int x =15;        int y =25;        //定义一个随机数        Random r = new Random();        //创建一个字符串缓冲区        StringBuilder sb = new StringBuilder();        //定义一个循环给画纸上写四个数        for(int i = 0; i < 4; i++){            //从data中随机获取一个下标的数据            char c = data.charAt(r.nextInt(data.length()));            sb.append(c+"");            //随机生成画笔的颜色,RGB三原色随机在0-256中随机生成            g.setColor(new Color(r.nextInt(256),r.nextInt(256),r.nextInt(256)));            //设置字体            g.setFont(new Font("黑体",Font.BOLD,26));            double theta =(30 - (r.nextInt(60)))*Math.PI/180;            g.rotate(theta,x,24);            //设置数据旋转            //g.rotate((20)*Math.PI/180,x,y);            //将数据写到画纸上            g.drawString(c+"",x,y);            g.rotate(-theta,x,24);            //设置完旋转要调回,防止数据旋转的看不到            //g.rotate(-((20)*Math.PI/180),x,y);            //每写完一个调整下一个数据写的位置            x += 25;        }        HttpSession session = req.getSession();        session.setAttribute("checkNum",sb.toString());        //添加线类型的干扰信息        for(int i = 0; i < 15 ; i++){            //同样设置线的颜色            g.setColor(new Color(r.nextInt(256),r.nextInt(256),r.nextInt(256)));            //开始划线,这里需要的四个参数中前两个是线开头的左边,后边两个是线结束的坐标            g.drawLine(r.nextInt(width),r.nextInt(height),r.nextInt(width),r.nextInt(height));        }        //添加点类型干扰信息        for (int i = 0 ; i < 150 ; i++){            //设置点的颜色            g.setColor(new Color(r.nextInt(256),r.nextInt(256),r.nextInt(256)));            //开始画点,实质上这是画椭圆,将上半轴半径,左半轴半径设置为0就可以看成是一个点            g.drawOval(r.nextInt(width),r.nextInt(height),0,0);        }        //这个时候并没有在这张纸上书写任何内容,但是已经可以像客户端响应请求了        ImageIO.write(bufi, "jpg", resp.getOutputStream());    }}

这是注册页面的代码。

@WebServlet(urlPatterns = "/register2")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 {        //获取在web.xml中的配置的全局属性        String encode = req.getServletContext().getInitParameter("encode");        //为了防止乱码设置编码        req.setCharacterEncoding(encode);        resp.setContentType("text/html;charset="+encode);        //获得请求过来的资源        String userName = req.getParameter("userName");        String password = req.getParameter("password");        String repassword = req.getParameter("repassword");        String sex = req.getParameter("sex");        String[] hobby = req.getParameterValues("hobby");        String country = req.getParameter("country");        String describe = req.getParameter("describe");        //这里将获取到的请求数据都在控制台上打印了一遍        //看是否拿到了这些数据        System.out.println(userName);        System.out.println(password);        System.out.println(repassword);        System.out.println(sex);        System.out.println(hobby[0]);        System.out.println(country);        System.out.println(describe);        //这里只加了简单的判断,判断帐号是否填写,以及两次密码是否一致        //判断信息是否填写        if(userName==null||password==null||repassword==null||sex==null||hobby==null||country==null||describe==null){            resp.getWriter().write("所有的数据都不能为空,请重新<a href = '/day02'>填写</a>");            return;        }        //判断两次密码是否一致        if(!password.equals(repassword)){            resp.getWriter().write("两次密码输入不一致,请重新<a href = '/day02'>填写</a>");            return;        }         //判断验证码输入是否正确         if(!checkImg.equalsIgnoreCase(check)){            resp.getWriter().write("验证码输入错误");            return;        }        try {            //加载Mysql数据库驱动            Class.forName("com.mysql.jdbc.Driver");            //这里我在数据库中添加了一个名为day02的数据库            String url = "jdbc:mysql:///day02";            //默认是系统管理员的账户            String user = "root";            //这里你自己设置的数据库密码            String passw = "xxxxxx";            //获取到数据库的连接            Connection connection = DriverManager.getConnection(url, user, passw);            //获取到执行器            Statement stmt = connection.createStatement();            //需要执行的sql语句            String sql = "insert into users values (null,'"+userName+"','"+password+"','"+repassword+"','"+sex+"','"+ Arrays.toString(hobby)+"','"+country+"','"+describe+"')";            //建议打印一下sql语句,放在数据库中看是否能将数据添加到数据库中            System.out.println(sql);            //执行sql语句            int i = stmt.executeUpdate(sql);            //添加成功上边这个执行器就会返回1            if(i==1){                resp.getWriter().write("注册成功,请<a href = '/day02/login.html'>登录</a>");            }else{                resp.getWriter().write("注册失败,请返回重新<a href = '/day02/'></a>");            }            stmt.close();            connection.close();        }catch (Exception e){            e.printStackTrace();        }    }}

登录页面,同样非常丑。就是简单的三个input标签

Java怎么实现登录与注册页面

登录页面的html代码

<body><form action="login">    用户名:<input type="text" name="user"><br/>    密码:<input type="password" name="password"><br/>    <input type="submit" name="提交">    <a href="/register2" rel="external nofollow" >注册</a></form></body>

登录页面的java代码,因为只有帐号密码,就只和数据库中的帐号密码进行判断

@WebServlet(urlPatterns = "/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 {        //先获取到全局配置中的设置的编码        String encode = req.getServletContext().getInitParameter("encode");        //设置请求和响应的编码        req.setCharacterEncoding(encode);        resp.setContentType("text/html;charset="+encode);        try {            //从登录页面拿到用户输入的用户名            String name = req.getParameter("user");            //从登录页面拿到用户输入的密码            String pwd = req.getParameter("password");            //还是在控制台上输出看是否拿到的帐号密码            System.out.println("用户名:" +name);            System.out.println("密码:"+ pwd);            //下边就是加载数据库的过程            Class.forName("com.mysql.jdbc.Driver");            String url = "jdbc:mysql:///day02";            String user = "root";            String password = "xxxxxxx";            String sql = "select * from users where userName = '"+name+"'";            String sql2 = "select * from users where password = '"+pwd+"'";            Connection conn = DriverManager.getConnection(url, user, password);            //这里我选择是创建了两个执行器,如果一个执行器执行两个sql语句。就会出现异常                 Statement stmt = conn.createStatement();            Statement stmt2 =conn.createStatement();            ResultSet rs = stmt.executeQuery(sql);            ResultSet rs2 = stmt2.executeQuery(sql2);            //判断用户输入的帐号是否在数据库中            if (rs.next()){                System.out.print("用户名:" + rs.getString("userName") + "\t");            }else{                resp.getWriter().write("对不起你帐号名有误,请<a href='/day02'>注册</a>");            }            //通过了帐号的判断,就对密码进行判断,同样是判断密码是否与数据库中的密码匹配            if(rs2.next()){                resp.getWriter().write("登录成功,点击跳转<a href='http://www.baidu.com'>首页</a>");                System.out.print("密码:" + rs.getString("password") + "\t");            }else{                resp.getWriter().write("对不起你密码有误,请<a href='/day02'>注册</a>");            }        }catch (Exception e){            e.printStackTrace();        }    }}

读到这里,这篇“Java怎么实现登录与注册页面”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: Java怎么实现登录与注册页面

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

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

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

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

下载Word文档
猜你喜欢
  • Java怎么实现登录与注册页面
    本文小编为大家详细介绍“Java怎么实现登录与注册页面”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java怎么实现登录与注册页面”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。用java实现的登录与注册页面,实...
    99+
    2023-06-30
  • Java实现登录与注册页面
    用java实现的登录与注册页面,实现了客户端(浏览器)到服务器(Tomcat)再到后端(servlet程序)数据的交互。这里在注册页面加入了验证码验证。 注册的html代码,页面非常...
    99+
    2022-11-13
  • JavaScript怎么实现注册登录页面
    本篇内容介绍了“JavaScript怎么实现注册登录页面”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • node.js实现登录注册页面
    本文实例为大家分享了node.js登录注册页面展示的具体代码,供大家参考,具体内容如下 首先需要新建四个文件 一个服务器js 一个保存数据的txt 一个登陆、一个注册页面html 1、注册页面 <...
    99+
    2022-06-04
    页面 node js
  • javaweb实现注册登录页面
    本文实例为大家分享了javaweb实现注册登录页面的具体代码,供大家参考,具体内容如下 <%@ page language="java" contentType="text/h...
    99+
    2022-11-13
  • Android Studio怎么实现注册页面跳转登录页面
    今天小编给大家分享一下Android Studio怎么实现注册页面跳转登录页面的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了...
    99+
    2023-06-30
  • Android实现登录注册页面(上)
    简单的Android开发登录注册,这个是没有连数据库的。 首先,新建项目,新建一个登录页面LoginActivity和注册页面RegisterActivity。 下面是登录页面的代码...
    99+
    2022-11-13
  • Android实现登录注册页面(下)
    前面我们已经完成了登录注册页面的布局,下面我们实现验证登录和记住密码的功能。 我们这里还没用到数据库,所以我们的验证的账号密码,是写死的。 首先进入登录页面,可以从这里跳转到注册页面...
    99+
    2022-11-13
  • java实现登录注册界面
    本文实例为大家分享了java实现登录注册界面的具体代码,供大家参考,具体内容如下 数据库设计 既然只是一个登录和注册的界面,数据库方面就只设计一个Admin表,表内有三个值。 id...
    99+
    2022-11-13
  • JavaScript实现简易登录注册页面
    本文实例为大家分享了JavaScript实现简易登录注册页面的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html>   <h...
    99+
    2022-11-12
  • Android studio 实现app登录注册页面
    目录 activity_main.xml代码如下 MainActivity.java代码如下 用于高校实现Android studio专业课作业提交,如确实有用,欢迎观众姥爷打赏 该页面实现了注册页面的布局效果,包含用户名,密码,忘记密...
    99+
    2023-10-06
    android-studio adb android android studio
  • 登录-注册网页实现
    re.php(登录的前端界面) 登录页面 .home{ text-align: center; font-wei...
    99+
    2023-08-31
    数据库 php 前端
  • java如何实现登录注册界面
    这篇文章主要介绍“java如何实现登录注册界面”,在日常操作中,相信很多人在java如何实现登录注册界面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java如何实现登录注册界面”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-02
  • Vue怎么邮箱注册和短信注册登录页面
    这篇文章主要讲解了“Vue怎么邮箱注册和短信注册登录页面”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue怎么邮箱注册和短信注册登录页面”吧!一、项目环境...
    99+
    2022-10-19
  • AndroidStudio实现注册页面跳转登录页面的创建
    本文是用来介绍Android Studio创建注册页面跳转登录页面的界面设计以及跳转功能地实现,完整结构见文章结尾。 用户注册界面 <xml version="1.0" en...
    99+
    2022-11-13
  • Java怎么实现简单登录注册
    今天小编给大家分享一下Java怎么实现简单登录注册的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、登录1. 内容介绍定义一...
    99+
    2023-06-30
  • 基于Viewpager2实现登录注册引导页面
    本文实例为大家分享了Viewpager2实现登录注册引导页面的具体代码,供大家参考,具体内容如下 介绍 屏幕滑动是两个完整屏幕之间的切换,在设置向导或幻灯片等界面中很常见 实现图(图...
    99+
    2022-11-13
  • JavaScript如何实现简易登录注册页面
    小编给大家分享一下JavaScript如何实现简易登录注册页面,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下<!DOCTYPE htm...
    99+
    2023-06-26
  • 怎么在SpringBoot利用Mybatis实现一个登录注册页面
    怎么在SpringBoot利用Mybatis实现一个登录注册页面?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。环境jdk8 : “1.8.0_281”Maven...
    99+
    2023-06-06
  • php 怎么实现用户注册登录界面
    本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。php 怎么实现用户注册登录界面?PHP登录与注册页面简单实现(包含数据库验证)(包含数据库)log.php(登录主界面)由于是简单的页面,登录页面只做了数据库验证,...
    99+
    2022-11-19
    php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作