基础知识准备: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. 自学Zabbix3.9.2-模板Templates-linking/unlinking

    自学Zabbix3.9.2-模板Templates-linking/unlinking HOST链接模板之后,便继承了模板里定义的item,trigger等等,使用这个方法,配置zabbix监控会减少 ...

  2. 大数据学习(8)Hive基础

    什么是Hive Hive是一个基于HDFS的查询引擎.我们日常中的需求如果都自己去写MapReduce来实现的话会很费劲的,Hive把日常用到的MapReduce功能,比如排序.分组等功能进行了抽象, ...

  3. SLAM入门之视觉里程计(2):相机模型(内参数,外参数)

    相机成像的过程实际是将真实的三维空间中的三维点映射到成像平面(二维空间)过程,可以简单的使用小孔成像模型来描述该过程,以了解成像过程中三维空间到二位图像空间的变换过程. 本文包含两部分内容,首先介绍小 ...

  4. hash_equals()函数

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/92 了解下hash_equals的概念: bool hash_e ...

  5. Android 再按一次退出程序三种办法

    在Xamarin android中双击返回键退出程序的第一种做法 思路就是当用户按下返回键的时间超过两秒就退出,根据Keycode.Back判断用户按下的是返回键,重写这个OnKeyDown Date ...

  6. 优化css选择器

    1.css选择器效率排行从高到低如下: id选择器(#head) 类选择器(.content) 标签选择器(p,h1) 相邻选择器(h1+p) 子选择器(ul < li)

  7. > library('ggplot2') Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : 不存在叫‘colorspace’这个名字的程辑包

    > library('ggplot2')Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : ...

  8. 搭建redis cluster

    1  下载 redis安装包 tar zxvf redis-3.0.2.tar.gz cd redis-3.0.2/ make make install 2安装ruby sudo apt-get in ...

  9. linux大文件分包压缩和批量解压命令tar // tar 排除指定目录

    压缩命令主要用到tar打包和split分割,命令如下: tar czf - aaa | split -b 1024m - bbb.tar.gz_ aaa可以是文件也可以是目录, 大小可以是b.k.m这 ...

  10. vue-router源码学习(一)

    因为v3.01版本中的   /src代码使用TypeScript进行书写,我这里仅仅用作模块学习, 具体学习的还是 /dist/vue-router.js 代码. (一)基本使用方式 JS代码 // ...