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

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

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

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

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

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

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

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_表名

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

实体模型层代码:

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_数据持久_02

数据持久层的接口代码:

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_数据持久_03

数据持久层的实现:

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_字段名_04

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_字段名_05

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_字段名_06

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_数据持久_07

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_字段名_08

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

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

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_字段名_09

连接数据库的工具类DBUtil:

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_字段名_10

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_数据持久_11

业务逻辑层的接口:

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_字段名_12

业务逻辑层的实现:

 

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_表名_13

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

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_表名_14

控制层的实现:

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_字段名_15

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

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_表名_16

前端页面显示:

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_字段名_17

jsp页面代码:

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_字段名_18

 

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

首选写登陆的servlet类

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_字段名_19

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_字段名_20

登录的jsp页面:

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_数据持久_21

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

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_数据持久_22

 

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

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

jap MVC架构与Servlet请求转发 servlet+jsp+jdbc_表名_23

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