javaWeb

  • 作者自述
  • 实现步骤
      • jar包
      • 数据库的驱动以及用户密码
      • jsp页面
        • 登陆页面
        • 注册页面
        • 登陆成功和失败的页面
      • 工具类
      • 登陆的类
      • 注册的类
      • 两个映射路径
    • 思路
      • 登陆
      • 注册

作者自述

现在初学javaWeb,还没有学完,只学了一半中的一少半,这个小程序自我感觉还可以,如有更好的改进方法或者更简单的请为作者留言(不要嘲笑)

实现步骤

创建maven项目 配置Tomcat 这些都不细说了

jar包

因为要连接数据库所以一定要在maven项目下的xml文件下配置数据库的jar包依赖

    <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency>

这个千万不要忘了 重重之重

数据库的驱动以及用户密码

package com.li.Servlet.blit;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;public class JDBC {private static String url = null;private static String name = null;private static String password = null;static {try {Class.forName ( "com.mysql.cj.jdbc.Driver" );} catch (Exception e) {e.printStackTrace ( );}url = "jdbc:mysql://localhost:3306/zhiqingli?useUnicode=true&characterEncoding=utf8&useSSL=true";name = "root";password = "root";}public static Connection getConn() throws Exception {return DriverManager.getConnection ( url, name, password );}public static void release(Connection conn, PreparedStatement pst, ResultSet res) {try {if (res != null) {res.close ( );}if (pst != null) {pst.close ( );}if (conn != null) {conn.close ( );}} catch (Exception e) {e.printStackTrace ( );}}
}

这个类可以直接复制使用,但要改成自己的数据库名字

jsp页面

登陆页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<body>
<form action="${pageContext.request.contextPath}/test" method="get"><h3>账号:<input type="text" name="account"></h3><h3>密码:<input type="password" name="paw"></h3><h3><input type="submit" value="登陆"><a href="Register.jsp" target="_blank">注册</a></h3>
</form>
</body>
</html>

注册页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>注册</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/res" method="post"><h3>账号:<input type="text" placeholder="请输入注册的账号" name="number"></h3><h3>密码:<input type="password" placeholder="请输入注册的密码" name="word" id="one"></h3><h3>确认密码:<input type="password" placeholder="确认一遍密码" name="u" id="two"></h3><input type="submit" value="提交" οnclick="show()">
</form>
<Script>
function show(){var one = document.getElementById("one").value;var two = document.getElementById("two").value;if (one === two){alert("注册成功");window.open("index.jsp")}else {alert("两次输入的密码不一致");}
}
</Script>
</body>
</html>

登陆成功和失败的页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>成功页面</title>
</head>
<body>
<h1>登陆成功,感谢使用</h1>
</body>
</html><%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>失败页面</title>
</head>
<body>
<h1>登陆失败,账号密码找不到或者错误</h1>
</body>
</html>

工具类

工具人上线

//登陆使用的方法
Connection conn = null;PreparedStatement pst = null;ResultSet res = null;boolean isQ;public boolean Select(String username,String paw)  {try {conn = JDBC.getConn ( );String sql = "SELECT * FROM `username` where `name`=? and `password`=?";pst = conn.prepareStatement (sql);pst.setObject ( 1,username );pst.setObject ( 2,paw );res = pst.executeQuery ( );if (res.next ()){isQ = true;System.out.println (res.getObject ( "name" )+" "+res.getObject ( "password" ));System.out.println ("登陆成功");}else {isQ = false;System.out.println ("登陆失败");}}catch (Exception e){e.printStackTrace ();}finally {JDBC.release ( conn,pst,res );}return isQ;}//注册用的方法public void addUser(String name,String paw){try {conn = JDBC.getConn ( );String sql = "insert into `username`(`name`,`password`) values (?,?)";pst = conn.prepareStatement ( sql );pst.setObject ( 1,name );pst.setObject ( 2,paw );int i = pst.executeUpdate ( );if (i>0){System.out.println ("添加成功");}}catch (Exception e){e.printStackTrace ();}finally {JDBC.release ( conn,pst,res );}}

登陆的类

package com.li.Servlet.test;import com.li.Servlet.blit.Way;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 index extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String account = req.getParameter ( "account" );String paw = req.getParameter ( "paw" );Way way = new Way ();if (way.Select ( account,paw )){resp.sendRedirect ( "/s4/true.jsp" );}else {resp.sendRedirect ( "/s4/false.jsp" );}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet ( req, resp );}
}

注册的类

package com.li.Servlet.test;import com.li.Servlet.blit.Way;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 index02 extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String number = req.getParameter ( "number" );String word = req.getParameter ( "word" );String u = req.getParameter ( "u" );if (word.equals ( u )){Way way = new Way ( );way.addUser ( number,word );}else {//当两次密码不一致的时候浏览器响应给用户当前注册的页面resp.sendRedirect ( "/s4/Register.jsp" );}}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {doGet ( req, resp );}
}

两个映射路径

<!--登陆--><servlet><servlet-name>test</servlet-name><servlet-class>com.li.Servlet.test.index</servlet-class></servlet><servlet-mapping><servlet-name>test</servlet-name><url-pattern>/test</url-pattern></servlet-mapping>
<!--注册--><servlet><servlet-name>res</servlet-name><servlet-class>com.li.Servlet.test.index02</servlet-class></servlet><servlet-mapping><servlet-name>res</servlet-name><url-pattern>/res</url-pattern></servlet-mapping>

思路

登陆

这个就是用户输入的账号和密码看看数据库里有没有,
有的话就重定向到成功或这失败的页面,相当于浏览器响应给用户的请求结果

注册

