JavaWeb实战之用Servlet+JDBC实现用户登录与注册

一、前言

使用到的技术栈:

(1)JDBC

(2)Servlet

(3)MySQL

二、准备工作

(1)书城用户数据库与表创建

(2)编写用户类对象JavaBean

(3)编写JdbcUtils对数据库进行交互(使用德鲁伊数据库连接池)

(4)编写web层

最终编写好的第二阶段登陆注册文件结构为

  • dao中定义了基础的操作数据库代码,具体功能有

1.Insert、update、delete(修改)

2.查询一个对象(返回一个对象)

3.查询一个数组对象(数组返回多个对象)

4.返回某一个特定值对象(返回一个值)

  • pojo中定义着与数据库用户表类
  • service中定义着需要实现的用户业务

1.用户注册

2.用户登录

3.用户姓名查询

  • test中编写对JDBC、UserDao、UserServiceImplTest的测试
  • utils中编写JDBC工具类

1.获取数据库连接

2.关闭数据库连接

  • web中编写两个Servlet程序

1.登录请求

2.注册请求

三、编写web层

(1)用户注册请求

使用Servlet进行注册表单处理,需要提前设置base标签为工程路径

  • 在RegisterServlet类让它继承HttpServlet
  • 重写doPost请求方法
  • 在web.xml中配置ServletServlet-mapping
  • 在HTML页面表单action处配置操作,同时method为post请求
  • 拿到表单中出现的用户信息,然后:

1.检查验证码是否正确(第一阶段写死验证码为abcd)

2.检查数据库中是否存在该用户姓名

可用,向数据库中进行注册同时跳转登录页面

不可用,再次跳转注册页面

以上的处理模块,借助在service中编写好的UserServiceImpl实现类进行实现,UserServiceImpl又借助了UserDao进行实现;

(2)用户登录

使用Servlet进行登录表单处理,也需要提前设置base标签为工程路径

  • 在LoginServlet类让它继承HttpServlet
  • 重写doPost请求方法
  • 在web.xml中配置ServletServlet-mapping
  • 在HTML页面表单action处配置操作,同时method为post请求
  • 拿到表单中出现的用户信息,然后:

1.获取HTML页面提交的表单

2.检查数据库中是否存在一个用户名与密码都与获取相同的对象

有,跳转成功页面

没有,提示用户输入错误,重新跳转登录页面

package wzy.web;

import wzy.dao.UserDao;
import wzy.pojo.User;
import wzy.service.UserService;
import wzy.service.impl.UserServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class loginServlet extends HttpServlet {

    private UserService userService = new UserServiceImpl();

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 实现用户登录
        String username = req.getParameter("username");
        String password = req.getParameter("password");

        User user = userService.login(new User(null, username, password, null));

        if (user != null) {
            // 登陆成功
            req.getRequestDispatcher("/pages/user/login_success.html").forward(req,resp);
        } else {
            // 登陆失败
            req.getRequestDispatcher("/pages/user/login.html").forward(req,resp);
        }
    }
}
package wzy.web;

import wzy.pojo.User;
import wzy.service.UserService;
import wzy.service.impl.UserServiceImpl;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class RegisterServlet extends HttpServlet {
    private UserService userService = new UserServiceImpl();
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        String email = req.getParameter("email");
        String code = req.getParameter("code");

        //        2、检查 验证码是否正确  === 写死,要求验证码为:abcde
        if (code.equalsIgnoreCase("abcde")){
            // 3、检查 用户名是否可用
            if (userService.existsUsername(username)){
                System.out.println("用户名[" + username + "]已存在");
                // 跳转到登陆页面
                req.getRequestDispatcher("/pages/user/regist.html").forward(req,resp);
            }else {
                // 可用
                userService.registerUser(new User(null,username,password,email));
                req.getRequestDispatcher("/pages/user/regist_success.html").forward(req,resp);
            }
        }else {
            System.out.println("验证码 ["+code+"] 错误");
            req.getRequestDispatcher("/pages/user/regist.html").forward(req,resp);
        }
    }
}

