java web 登录界面案例_【JavaWeb】74:写一个登录案例

今天是刘小爱自学Java的第74天。

感谢你的观看,谢谢你。

话不多说,开始今天的学习:

193930936_1_20200627081208755_wm

Java又常被称之为后台开发。

什么叫后台呢?除了后台还有什么前台、前端后端……

这些概念一大堆,还容易弄混。

以一个三层架构的知识点来引出我对于后台的理解。

理解肯定是很浅薄甚至是有问题的,但只能说以我当前的知识水平,这样去理解更便于记忆。

随着今后的学习过程中不断地将概念完善。

一、三层架构

Java后台就相当于一个Java服务器,它的作用在于将数据库和前端(或者说浏览器或者说网页)连接起来了。

如何连接起来的?也就是三层架构,画图说明:

193930936_2_20200627081208834_wm

①Web层

也叫展示层,是和前端打交道的。

至于前端到底指的什么,目前还不是太清楚。

我所理解的前端就是和浏览器挂钩的,我此时也只能这么理解,至于什么http,css我也暂时还不懂。

不过马上也要进入前端的学习了。

②Service层

又叫业务层,用来处理具体的业务逻辑。

从数据库中查到数据,但有时需要对其做一定的处理。

这些业务逻辑的编写就在业务层中。

③Dao层

又叫数据持久层,全称就是Data access object,数据访问对象,也就是和数据库打交道的。

这段时间一直在学习的Jdbc就是这一层里的代码。

所以整个流程是:从数据库中查询到数据,然后经过具体业务逻辑处理,再返回给Web层经过渲染成为网页,最后能给用户直接观看。

其中编写的代码存放的包也有一个规范:

193930936_3_20200627081208974

①beans包

也就是一个JavaBean,说白了就是对应数据库中某个表的一个类,需要操作多少表就对应多少个类。

②dao包

也就是上述的数据持久层。

③service包

也就是上述的业务逻辑层。

④utils包

就是存放工具类的包,就比如这段时间自定义的一个Jdbc工具类JdbcUtil。

⑤web包

也就是上述的展示层。

二、编写一个登入案例

关于这三层架构代码的编写顺序,本来我是觉得从Dao层开始更好理解的。

先查询数据,再经过业务处理,最后返回给Web层。

这不是很好么?

但是呢,又有人说从Web开始更符合实际开发情况,emm……行吧,就从web层开始。

其实从Web层开始或者Dao层开始都可以,别从Service层开始就行。

1Web层

193930936_4_202006270812095_wm

①模拟登录页面

因为还没有学前端的知识,所以用Scanner类来模拟一个登录页面。

②调用服务层实现登录操作

服务层中有一个方法叫login():

参数即①中的用户名和密码.。

返回值即从数据库中查询到的数据。

③判断结果

如果返回值不存在,也就是说用户输入的用户名或者密码在数据库中查询不到。

那么提示用户:用户名或者密码不正确。

2Service层

193930936_5_20200627081209271_wm

因为登录案例这个例子非常的简单,没有具体的业务逻辑,只需要查询数据库就好了。

所以代码编写也非常地简单,直接调用Dao层查询数据库的方法即可,其中方法要见名知意:

queryUserByNameAndPwd()也就是根据name和pwd来查询用户。

3Dao层

193930936_6_20200627081209318_wm

根据web层中输入的用户名和密码,从数据库中查询出对应的数据。

也就是Jdbc代码的编写,这里使用的是JdbcTemplate,因为前两天一直都在学习这其中的代码,就不再赘述了。

三、代码测试

代码编写完毕,做一个测试。

193930936_7_20200627081209505_wm

①测试一

用户名和密码在数据表中确实存在,故登录成功。

②测试二

用户名密码不正确,故登录失败。

以上便是对于三层架构的初步学习,以及一个简单登录案例的编写。

先对其有一个初步的印象,随着后面的学习,再将三层架构不断地完善。

最后

谢谢你的观看。

如果可以的话,麻烦帮忙点个赞,谢谢你。

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

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

相关文章

7种JIRA集成可优化Java开发流程

有哪些最佳集成可以用来优化JIRA工作流程? 我喜欢寻找在工作流程中提高效率的方法。 看着那些小的自动化和流畅的流程,使我的脸上露出笑容。 我知道我并不孤单,偶尔花更多的时间来获得一点点提升以使其正常工作,而不是最终节省了我…

hive处理日志,自定义inputformat

开放环境,hadoop-0.20.2,hive-0.6 1.日志分隔符 Xml代码 2010-05-31 10:50:17|||61.132.4.82|||http://www.360buy.com/product/201185.html 2010-05-31 10:50:17|||61.132.4.82|||http://www.360buy.com/product/201185.html分隔符是“ ||| ”&#xf…

将ActiveMQ持久消息传递性能提高25倍

Apache ActiveMQ,JBoss A-MQ和Red Hat Apache ActiveMQ是一个非常受欢迎的开源消息传递代理,由创建(和工作) Apache Karaf , Apache Camel , Apache ServiceMix以及许多其他工具的人提供给您。 它拥有一个充…

ECMA学习小结(3)——constructor 和 prototype

每个函数都有一个prototype的属性,当我们以这个函数为构造函数创建实例时(即用new的形式),创建出来的这个对象是没有prototype的属性的。以下代码为例:在console里进行调试cf 拥有一个prototype的属性,这个…

