jsp mysql_JSP+MySQL最简单的登录和注册的实现 --Java Web温习

2023-12-22 16:30

本文主要是介绍jsp mysql_JSP+MySQL最简单的登录和注册的实现 --Java Web温习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、开发环境

开发工具:eclipse 2018-09

操作系统:win10

二、实现

1、目录结构:

43d45a7439273265f775ddb8cf3b19e1.png

2、数据库(创建tmp数据库,新建user表,user表结构如下)

4cdb13b55ce83b3ebc7127707c8fcfdd.png

3、功能简介

功能比较简单,在这简要叙述一下。在注册页面register.jsp对应的输入框中输入用户名和密码,跳转到check_reg.jsp页面。check_reg.jsp只是用来获取提交的表单,主要是连接MySQL数据库,将用户名和密码存入数据库中。如果注册成功,则跳转(重定向)到登陆页面login.jsp。在登陆页面中,在对应输入框中输入用户名和密码,将表单数据提交到check_login.jsp页面。check_login.jsp负责接受表单数据,向数据库中查询数据,如果查找到,跳转到login_success.jsp页面。

4、代码实现

register.jsp:

pageEncoding="UTF-8"%>

注册

href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"

integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"

crossorigin="anonymous">

注册

用户名

class="form-control" name="name" placeholder="请输入用户名"

autofocus="autofocus">

密码

class="form-control" name="pwd" placeholder="请输入密码">

重复密码

class="form-control" name="repwd" placeholder="请重复密码">

οnclick="return checkForm()">注册

integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"

crossorigin="anonymous">

function checkForm() {

var name = registerForm.name.value;

var pwd = registerForm.pwd.value;

var repwd = registerForm.repwd.value;

//alert(name + pwd + repwd);

if (name == "" || name == null) {

alert("请输入用户名");

registerForm.name.focus();

return false;

} else if (pwd == "" || pwd == null) {

alert("请输入密码");

registerForm.pwd.focus();

return false;

} else if (repwd == "" || repwd == null) {

alert("请输入重复密码");

registerForm.repwd.focus();

return false;

}else if(pwd!=repwd){

alert("两次密码输入不一致,请重新输入!");

registerForm.repwd.focus();

return false;

}

alert('注册成功!');

return true;

}

4b9b0076596d627c96ab2700bd539c17.png

check_reg.jsp:

pageEncoding="UTF-8"%>

Connection conn = null;

PreparedStatement ps = null;

Class.forName("com.mysql.jdbc.Driver");

String url = "jdbc:mysql://localhost:3306/tmp?useSSL=false";

String username = "root";

String password = "nxl123";

conn = DriverManager.getConnection(url, username, password);

request.setCharacterEncoding("utf-8");//设置编码方式,防止中文乱码

String name = request.getParameter("name");

String pwd = request.getParameter("pwd");

String sql = "INSERT user(name,pwd) VALUES(?,?)";

ps = conn.prepareStatement(sql);

ps.setString(1, name);

ps.setString(2, pwd);

int row = ps.executeUpdate();

if (row > 0) {

response.sendRedirect("./login.jsp");//重定向到登陆页面

}

%>

7ee13f6c2aceb62ca0eb4e091837a296.png

login.jsp:

pageEncoding="UTF-8"%>

登录案例

href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"

integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"

crossorigin="anonymous">

登录

用户名

class="form-control" name="name" placeholder="请输入用户名">

密码

class="form-control" name="pwd" placeholder="请输入密码">

οnclick="return checkForm()">登录

integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"

crossorigin="anonymous">

function checkForm() {

var name = loginForm.name.value;

var pwd = loginForm.pwd.value;

//alert(name + pwd);

if (name == "" || name == null) {

alert("请输入用户名");

loginForm.name.focus();

return false;

} else if (pwd == "" || pwd == null) {

alert("请输入密码");

loginForm.pwd.focus();

return false;

}

return true;

}

f344558513df792fa0fa6122aeec657e.png

check_login.jsp:

pageEncoding="UTF-8"%>

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

Class.forName("com.mysql.jdbc.Driver");

String url = "jdbc:mysql://localhost:3306/tmp?useSSL=false";

String username = "root";

String password = "nxl123";

conn = DriverManager.getConnection(url, username, password);

request.setCharacterEncoding("utf-8");

String name = request.getParameter("name");

String pwd = request.getParameter("pwd");

String sql = "SELECT *FROM user WHERE name ='" + name + "'AND pwd = '" + pwd + "'";

ps = conn.prepareStatement(sql);

rs = ps.executeQuery();

if (rs.next()) {

response.sendRedirect("./login_success.jsp");

}else{

response.sendRedirect("./login.jsp");

}

%>

login_success.jsp:

pageEncoding="UTF-8"%>

登录成功!

href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"

integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"

crossorigin="anonymous">

登录成功!

这篇关于jsp mysql_JSP+MySQL最简单的登录和注册的实现 --Java Web温习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/524645

相关文章

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java String字符串的常用使用方法

《JavaString字符串的常用使用方法》String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习c语言的时候,对于一些字符串,会初始化字符数组表... 目录一、什么是String二、如何定义一个String1. 用双引号定义2. 通过构造函数定义三、St

springboot filter实现请求响应全链路拦截

《springbootfilter实现请求响应全链路拦截》这篇文章主要为大家详细介绍了SpringBoot如何结合Filter同时拦截请求和响应,从而实现​​日志采集自动化,感兴趣的小伙伴可以跟随小... 目录一、为什么你需要这个过滤器?​​​二、核心实现:一个Filter搞定双向数据流​​​​三、完整代码

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

Python实现AVIF图片与其他图片格式间的批量转换

《Python实现AVIF图片与其他图片格式间的批量转换》这篇文章主要为大家详细介绍了如何使用Pillow库实现AVIF与其他格式的相互转换,即将AVIF转换为常见的格式,比如JPG或PNG,需要的小... 目录环境配置1.将单个 AVIF 图片转换为 JPG 和 PNG2.批量转换目录下所有 AVIF 图

Java Predicate接口定义详解

《JavaPredicate接口定义详解》Predicate是Java中的一个函数式接口,它代表一个判断逻辑,接收一个输入参数,返回一个布尔值,:本文主要介绍JavaPredicate接口的定义... 目录Java Predicate接口Java lamda表达式 Predicate<T>、BiFuncti

Pydantic中model_validator的实现

《Pydantic中model_validator的实现》本文主要介绍了Pydantic中model_validator的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录引言基础知识创建 Pydantic 模型使用 model_validator 装饰器高级用法mo

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

Spring Security方法级安全控制@PreAuthorize注解的灵活运用小结

《SpringSecurity方法级安全控制@PreAuthorize注解的灵活运用小结》本文将带着大家讲解@PreAuthorize注解的核心原理、SpEL表达式机制,并通过的示例代码演示如... 目录1. 前言2. @PreAuthorize 注解简介3. @PreAuthorize 核心原理解析拦截与