到此这篇关于JavaWeb实战之用Servlet+JDBC实现用户登录与注册的文章就介绍到这了,更多相关JavaWeb实现用户登录与注册内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java实现用户不可重复登录功能

     总述 前些天,无意之间想到这个问题,感觉挺实用,有必要整理一下.随手写了一个简单的mode,感觉并不算难.思路理顺其实挺简单的. 为实现用户不可同时登陆,只要想想现实中新浪,百度等,只要一处登陆就将另一处的给"挤"下去,就可以知道实现结果为何.然后再逆推之,即可形成较为清晰的思路.我们一起来探讨一下. 首先,我们得明白用户登录使用什么登陆的,即用户在线的原理.这只是将用户的对象存放在了session中而已,然后再frame中进行调用,其他特定页面也进行直接引用就行.那么实现"

  • Java+mysql用户注册登录功能

    最近刚刚开始学习mysql,所以就写了这个很基本的用户注册登录的功能来练练手.虽然这个很简单,但是我还是看到了自己学习的进步,很开心.哈哈哈. 这里要注意数据表的建立: 直接上代码吧,里面注释很详细了. package client; import java.sql.*; import java.util.*; public class Client { /** * 用以实现用户的注册和登录 */ private static String username;//用户登录注册的姓名 privat

  • Java 实现模拟用户登录的示例代码

    创建一个用户类类型的集合,手动输入用户库 主要是判定输入的用户名和密码是否与库中的匹配 做好区别是用户名输入错误还是密码输入错误的提示. 定义用户类 public class User{ String username; String keyword; public User(String username, String keyword) { this.username = username; this.keyword = keyword; } } 主程序 import java.util.A

  • Java实战之实现用户登录

    一.前言 二.案例需求 1.编写login.html登录页面,username&password两个输入框 2.使用Druid数据库连接池技术,操作mysql,day14数据库中的user表 3.使用jdbcTemplate技术封装JDBC 4.登录成功跳转到SuccessServlet展示:登录成功!用户名,欢迎你 5.登录失败跳转到FailServlet展示:登录失败密码错误 三.开始第一步 首先创建项目,写html页面,配置文件,jar包 <!DOCTYPE html> <

  • JavaWeb使用Cookie模拟实现自动登录功能(不需用户名和密码)

    其中包含两个jsp文件,分别为login.jsp和index.jsp 代码如下: login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "

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

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

  • Java实现多用户注册登录的幸运抽奖

    本文实例为大家分享了Java实现简单幸运抽奖的具体代码,供大家参考,具体内容如下 代码模块: User类: package test1; public class User { private String userName; private String password; private int vipID; public User(String userName,String password,int vipID) { this.userName = userName; this.pass

  • Java CRM系统用户登录功能实现代码实例

    用户登录功能后台代码实现: UserMapper接口查询方法定义 /** * * @param userName * @param userPwd * @param roleName * 查询用户记录 * @return */ User queryUser(@Param("userName")String userName); <!-- 查询用户 --> <select id="queryUser" resultMap="BaseResu

  • Java struts2 validate用户登录校验功能实现

    首先贴一下搭配的环境: 配置: Eclipse4.3.2 jdk1.7_45 Mysql 5.0+ 然后切入正题: 1.login.jsp 主要是使用OGNL 标签 也可使用html form表单,调用LoginAction.action,以post 方式传输. 在LoginaAction 经过判断,然后会有提示信息,需要用到 <s:fielderror/>来显示. <%@ taglib uri="/struts-tags" prefix="s"%

  • JavaWeb实战之用Servlet+JDBC实现用户登录与注册

    一.前言 使用到的技术栈: (1)JDBC (2)Servlet (3)MySQL 二.准备工作 (1)书城用户数据库与表创建 (2)编写用户类对象JavaBean (3)编写JdbcUtils对数据库进行交互(使用德鲁伊数据库连接池) (4)编写web层 最终编写好的第二阶段登陆注册文件结构为 dao中定义了基础的操作数据库代码,具体功能有 1.Insert.update.delete(修改) 2.查询一个对象(返回一个对象) 3.查询一个数组对象(数组返回多个对象) 4.返回某一个特定值对象

  • JavaWeb实现用户登录与注册功能

    本文实例为大家分享了JavaWeb实现用户登录与注册的具体代码,供大家参考,具体内容如下 所用知识 客户端:HTML CSS JS (JQuery) 服务器:JAVA基础  JSP   Servlet  JDBC  Tomcat 数据库:MySQL 用到的Jar包 druid数据库连接池  dbutils JDBC数据库操作工具  MySQL jar包 实现效果基本为注册用户,注册成功将数据写入数据库,登录过程查看数据库中是的用户名,密码是否匹配,匹配跳转到登录成功页面,失败返回登录页面. 思路

  • JavaWeb实现用户登录与注册功能(服务器)

    本文实例为大家分享了JavaWeb实现用户登录与注册功能的具体代码,供大家参考,具体内容如下 用到的知识 客户端:HTML CSS JS (JQuery) 服务器:JAVA基础  JSP   Servlet  JDBC  Tomcat 数据库:MySQL 用到的Jar包 druid数据库连接池  dbutils JDBC数据库操作工具  MySQL jar包 总体结构: 客户端数据库部分网址 思路: 服务器部分采用JavaEE三层架构 (1).表现层:通俗讲就是展现给用户的界面,即用户在使用一个

  • JavaWeb实现用户登录与注册功能(服务器)

    本文实例为大家分享了JavaWeb实现用户登录与注册功能的具体代码,供大家参考,具体内容如下 用到的知识 客户端:HTML CSS JS (JQuery) 服务器:JAVA基础  JSP   Servlet  JDBC  Tomcat 数据库:MySQL 用到的Jar包 druid数据库连接池  dbutils JDBC数据库操作工具  MySQL jar包 总体结构: 客户端数据库部分网址 思路: 服务器部分采用JavaEE三层架构 (1).表现层:通俗讲就是展现给用户的界面,即用户在使用一个

  • jsp+dao+bean+servlet(MVC模式)实现简单用户登录和注册页面

    功能介绍 本项目通过使用jsp和servlet实现简单的用户登录.主要逻辑为: 如果用户不存在,则首先进行注册(注册信息同步到数据库中). 进行注册后,可进入登录页面对账号进行登录. 如果账号存在,则正确跳转到欢迎界面,否则提示用户账号信息输入错误. 用户进行登录页面时需要填写验证码同时可勾选是否两周内免登陆. 用户进入欢迎界面,则会显示这是用户第几次登录,如果不是第一次登录则会显示上次登录时间. 如果用户直接进入welcome,(没有进行登录,直接打开welcome.jsp)则会跳转到登录页面

  • Servlet连接数据库实现用户登录的实现示例

    目录 一.需求: 二.先复习一下JDBC 1.概述: 2.开发步骤: 三.代码实现: 1.登录界面代码: 2.登录成功界面: 3.servlet代码: 4.数据库数据 5.登录成功页面: 6.登录失败界面: 7.登录界面: 做一个小案例顺便复习一下jdbc的知识 一.需求: 用户在浏览器输入用户名和密码,如果数据库中有数据,提醒用户登录成功,如果没有数据,提醒用户重新登录 二.先复习一下JDBC 今天用的时候有些细节忘了,知识还是需要多次复习啊,并不是说学过就是自己的. 1.概述: 用java程

  • JSP实现用户登录、注册和退出功能

    本文讲述使用JSP实现用户登录,包括用户登录.注册和退出功能等. 1.系统用例图 2.页面流程图 3.数据库设计 本例使用oracle数据库 创建用户表 包括id,username,password和email,共4个字段 -- Create table create table P_USER ( id VARCHAR2(50) not null, username VARCHAR2(20), password VARCHAR2(20), email VARCHAR2(50) ) tablesp

  • jsp基于XML实现用户登录与注册的实例解析(附源码)

    简单的基于xml做数据库的登录与注册 主题介绍: 1.xml的读取和存储,主要是用到dom4j技术,(网络中的文件存储路径采用classLoader) 文件的读取和存储,写了一个工厂类 public class DocumentFactory { private static Document dom=null;//需要共享一个dom,所以需要设置为static private static String name="user.xml"; private static String f

  • Django用户登录与注册系统的实现示例

    1.1.创建项目和app django-admin startproject mysite_login python manage.py startapp login 1.2.设置时区和语言 Django默认使用美国时间和英语,在项目的settings文件中,如下所示: LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True 我们把它改为亚洲/上海时间和中文 LANGUAGE_

  • 用Python实现web端用户登录和注册功能的教程

    用户管理是绝大部分Web网站都需要解决的问题.用户管理涉及到用户注册和登录. 用户注册相对简单,我们可以先通过API把用户注册这个功能实现了: _RE_MD5 = re.compile(r'^[0-9a-f]{32}$') @api @post('/api/users') def register_user(): i = ctx.request.input(name='', email='', password='') name = i.name.strip() email = i.email.

随机推荐