实验环境:Tomcat 9.0,MySQL 8.0,JDBC 8.0;

实验方法,利用连接池连接MySQL进行操作

首先创建一个Dynamic Web Project

1.连接池的创建

在 WebContent 目录下的 META_INF 目录下创建文件 context.xml记住文件的名字不能更改

context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context><Resource name="jdbc/mysql"auth="Container"type="javax.sql.DataSource"username="root"password="123456"maxIdle="30" maxWait="10000" maxActive="100"driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql://127.0.0.1:3306/Duser?serverTimezone=GMT"logAbandoned="true" />
</Context>


2.mysql数据库的创建

create database Duser;
use Duser;
create table user(name varchar(30) not null,password varchar(30) not null,constraint primary key(name) //添加姓名为主键
);

4.login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户登录页面</title>
</head>
<body ><h2 align="center"><font color=red>用户登录页面</font></h2><form action="success.jsp" method="post"><table align="center" border="1"><tr><td>用户名:</td><td><input type="text" name="name"></td></tr><tr><td>密&nbsp;&nbsp;码:</td><td><input type="text" name="password"></td></tr><tr><td><input type="submit" value="登录" name="login"></td><td><input type="reset" value="重置" name="reset"></td></tr></table><p align="center"><a href="registered.jsp" color=blue>注册用户</a></p></form></body>
</html>

5.registered.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body align="center"><h2>新用户注册</h2><form action="registeredSucceed.jsp" method="post"><table align="center"><tr align="right"><td>请输入用户名:</td><td><input type="text" name=name autofocus="autofocus"></td></tr><tr align="right"><td>请输入密码:</td><td><input type="text" name=password></td></tr><tr align="right"><td>请输入确认密码:</td><td><input type="text" name=refill></td></tr></table><input type="submit" name=register value="注册" ><input type="reset" name=refill value="重填" ></form></body>
</html>

6.registeredSucceed.jsp

<%@page import="java.sql.*"%>
<%@page import="javax.sql.*"%>
<%@page import="javax.naming.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%request.setCharacterEncoding("utf-8"); %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册成功页面</title>
</head>
<body>
<%Context ctx = null;DataSource ds = null;Statement stmt =null;ResultSet rs = null;Connection con = null;String name=request.getParameter("name").trim();//去除首尾空格String password=request.getParameter("password").trim();String refill=request.getParameter("refill").trim();try{ctx = new InitialContext();ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysql");//mysql是在创建连接池时自己创建的名字con = ds.getConnection();stmt = con.createStatement();if(name!=null ){rs=stmt.executeQuery("select * from user where name='"+name+"'");if(rs.next()){out.print("用户已经存在  "+"请<a href=\"registered.jsp\">注册</a>");}else{if(password.equals(refill)){stmt.executeUpdate("insert into user values('"+name+"','"+ password + "');");%>注册成功!!!<br>三秒钟后自动转到登录页面!!!<br>如果没有跳转,请点击<a href="login.jsp">这里</a>!!!<span style="font-size:24px;"><meta http-equiv="refresh" content="3;URL=login.jsp"> </span>
<% }else{out.print("密码输入不一致!!!<br>"+"重新<a href=\"registered.jsp\">注册</a>");}}}else {out.print("姓名不能为空");}}catch(Exception e){out.print(e);}finally{if(rs!=null)rs.close();if(stmt!=null)stmt.close();if(con!=null)con.close();}
%></body>
</html>

7.success.jsp

<%@page import="java.sql.*"%>
<%@page import="javax.sql.*"%>
<%@page import="javax.naming.*"%>
<%request.setCharacterEncoding("utf-8"); %>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>判断登录</title>
</head>
<body><%Context ctx = null;DataSource ds = null;Statement stmt =null;ResultSet rs = null;Connection con = null;String name = request.getParameter("name").trim();String password = request.getParameter("password").trim();try{ctx = new InitialContext();ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mysql");//mysql是在创建连接池时自己创建的名字  语句功能找到配置的数据库con = ds.getConnection();//创建数据库连接stmt = con.createStatement();rs=stmt.executeQuery("select * from user where name='"+name+"'");if(rs.next()){rs=stmt.executeQuery("select * from user where name='"+name+"' and password='"+password+"'");if(rs.next()){out.print(name+"登录成功");}else{out.print("密码输入错误!!!<br>"+"重新<a href=\"login.jsp\">登录</a>");}}else{out.print("<font color=red>"+name+"</font>用户不存在!!!<br>"+"请点击<a href=\"registered.jsp\">注册</a>");}}catch(Exception e){out.print(e);}finally{if(rs!=null)rs.close();if(stmt!=null)stmt.close();if(con!=null)con.close();}%></body>
</html>







