用HTML做一个简单的web登录页面,简单的JavaWeb注册登录案例

简单的JavaWeb注册登录案例

1.注册页面register.html

register

姓名:

电话:

邮箱:

qq:

45b9d9ca1f536dfdbb077d5de0f96d21.png

2.注册案例实现程序register.java

/**

* 注册案例实现程序

* @author lucky

*

*/

public class register extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) {

//获取表单提交过来的信息

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

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

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

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

//调用database中的insert方法,将新用户添加到数据库中

database db = new database();

try {

db.insert(username, telephone, email, qq);

} catch (Exception e) {

e.printStackTrace();

}

}

}

3.登录页面enter.html

Insert title here

用户:

密码:

9a064bebfa1adee29af05ca371afe432.png

4.登录案例实现程序enter.java

/**

* 登录案例实现代码

* @author lucky

*

*/

public class enter extends HttpServlet{

public void doGet(HttpServletRequest request,HttpServletResponse response) {

//获取表单提交的信息

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

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

//标记,i=2:出现错误 i=1:登录成功 i=0:登录失败

int i = 2;

//调用database方法read查询数据库

//用户名密码(qq)匹配则i=1 不匹配则i=0

database db = new database();

try {

i = db.read(username, qq);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println(i);

}

}

5.数据库操作相关程序database.java

/*

* 数据库操作相关程序

*/

public class database {

/*

* 用户注册,像数据库中添加信息

*/

public void insert(String username,String telephone,String email,String qq) throws Exception {

//连接池

ComboPooledDataSource cp = new ComboPooledDataSource();

Connection conn = cp.getConnection();

String sql = "insert into user(username,telephone,email,qq) values(?,?,?,?);";

//语句预编译执行者

PreparedStatement pt = conn.prepareStatement(sql);

//插入参数

pt.setString(1, username);

pt.setString(2, telephone);

pt.setString(3, email);

pt.setString(4, qq);

//执行sql语句,输出结果

int i = pt.executeUpdate();

System.out.println(i);

}

/*

* 用户登录 向数据库查询用户输入信息是否正确

*/

public int read(String username,String qq) throws Exception {

ComboPooledDataSource cp = new ComboPooledDataSource();

Connection conn = cp.getConnection();

//通过提交的用户名对比查询相应的qq 结果一致则输入正确 不一致则输入错误

String sql = "select qq from user where username = ?;";

//用pwd接受数据库中查询出来的qq信息

String pwd = null;

PreparedStatement pt = conn.prepareStatement(sql);

pt.setString(1, username);

//re接收结果集

ResultSet rs = pt.executeQuery();

//对比qq信息是否一致

while(rs.next()){

pwd = rs.getString("qq");

System.out.println("qq"+pwd);

}

//输出结果

if(pwd.equals(qq)) return 1;

elsereturn 0;

}

}

6.web.xml

registerenter

register

web.register

register

/register

enter

web.enter

enter

/enter

新人学习记录,有问题可以一起探讨。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532189.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一层循环时间复杂度_算法的时间与空间复杂度(一看就懂)

算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别。那么我们应该如何去衡量不同算法之间的优劣呢&…

用ajax替换html代码,替换Ajax响应一个div的内部HTML(Replace inner HTML of a div w

我试图一些时间间隔后改变一个div的内部HTML。 我得到我想要使用Ajax正确的反应。 但无法取代内HTML的后,并用Ajax响应地选择。 什么是错我的代码..HTML51 seconds ago58 seconds ago.....10 minute agoĴ查询setInterval(function() {$( ".time" ).each(…

java 审批流_一文读懂工作流

网上关于工作流引擎有比较多的简介,也有很多工作流的实际应用场景。本文结合笔者多年对工作流的经验来阐述一下对工作流的理解。一、什么是工作流?先贴上wiki百科对于工作流的定义工作流(Workflow),是对工作流程及其各…

postgresql 查询序列_时间序列数据库(TSDB)初识与选择

作者:码哥字节 如需转载联系我的公众号背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词。大数据、人工智能、物联网、机器学习、商业智能、智能预警啊等等。以前的系统,做数据可视化,信息管理,流程控制…

concurrenthashmap实现原理_Mybatis:PageHelper分页插件源码及原理剖析

PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件,其实我并不想加上好用两个字,但是为了表扬插件作者开源免费的崇高精神,我毫不犹豫的加上了好用一词作为赞美。原本以为分页插件,应该是很简单的,然而PageH…

计算机网络dst,计算机网络基础课程—Socket接口

什么是TCP/IP------本课程的主要部分TCP/IP如何工作-----TCP/IP软件结构与实现如何用TCP/IP-------TCP/IP应用程序编程接口前面说过,TCP/IP标准并不指定应用程序与TCP/IP协议软件的接口,但并不是说没有提供任何指导,首先,它指定了…

python输入圆的半径公式_[图文]铁路曲线正矢的计算公式

一、圆曲线正矢的计算1.1 圆曲线正矢的计算公式取圆曲线上两点拉一直线,叫做弦。弦上任意点至曲线上的垂直距离叫矢或叫矢距。在弦中央点的矢距叫正矢(下图)。AB一弦;AC、CB一半弦;CD一正矢;EF一矢距正矢计算公式为其中: f-正矢 C-弦长 R-半径 式中单位均为m。公式用文字表示即…

docker 安装nacos_康过来!Nacos配置和管理微服务的使用

Nacos 具有如下特性:服务发现和服务健康监测:支持基于DNS和基于RPC的服务发现,支持对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求;动态配置服务:动态配置服务可以让您以中心化、外部化和动态化的方式管…

matlab中如何调用gpu进行并行计算_极致安卓-Termux/Aid learning开启WebGL手机GPU并行计算...

在我的之前的测评中,我利用Termux和Aid Learning测试过基于C/C的openmp并行程序,基于Java的并行程序,还有基于MPI以及基于Java的分布式集群并行。但是很遗憾,一直无法成功开发基于OpenCL的GPU并行编程。这是主要是因为Android并没…

python默认编码方式_关于设置python默认编码方式的问题

2019-8-27 07:45:36 本帖最后由 傻纸 于 2019-8-27 10:02 编辑 查了一会资料得出的结论是如果你用的是python3.x,那么就最好别去设置sys.defaultencoding或者sys.stdout.encoding 记住在需要编码的时候用encode,解码的时候decode就可以了。。。 这个问题…

计算机科学与技术是属于什么学科,计算机科学与技术专业属于什么大类 属于哪个学科...

近日,有很多人咨询小编计算机科学与技术专业属于什么大类 属于哪个学科?现在小编统一回复一下大家计算机科学与技术专业属于工学类,下面是关于计算机科学与技术专业详细的介绍。1计算机科学与技术专业门类及学科介绍专业名称专业代码门类学科…

matlab imread_MATLAB图像处理:29:在几何变换输出中指定填充值

本示例说明如何指定imwarp执行几何变换时使用的填充值。执行转换时,输出图像中通常会有一些像素不属于原始输入图像。必须为这些像素分配一些值,称为填充值。默认情况下,imwarp将这些像素设置为零,并显示为黑色。使用FillValues参…

micopython 18b20_MicroPython控制8*8LED点阵显示温度

MicroPython顾名思义就是可以在单片机上跑的Python,借助Micro Python,用户完全可以通过Python脚本语言实现硬件底层的访问和控制,比如说控制LED灯泡、LCD显示器、读取电压、控制电机、访问SD卡等。目前支持MicroPython的开发板有好几种&#…

ip变更会影响账号登陆吗_【教程】PUBG账号被盗导致封禁申诉解封教程

很多朋友询问PUBG在被盗号后被盗号者开挂导致永封该如何申诉解封,现在结合一些玩家被盗号及成功申诉的经历,详列一下步骤。本方法只适用于被盗后开挂导致封禁的账号,那些自己开挂被封的孤儿不用往下看了。一.先向steam客服申诉 找回自己的ste…

滤镜怎么调_手机、电脑怎么剪辑视频?真心求推荐实用工具

自从加入了短视频自媒体运营这个行业以后,我就开始接触到各种各样的手机、电脑视频剪辑、制作软件,用它们来处理、完成被安排到的工作任务。很多时候,我也用它们来剪视频,借此来练练手、积累下素材。记得刚进入这个行业的时候&…

2021计算机基础知识题库,2021~2021计算机基础知识练习题

2021~2021计算机基础知识练习题 2021~2021计算机基础知识练习题 北京联合大学 2021~2021计算机基础知识练习题 一、选择题 1.记录在存储介质上的一组相关信息的集合称为______。 A)程序 B)磁盘 C)软件 D)文件 2.当一个文件更名后,文件的内容会______。 A)完全消失 B…

