仅用于登录功能的分析,代码不全。
登录流程的梳理分析:
1.用户访问登录页面->
2.输入用户名和密码,点击登录(通过form表单的action提交,访问请求地址 login)->
3.转到login处理类LoginServlet (/login)->
•3.1接收参数
•3.2调取service:UsersServiceImpl负责调取UsersDao层,UsersDao层负责向数据库中传输:
UsersDaoImpl->
extends DBUtils->
调用query()方法获得结果集resultSet->
resultSet判空或取值,结果返回给login->
赋给Users对象->
根据users是否为空进行页面的跳转
1.分析静态页面,根据html或需求创建数据库
2.填写测试数据
3.创建项目,包结构
3.1包结构
bean,dao.impl,servlet,service.impl,util
3.2修改html页面为jsp
html->jsp:
(1)在html中添加page指令
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
(2)将html的后缀改为jsp
4.填写内容(注意填写顺序)
4.1 bean
bean:创建实体类(与数据库相关)
属性、封装方法、无参构造、全参构造
命名:表名=类名,列名=属性名
另外注意:一对多和多对一的关系
例如:年级与学生是一对多的关系,则:
•在Grade中定义:
private List<Student> studentList;
•在Student中应当有Grade的对象:
private Grade grade;
最后在各类中添加相应的Getter and Setter方法。
4.2 dao
dao:创建1.操作方法的接口 2.impl包
4.2.1 操作方法的接口:
命名:实体类名+Dao
4.2.2impl包
命名:接口名+Impl
实现接口,继承DBUtils
public class 接口名+Impl extends DBUtils implements 接口名{
}
4.3 配置文件、DBUtils、lib包
将DBUtils包放入dao包下;
配置文件:文件名.properties,放入src下
lib包:放入WEB-INF下,添加依赖
4.4 service
service:创建1.service接口 2.impl包
4.4.1 service接口
命名:实体类名+Service
接口中的方法和dao包接口中的方法一致
4.4.2 impl包
命名:service接口名+Impl
这层的实现类主要负责调取dao层方法
5登录功能的实现(servlet的实现)
5.1 UsersService、UsersDao、UsersServiceImpl、UsersDaoImpl的操作
5.1.1 UsersService中定义登录方法,并复制到UsersDao中
public Users login(String username,String password);
5.1.2 添加实现类
•在UsersServiceImpl中添加相应方法
说明:service层相当于业务层,如果功能点业务较为复杂,可以把业务逻辑放到类中进行包装
public class UsersServiceImpl implements