千家信息网

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

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容主要讲解"java+mysql怎么实现登录和注册功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java+mysql怎么实现登录和注册功能"吧!
千家信息网最后更新 2025年01月19日java+mysql怎么实现登录和注册功能

本篇内容主要讲解"java+mysql怎么实现登录和注册功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"java+mysql怎么实现登录和注册功能"吧!

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

登录:

账号:
密码:
还没注册?点击注册

注册:

注册新用户
*用户名
*密码
*确认密码
Email
返回登录页

两个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进行匹配

        ServletLogin        service.ServletLogin                ServletLogin        /login.do                 ServletRegister        service.ServletRegister                ServletRegister        /register.do    

6、测试运行

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

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

网页上输入该信息:

点击登录:登陆成功

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

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

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

到此,相信大家对"java+mysql怎么实现登录和注册功能"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0