Java+mysql用户注册登录功能

最近刚刚开始学习mysql,所以就写了这个很基本的用户注册登录的功能来练练手。虽然这个很简单,但是我还是看到了自己学习的进步,很开心。哈哈哈。

这里要注意数据表的建立:

Java+mysql用户注册登录功能

直接上代码吧,里面注释很详细了。

package client;

import java.sql.*;
import java.util.*;

public class Client {

 /**
 * 用以实现用户的注册和登录
 */
 private static String username;//用户登录注册的姓名
 private static String password;//用户密码
 private static String url="jdbc:mysql://localhost:3306/test";//连接数据库的url,test是我自己的一个数据库啊宝宝们。
 private static String user="root";//mysql登录名
 private static String pass="123456";//mysql登录密码(写自己之前设置的)
 private static Connection con;//
 static Scanner input =new Scanner(System.in);

 public static void main(String[] args) throws Exception {
 //加载数据库连接驱动并连接
 Class.forName("com.mysql.jdbc.Driver");
 con=DriverManager.getConnection(url,user,pass);

 System.out.println("********用户界面********");
 System.out.println("请选择:\n 1:用户登录\n 2:用户注册");
 System.out.println("**********************");

 int i=input.nextInt();
 switch(i){
 case 1:
  denglu();
  break;
 case 2:
  zhuce();
  break;
 default :
  System.out.println("输入有误!");
  System.exit(0);
 }

 }
 //用户注册
 public static void zhuce() throws SQLException{
 System.out.println("请输入你的姓名:");
 username=input.next();
 System.out.println("请输入你的登录密码:");
 String p1=input.next();
 System.out.println("请再次输入你的确认密码:");
 String p2=input.next();
 if(p1.equals(p2)){
  //两次输入的密码相同才可以注册
  password=p1;
  String sql="insert into client (username,password) values(?,?)";
  PreparedStatement ptmt=con.prepareStatement(sql);
  ptmt.setString(1, username);
  ptmt.setString(2, password);
  ptmt.execute();
  System.out.println("注册成功!\n请登录:");
  denglu();
 }else{
  System.out.println("你输入的密码与确认密码不相符,请重新注册:");
  zhuce();
 }

 }
 //用户登录
 public static void denglu() throws SQLException{
 System.out.println("请输入你的姓名:");
 username=input.next();
 System.out.println("请输入你的密码:");
 password=input.next();

 String sql="select username,password from client where username=? and password=?";
 PreparedStatement ptmt=con.prepareStatement(sql);
 ptmt.setString(1, username);
 ptmt.setString(2, password);
 ResultSet rs=ptmt.executeQuery();
 //从登录用户给出的账号密码来检测查询在数据库表中是否存在相同的账号密码
 if(rs.next()){
  System.out.println("登录成功!");
 }else{
  System.out.println("姓名或密码错误!\n请重新登录:");
  denglu();
 }

 }

}

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

时间: 2017-01-23

java中使用Filter控制用户登录权限具体实例