java什么是网络接口_java 网络编程 -- IP地址的表示与网络接口信息的获取(InetAddress和NetworkInterface)...

使用java进行网络程序的开发,可以说是一件令人愉悦的事情,对于用惯了C网络接口编程的人来说,当他们首次使用Java开发网络应用程序,会发现java开发网络应用是如此的简单,甚至仅用几分钟时间,您就可以学会这种…

如何使用悲观锁定修复乐观锁定竞争条件

概括 在我以前的文章中 ,我解释了使用显式乐观锁定的好处。 然后我们发现,在很短的时间范围内,并发交易仍可以在我们当前交易被提交之前立即提交产品价格更改。 此问题可以描述如下: 爱丽丝拿产品 然后,她决定订购…

SWT外观:自定义FlatScrollBar颜色等

最近,我引入了一个自定义滑块控件 ,该控件可用于改善SWT外观和更细微的视图布局的感觉。 令人高兴的是,该小部件似乎已经在Code Affine世界之外找到了较早的采用者 。 这导致了一些增强 ,这些增强将在以下各节中介绍。 SWT滚动条…

java虚拟机编译_[四] java虚拟机JVM编译器编译代码简介 字节码指令实例 代码到底编译成了什么形式...

前言简介前文已经对虚拟机进行过了简单的介绍,并且也对class文件结构,以及字节码指令进行了详尽的说明想要了解JVM的运行机制,以及如何优化你的代码,你还需要了解一下,java编译器到底是如何编译你的代码的本文不是从最底层的编译原理讲解本文是针对java代码,去查看归纳总结编译…

提高性能:流的非阻塞处理

1.简介 想象一下,我们有一个需要访问外部Web服务的应用程序,以便收集有关客户端的信息,然后对其进行处理。 更具体地说,我们无法在一次调用中获得所有这些信息。 如果我们要查找不同的客户端,则需要多次调用。 如下图…

CDI和EJB:在事务成功时发送异步邮件

再一次问好! :) 这次,我选择了一项常见任务,我认为大多数情况下都以错误的方式完成:发送电子邮件。 并非所有人都不知道电子邮件API的工作方式,例如JavaMail或Apache的commons-email 。 我通常看到的一个问题是&#…

使用默认方法的界面演变–第一部分:方法

几周前,我们详细研究了默认方法 -Java 8中引入的一项功能,该功能允许为接口方法提供实现,即方法主体,从而定义接口中的行为。 引入此功能是为了实现接口演进 。 在JDK的上下文中,这意味着在不破坏所有代码的情况下向接…

java两个和三个_Java语言基础(day_03)

数据类型中补充的几个小问题1)在定义Long或者Float类型变量的时候,要加L或者f。整数默认是int类型,浮点数默认晨double。byte,short在定义的肘候,他们接收的某实是一个int类型的值。这个是自己做了一个数据检测的,如果…

在Websphere 8.0上安装Liferay 6.2 Enterprise Edition

为Liferay准备Websphere 当应用服务器二进制文件均已安装完毕,启动WebSphere应用服务器(WAS) 配置文件管理工具来创建一个配置文件适用于Liferay的和遵循的指示说明这里正式Liferay的文档。 这些说明用于在Websphere 8.5上安装Liferay 6.2&am…

java完数流程图_编程基本功训练:流程图画法及练习

对于“程序设计”的工作,许多初学者的理解就是“写代码”。同样,新手们苦恼的问题是,他们只会“写代码”。当接到一个新的任务,不少人总是在第一时间就爬到键盘上去敲代码。敲着敲着,就把自己绕糊涂了。头晕脑胀地坚持…

java开发环境搭建 pdf_01搭建java web开发环境.pdf

01搭建java web开发环境.pdf还剩19页未读,继续阅读下载文档到电脑,马上远离加班熬夜!亲,很抱歉,此页已超出免费预览范围啦!如果喜欢就下载吧,价低环保!内容要点:( 7)在 M…

在AWS Elastic MapReduce上运行PageRank Hadoop作业

在上一篇文章中,我描述了执行PageRank计算的示例,该示例是使用Apache Hadoop进行Mining Massive Dataset课程的一部分。 在那篇文章中,我接受了Java中现有的Hadoop作业,并做了一些修改(添加了单元测试,并通…

java sort 第二个参数_详解java Collections.sort的两种用法

Collections是一个工具类,sort是其中的静态方法,是用来对List类型进行排序的,它有两种参数形式:public static > void sort(List list) {list.sort(null);}public static void sort(List list, Comparator super T> c) {lis…

MVC3 中使用Unity实现依赖注入

前言:前段时间一直在研究依赖注入,不过不是在MVC框架中使用,今天突然想到在MVC中使用Unity实现依赖注入,一时慌了,不知道从何下手,接着就是网上不停的找资料,下面我把我找到的资料分享下&#x…

ms2005 SQL Server设置改为SQL Server身份验证

1.为 SQL Server 2005 Express Edition 或 SQL Server 2005 Developer Edition 启用远程连接 必须为要从远程计算机连接到的每个 SQL Server 2005 实例启用远程连接。为此,请按照下列步骤操作: 1.单击“开始”,依次指向“程序”、“Microsoft…

在Graphite中存储Hystrix的几个月历史指标

Hystrix的杀手级功能之一是低延迟,数据密集型且美观的仪表板 : 即使这只是Hystrix实际操作的副作用(断路器,线程池,超时等),它也往往是最令人印象深刻的功能。 为了使其工作,您必须…