另外还有登录时密码不正确的提示,以及注册时密码输入不一致的判断的功能,也可以去除注册时的空格。可以自己尝试一下这里就不做介绍了

JSP实现简单的用户登录和注册相关推荐

  1. java servlet 注册登录,JSP+JavaBean+Servlet实现用户登录与注册

    数据库 create database student; use student; create table user( id int primary key auto_increment, user ...

  2. 简单的java信息显示_JSP实现简单的用户登录并显示出用户信息的方法

    本文实例讲述了jsp实现简单的用户登录并显示出用户信息的方法.分享给大家供大家参考.具体实现方法如下: login.jsp string path = request.getcontextpath() ...

  3. jsp java servlet_jsp+java ,servlet如何实现用户登录和注册页面

    jsp+java servlet实现简单用户登录(使用数据库,包括注册页面) 功能介绍 本项目通过使用jsp和servlet实现简单的用户登录.主要逻辑为:如果用户不存在,则首先进行注册(注册信息同步 ...

  4. 【Spring+SpringMVC+Mybatis】利用SSM整合,完成用户登录、注册、修改密码系统

    近年来,由于Struts2+Hibernate3+Spring3,这套SSH框架,Struts2屡次爆出安全漏洞,Hibernate就只会推行它HQL那套而越来越远离SQL查询关系数据库的本质,所以S ...

  5. PHP+Mysql 实现用户登录,注册界面

    目标: 实现用户的登录 .注册 .修改密码.重置密码.添加书签,显示书签,删除书签 等功能 进一步目标: 实现对 用户输入信息的控制,具体表现在 对注册信息.登录信息的 的过滤,具有简单的防sql注入 ...

  6. 用python写注册登录界面web_用Python实现web端用户登录和注册功能

    这篇文章主要介绍了用Python实现web端用户登录和注册功能的教程,需要的朋友可以参考下 用户管理是绝大部分Web网站都需要解决的问题.用户管理涉及到用户注册和登录. 用户注册相对简单,我们可以先通 ...

  7. python123注册登录_用Python实现web端用户登录和注册功能的教程

    用户管理是绝大部分Web网站都需要解决的问题.用户管理涉及到用户注册和登录. 用户注册相对简单,我们可以先通过API把用户注册这个功能实现了: _RE_MD5 = re.compile(r'^[0-9 ...

  8. 一个简单的用户登录界面

    今天我们学习了如何实现一个简单的用户登陆界面,具体要用到两个jsp和一个servlet,具体操作如下: 首先创建一个用户登录界面,inputview.jsp,其源代码如下所示: <!DOCTYP ...

  9. Django用户登录与注册系统

    1.1.创建项目和app django-admin startproject mysite_loginpython manage.py startapp login 1.2.设置时区和语言 Djang ...

最新文章

  1. Ubuntu 虚拟机空间不足增加空间笔记
  2. AtCoder Regular Contest 062 E - AtCoDeerくんと立方体づくり / Building Cubes with AtCoDeer
  3. 处理字符串_14_SQL处理IN和合并后字符串案例详解
  4. junit测试设置不回滚_正确设置JUnit测试名称
  5. centos安装python3_CentOS安装Python3-阿里云开发者社区
  6. C语言 数据结构 实验二 线性表的链式存储及其操作
  7. 【电商】平台电商生态建设
  8. git push 提交失败
  9. mysql 商品规格表_商品规格分析
  10. funny_upload
  11. utils.data的使用
  12. android 10.0 禁止安装apk
  13. A2021-A2022年度项目总结(二)
  14. 进程间通信之面包师问题
  15. 第6天2021-08-13
  16. java 资源映射访问本地磁盘的文件或者访问项目静态资源
  17. 电能管理系统在惠氏公司的应用
  18. CROC 2016 - Elimination Round (Rated Unofficial Edition) B. Mischievous Mess Makers 贪心
  19. MPP数据库分区表详解
  20. 前端拖拽排序插件的实现——讲一个六耳猕猴和孙悟空的故事

热门文章

  1. JavaScript:inherits
  2. 微信公众号如何接入第三方在线客服
  3. C#实现 javascript中的 charCodeAt
  4. 人生赛道选择,分享一些规划
  5. 【牛客前端刷题】JS拔高篇
  6. 什么是ECMP、五元组、负载均衡
  7. codeforces 891C
  8. 用pyocd读写gd32f4系列mcu的otp区
  9. JET NFT 彰显不凡 热烈庆祝2022世界区块链JET NFT高峰论坛圆满落幕
  10. 网络协议:NTP:2:使用NTPD搭建NTP服务器