学jsp这么长时间,做的项目也有七八个了,可所有的项目都是用户登录就直接跳转到其拥有权限的页面,或者显示可访问页面的链接.使用这种方式来幼稚地控制访问权限.从来没有想过如果我没有登录,直接输入地址也可以直接访问用户的页面的. 在jsp中权限的控制是通过Filter过滤器来实现的,所有的开发框架中都集成有Filter,如果不适用开发框架则有如下实现方法: LoginFilter.java 复制代码 代码如下: public class LoginFilter implements Filter {

java中servlet实现登录验证的方法

login.java: 复制代码 代码如下: package com.ncu;import java.io.PrintWriter; import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class login extends HttpServlet{ public void do

JAVA实现简单系统登陆注册模块

前期准备 首先要先明确有个大体的思路,要实现什么样的功能,了解完成整个模块要运用到哪些方面的知识,以及从做的过程中去发现自己的不足.技术方面的进步大都都需要从实践中出来的. 功能:用户注册功能+系统登录功能+生成验证码 知识:窗体设计.数据库设计.JavaBean封装属性.JDBC实现对数据库的连接.验证码(包括彩色验证码)生成技术,还有就些比如像使用正则表达式校验用户注册信息.随机获得字符串.对文本可用字符数的控制等 设计的模块预览图: 彩色验证码预览图: 所用数据库:MySQL 数据库设计

java(jsp)整合discuz同步登录功能详解

最近做了一个资源库系统的项目,老师说可以搭建开源论坛替代自己开发社交模块,正好在开源中国上看到了一个利用discuz的UCenter功能实现同步登录的开源项目(https://code.google.com/p/discuz-ucenter-api-for-java/),不禁大喜,于是花了几个小时照着教程操作了一遍,居然很轻松的成功了,特写此文以做纪念.. Uenter是Comsenz旗下各个产品之间信息直接传递的一个桥梁,通过UCenter站长可以无缝整合Comsenz系列产品,实现用户的一站

JAVA简单链接Oracle数据库 注册和登陆功能的实现代码

复制代码 代码如下: //User 用户的基本信息,也是USERINFO表中的3个列package 登陆判断; public class User { private String name;  private String loginname;  private String loginpsw;  public String getName() {   return name;  }  public void setName(String name) {   this.name = name;

注册验证java代码[针对上篇文章]

http://www.jb51.net/article/19801.htm 复制代码 代码如下: <%@ page contentType="text/html; charset=gb2312" language="java"%> <%@ page import="java.sql.*"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional/

Java简易登录注册小程序

登录注册小代码,将学过的一些小知识融合在一起进行了使用,加深印象.本例中如果有注释不详细的地方,详见其它博客. 功能介绍:简单的登录注册系统,使用了数据库sqlserver.单例模式.正则表达式以及图形化开发等知识. 1.在登录界面,可以登录或者注册用户. 注册用户界面,按照正则表达式规定的格式要求来输入信息,若有误,则重新输入. 2.点击注册,首先连接SQLserver数据库,连接成功则会判断该用户名是否已经存在,若存在,则给出提示.反之则进行注册. 3.登录界面,点击登录按钮时,首先与数据库

JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JS

Servlet+JavaBean+JSP打造Java Web注册与登录功能

采用Java Web所实现的MVC结构图如下,其中控制器部分采用Servlet来实现,模型部分采用JavaBean来实现,而大部分的视图采用Jsp页面来实现. 思想基础 JSP+JavaBean两层结构工作原理应该是比较熟悉的,也比较好理解. 但是有一点必须要清楚就是用户通过浏览器来发送网页的请求,此请求到达服务器后在服务器端查找对应的网页,如果是首次请求(第二次就不用解释执行了),对于JSP来说要生成Servlet,然后通过Servlet引擎来执行 Servlet,把调用JavaBean的结果

java模拟post请求登录猫扑示例分享

复制代码 代码如下: import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.HttpURLConnection;im

java模拟post请求发送json的例子

java模拟post请求发送json,用两种方式实现,第一种是HttpURLConnection发送post请求,第二种是使用httpclient模拟post请求, 方法一: package main.utils; import java.io.*; import java.net.HttpURLConnection; import java.net.URL; public class HttpUtilTest { Log log = new Log(this.getClass());//初始化

JAVA获取HTTP请求头的方法示例

本文实例讲述了JAVA获取HTTP请求头的方法.分享给大家供大家参考,具体如下: 在利用Java网络编程时,利用Java获取HTTP Request 和 Response头字段: 可以利用Java语言根据需要添加自定义的HTTP头字段,而不必拘泥于标准HTTP定义的头字段. 代码如下: public class TestURL { public static void main(String[] args) { String destURLStr= "http://www.baidu.com&q

javascript请求servlet实现ajax示例(分享)

ajax请求是一种无刷新式的用户体验,可以发送GET和POST两种异步请求,现记录如下: GET请求: function sendRequestByGet(){ //定义异步请求对象 var xmlReq; //检测浏览器是否直接支持ajax if(window.XMLHttpRequest){//直接支持ajax xmlReq=new XMLHttpRequest(); }else{//不直接支持ajax xmlReq=new ActiveObject('Microsoft.XMLHTTP')

Java实现身份证号码验证源码示例分享

整理文档,搜刮出一个Java实现身份证号码验证源码示例代码,稍微整理精简一下做下分享. package xxx; /** * Created by wdj on 2017/6/21. */ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Random; /** * 身份证验证的

java基于AspectJ(面向切面编程)编码示例分享

一.基本概念 AspectJ是一种面向切面程序设计的基于Java 的实现.它向 Java 中加入了连接点(Join Point)这个新概念,其实它也只是现存的一个 Java概念的名称而已.它向 Java 语言中加入少许新结构:切点(pointcut).通知(Advice).类型间声明(Inter-type declaration)和方面(Aspect).切点和通知动态地影响程序流程,类型间声明则是静态的影响程序的类等级结构,而切面则是对所有这些新结构的封装. 基于切面.连接点.切点.通知的概念如

Java分页工具类及其使用(示例分享)

Pager.java package pers.kangxu.datautils.common; import java.io.Serializable; import java.util.List; /** * * <b> 分页通用类 </b> * * @author kangxu * @param <T> * */ public class Pager<T> implements Serializable { /** * */ private stati

java信号量控制线程打印顺序的示例分享

复制代码 代码如下: import java.util.concurrent.Semaphore; public class ThreeThread { public static void main(String[] args) throws InterruptedException {  Semaphore sempA = new Semaphore(1);  Semaphore sempB = new Semaphore(0);  Semaphore sempC = new Semapho

java实现voctor按指定方式排序示例分享

复制代码 代码如下: import java.util.*;class MyCompare implements Comparator //实现Comparator,定义自己的比较方法{public int compare(Object o1, Object o2) {Elem e1=(Elem)o1;Elem e2=(Elem)o2; if(e1.get() > e2.get())//这样比较是降序,如果把-1改成1就是升序.{   return -1;}else if(e1.get()<e

java解析xml之jdom解析xml示例分享

复制代码 代码如下: package com.test; import java.io.File;import java.util.ArrayList;import java.util.List; import org.jdom.Document;import org.jdom.Element;import org.jdom.input.SAXBuilder; public class JdomXML { public static void main(String[] args) {