基础知识准备:sql的增删改查。

新增:insert into 表名称(字段名.....)values(字段名....)。

修改:update 表名称 set  字段名=“新值” where  字段名=“新值”。

删除:delete from 表名称 where 字段名=“新值”。

查询单个:select 字段名称 from 表名称 where 字段名=“新值”。

查询所有:select 字段名称 from 表名称。

本实例采用的是MVC的设计模式,首先建立工程结构:

然后依次写实体模型层entity,数据持久层dao,业务逻辑层service,(这里添加一个测试包test,测试业务层的方法)控制层controller。前端页面显示层jsp。

实体模型层代码:

数据持久层的接口代码:

数据持久层的实现:

在实现数据持久层之前必须先进行数据库的链接:

 这里为了更好地体现工程的低耦合的特性,数据库采用属性文件的方式来连接数据库,数据库属性文件db.properties

连接数据库的工具类DBUtil:

业务逻辑层的接口:

业务逻辑层的实现:

采用单元测试的方式对业务层的进行测试:

控制层的实现:

web.xml里面配置查询所有用户的servlet

前端页面显示:

jsp页面代码:

下面是最最重要的登录功能的实现:

首选写登陆的servlet类

登录的jsp页面:

登录的servlet类在web.xml里面的配置

最后主要是,配置登陆的过滤器Filter。首先要明白过滤器filter是当工程一旦在Tomcat上运行,它就开始工作的,也就是说当用户还没在地址栏输入URL之前filter已经开始拦截用户的请求。登录过滤器的思路分析:

首先必须让登陆的servlet类login.dao和登录页面login.jsp通过拦截器,获取请求的路径然后将路径进行截取,然后将路径与login.jsp和login.dao惊行匹配,相等则通过过滤器。最后获取请求的Session里的用户参数对象,判断参数是否为空,为空就重定向到登录页面,否则就通过过滤器。

这样整个登录拦截就实现了,当用户在前端页面想直接获取所有用户信息就必须要先登录成功才可以看到用户信息。第一次写博客,不足之处多多包涵~~~

 

 

 

 

 

 

 

jdbc+servlet+jsp实现登录验证的更多相关文章

  1. JDBC+Servlet+jsp(增删查改)

    先在mysql新增数据库和表先,把下面的几句代码复制去到mysql运行就可以创建成功了!  创建数据库 create database jdbc01 character set utf8 collat ...

  2. Servlet+jsp用户登录加上验证码

    最近公司有个项目被客户拿去进行漏洞扫描,发现用户登录太简单,容易被暴力破解.当然发现的问题很多,什么反射型XSS,存储型XSS,敏感信息泄露等等.但是我们今天不讲这么多,就说说如何修复暴力破解的问题. ...

  3. 简单的员工管理系统(Mysql+jdbc+Servlet+JSP)

    员工管理系统 因为学业要求,需要完成一个过关检测,但是因为检测之前没有做好准备,且想到之前用mysql+jdbc+Struts2+bootstrap做成了一个ATM系统(主要有对数据的增删改查操作), ...

  4. jsp 中登录验证 注销 的模版

    用户名密码验证模版     <%@page import="com.jerehedu.bao.User"%> <%@ page language="ja ...

  5. JDBC+Servlet+JSP实现基本的增删改查(简易通讯录)

    前言: 最近学习JavaWeb的过程中,自己实践练手了几个小项目,目前已经上传到我的Github上https://github.com/Snailclimb/JavaWebProject.目前只上传了 ...

  6. layui使用html+servlet+ajax实现登录验证

    我们一般使用的都是form表单提交到Servlet来实现前端和后端的交互的.这次我使用的是ajax提交数据,实现登录操作. 首先我们需要的是一套layui模板,这里用到layui的js和css界面. ...

  7. JDBC 制作简单的登录验证

    两种方法: 一.直接拼接到SQL语句 public static void main(String[] args) throws Exception{ //输入账号密码 Scanner sc = ne ...

  8. JDBC+Servlet+JSP的学生案例增删改查

    数据库信息传输到页面实现. 先进行学生信息页面展示: 接口IStudentDao public interface IStudentDao { /** * 保存操作 * @param stu 学生对象 ...

  9. 初涉JSP+JDBC 基于SQL2008的登陆验证程序

    简单的以代码的形式纪念一下,因为现在还没有解决SQL2008驱动的问题,并且有好多东西要学,所以日后会有更新~ 所安装的软件有:SQL2008,eclipse,tomcat,JDK,涉及环境配置.等等 ...

随机推荐

  1. python文件操作及os模块常用命令

    1.文件打开 文件句柄 = open('文件路径', '模式') 2.文件操作 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 三种基本 ...

  2. JAVA9模块化详解(二)——模块的使用

    JAVA9模块化详解(二)--模块的使用 二.模块的使用 各自的模块可以在模块工件中定义,要么就是在编译期或者运行期嵌入的环境中.为了提供可靠的配置和强健的封装性,在分块的模块系统中利用他们,必须确定 ...

  3. 小白的Python之路 day2 字符编码和转码

    字符编码和转码 详细文章: http://www.cnblogs.com/yuanchenqi/articles/5956943.html http://www.diveintopython3.net ...

  4. Mac 终端——常用命令语

    mac系统如何显示和隐藏文件 苹果Mac OS X操作系统下,隐藏文件是否显示有很多种设置方法,最简单的要算在Mac终端输入命令.显示/隐藏Mac隐藏文件命令如下(注意其中的空格并且区分大小写): 显 ...

  5. win10 下 学习 xe10 误以为调试失效

    1. XE里面运行的有两个按扭,你点后面一个,就是debug 的了,前面一个是直接运行,不一样的!,被delphi7老思维导向错了  1)绿色箭头是直接运行,快捷键:ctrl+shfit+F9  2) ...

  6. IntelliJ IDEA如何设置头注释,自定义author和date

    下面这张图,保证你一看就会: 下面这个模板,你拿去改一改就行了. /** * @Author: Gosin * @Date: ${DATE} ${TIME} */ 如果觉得上面名字下面的波浪线碍眼,可 ...

  7. Python模块之pickle(列表,字典等复杂数据类型与二进制文件的转化)

    1.pickle模块简介 The pickle module implements binary protocols for serializing and de-serializing a Pyth ...

  8. geoserver发布地图服务WMTS

    WMTS: 切片地图web服务(OpenGIS Web Map Tile Service) WMTS提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案.WMTS弥补了WMS不能提供分块地图的 ...

  9. csdn博客被删除联系客服恢复

    前几天写了篇"如何使用shadowsocksFQ",居然被删除,我很郁闷,客服给我的回答是"影响了客户体验,网安查的严,不能带有FQ的信息出现" 我一直很郁闷, ...

  10. IT服务(运维)管理实施的几个要点--第一章 IT服务质量的标准

    子曰"干的最好就是个60分,稍有纰漏就是不及格" 谈一个事情,最先要谈的就是统一标准,又或者这个标准已经约定俗成,广泛认可,所以就可以略过.对于IT服务质量来说,确实有一个统一的标 ...