相当于就是往数据库里面添加一个账号或者密码然返回到登陆页面
这里我在注册类面没有用到重定向,而是在注册的jsp页面里判断之后跳转到登陆页面
注意:这里为什么没在注册类里面用重定向
因为使用重定向之后就直接返回了登陆类运行的结果
(如有更好的思路,浏览作者 ! 谢谢)

javaWeb连接数据库实现简单的登陆注册功能相关推荐

  1. Android 实现简单的登陆注册功能(SharedPreferences和SQLite)

    最近刚好做了一个Android的登录注册界面,将数据利用SharedPreferences或者SQLite绑定到Android程序中,实现简单的登陆注册功能,本文未涉及到与服务器的交流. 首先,对于登 ...

  2. 关于unity连接MySQL数据库做一个简单的登陆注册系统

    这段时间为了大作业,作为一个菜鸟研究了好久的Unity连接数据库,那就整理一下然后写下来当作记录吧. 首先,unity连接MySQL要先在Assets板上创建pluging文件夹再导入一些必要的dll ...

  3. 利用Bmob快速实现安卓的简单登陆注册功能Bmobsdk3.6.9版本亲测可用(详细图文攻略附带处理小bug)

    前言:从其他人的留言中我知道Bmob这个云数据库,之前我一直在自己写后台但是发现太慢了要学的东西超级多,脚手架也不知道为什么老是搭不上很蛋疼,然后春节又必须回来老家山区里面有些事情耽搁了后台也凉了,后 ...

  4. 用户登陆注册功能(PHP)

    对于许多web应用程序而言,数据库都是其核心所在.数据库几乎可以用来存储所有你想要检索和更新的任何信息,下面是一个通过PDO操作MySQL数据库来实现用户登陆注册功能的案例 效果图展示: 这是登陆和注 ...

  5. android如何实现用户注册功能,Android 实现简单的登录注册功能(SharedPreferences和SQLite)...

    最近恰好作了一个Android的登陆注册界面,将数据利用SharedPreferences或者SQLite绑定到Android程序中,实现简单的登录注册功能,本文未涉及到与服务器的交流.java 首先 ...

  6. 使用JSP实现简单的登录注册功能,并且使用Session跟踪用户登录信息

    使用JSP实现简单的登录注册功能,并且使用了Session来跟踪用户的登录信息,这个是用纯JSP来实现此功能的,由于没有连接数据库,所以使用List来模拟数据库. 第一步:创建web项目 如果有不会创 ...

  7. Android studio连接MySQL并完成简单的登录注册功能

    近期需要完成一个Android项目,那先从与数据库交互最简单的登陆注册开始吧,现记录过程如下: 此篇文章的小demo主要涉及数据库的连接,以及相应信息的查找与插入. 我已将源码上传至GitHub: h ...

  8. Java实现简单的登录注册功能

    登录注册在项目开发中是常用的功能需求,以下使用控制台实现一个简单的登录注册功能. 实体类: package com.csdn.entry;public class User {//实体类,对应一个表p ...

  9. 小程序登陆注册功能的实现

    我们在开发小程序时,难免会用到登陆注册功能.通常小程序有为我们提供用户授权登陆的功能,但是这个只能获取用户的头像和昵称,我们该怎么样来实现小程序账号密码的注册和登陆呢,今天就来手把手的带大家学习小程序 ...

  10. Android借助bmob实现简单的登陆注册

    借助bmob实现简单的登陆注册 实现步骤 1注册bmob 2配置Bomb相关 3扩展自己的用户列表 4实现注册 5实现登陆 欢迎下载 https://github.com/kurumi2501314/ ...

最新文章

  1. 简谈 Java 中的泛型通配符
  2. https协议原理过程
  3. Django配置celery执行异步任务和定时任务
  4. python3安装教程-Python3+Scapy安装使用教程
  5. 3399 mysql_MySQL索引
  6. 数独游戏技巧从入门到精通_中国茶艺技巧:500集从入门到精通教程,视频+素材+笔记...
  7. SpringBoot2.1.5(14)---外部配置
  8. SAP License:员工离职分析
  9. hdu 5919--Sequence II(主席树--求区间不同数个数+区间第k大)
  10. 什么是CSS网页切图
  11. 基于微信小程序的驾校考试系统设计与实现毕业设计毕设开题报告参考
  12. Paper Reading: Re-ranking Person Re-identification with k-reciprocal Encoding
  13. 求最大值 最小值 下标 及格率 c语言,输入某班的C语言成绩,计算输出其及格率...
  14. Django实现websocket聊天室
  15. 开始写博客之学习编程的重要性
  16. C++学习(一五九)Qt的场景图Scene Graph
  17. 毕业四年后的程序员继续租房子
  18. 凸包问题 —— Graham扫描法
  19. 京东淘宝天猫户外服饰行业数据分析(电商数据查询软件)
  20. 中国石化广西石油在加油站增设“爱心驿站”

热门文章

  1. 模拟银行排队叫号机 2011.04.18
  2. 【Microsoft Azure 的1024种玩法】五十五.Azure speech service之通过JavaScript快速实现文本转换为语音
  3. OV5640摄像头驱动开发讲解
  4. detours介绍与使用
  5. 国际象棋渲染测试软件,多线程运算效能Fritz国际象棋测试_CPUCPU评测-中关村在线...
  6. 基于Java毕业设计智能旅游电子票务系统演示录像2020源码+系统+mysql+lw文档+部署软件
  7. 高频DC-DC变换器中的磁件设计
  8. phpspider案例
  9. wgs84转cgcs2000 java_CGCS2000坐标系与WGS84的相互投影转换
  10. visio-软件程序流程图规范