计算机背板知识,你知道背板的选购技巧吗?

原标题:你知道背板的选购技巧吗?背板就是母板,子板插在上面构成系统,计算机背板说成背板也成立,只不过背板更多的知识线路板而已,没有实际的器件,只起信号通路作用。背板在设备机箱的后面。一般…

git 切换分支_git 入门教程之分支总览

分支就是一条独立的时间线,既有分支,必有主干,正如一棵树谈到树枝,必有树干一样的道理.我们先前对git 的全部操作默认都是在主干上进行的,这个主干也是一种特殊的分支,名为 master 分支.无论是穿越历史还是撤销更改,我们都或多或少接触过时间线,git 管理的版本串在一起就组成了…

正在锁定计算机 win7转圈圈打不开,Win7网络连接图标一直转圈的原因和解决方法...

Win7网络连接图标一直转圈是什么情况?如果用户发现Win7系统中的网络图标一直处在转圈状态,则表示该网络不能正常加载,且无法识别,笔者通过检查发现网络依赖的服务Network List Service没有自动启动,启动之后可解决该问…

jvm内存模型和java内存模型_JVM运行时内存模型综述

JVM内存模型JVM分为五个区域:虚拟机栈、本地方法栈、方法区、堆、程序计数器。JVM不同区域的占用内存大小不同,一般情况下堆最大,程序计数器较小。JVM五个区中虚拟机栈、本地方法栈、程序计数器为线程私有,方法区和堆为线程共享区…