Servlet + JDBC 应用
在 Servlet 中可以使用 JDBC 技术访问数据库,常见功能如下:
- 查询 DB 数据,然后生成显示页面,例如:列表显示功能。
- 接收请求参数,然后对 DB 操作,例如:注册、登录、修改密码等功能。
为了方便重用和便于维护等目的,经常会采用 DAO(Data Access Object)模式对数据库操作进行独立封装。
DAO 工厂(工厂模式):工厂类封装了对象的创建细节,为调用者提供符合要求的对象。
重定向和转发
重定向的概述
概念
首先客户浏览器发送 http 请求,当 web 服务器接受后发送 302 状态码响应及对应新的 location 给客户浏览器,客户浏览器发现是 302 响应,则自动再发送一个新的 http 请求,请求 url 是新的 location 地址,服务器根据此请求寻找资源并发送给客户。
实现
实现重定向需要借助 javax.servlet.http.HttpServletResponse 接口中的方法:
void sendRedirect(String location) 使用指定的重定向位置 URL 向客户端发送临时重定向响应
原理
当执行添加页面功能时,浏览器发送 add.do 请求给 Tomcat 服务器;
Tomcat 服务器的 AddServlet 收到 add.do 请求后,先访问数据库 DB 执行插入新数据的操作,然后发送 302 状态码及重定向的新地址 Location: list.do 信息到浏览器;
浏览器根据新地址发送 list.do 请求给 Tomcat 服务器;
Tomcat 服务器的 ListServlet 收到 list.do 请求后,先访问数据库 DB 获取 list 数据,然后发送 200 状态码及 list 数据到浏览器;
浏