1、重定向
(1)、什么是重定向?
服务器发送一个302状态码及一个Location消息头(值是有一个地址,称为重定向地址)通知浏览器立即向重定向的地址发送请求
(2)、如何重定向?
response.sendRedirect(String url);
HTTP/1.1 302 Moved Temporarily
Location: http://localhost:8080/web03/list 重定向--这边让浏览器重新设置新的地址
Content-Type: text/html;charset =gbk;charset=ISO-8859-1
Content-Length: 0
Date: Mon, 13 Oct 2014 05:24:11 GMT
Location: http://localhost:8080/web03/list 重定向--这边让浏览器重新设置新的地址
Content-Type: text/html;charset =gbk;charset=ISO-8859-1
Content-Length: 0
Date: Mon, 13 Oct 2014 05:24:11 GMT
(3)、注意两个问题
a、重定向之前,不要调用out.close ();方法
b、重定向之前,服务器胡先清空response对象上缓存的数据。
(4)、两个特点
a、重定向的地址是任意的;
b、重定向之后,浏览器地址栏的地址会变成重定向地址。
2、将中文数据插入到数据库
step1、要保持数据库支持中文,即正确设置数据库的字符集,比如创建mysql数据库时;
create database jd default character set utf8;
step2、jdbc驱动必须能够正确的进行编码和解码,
有些mysql的驱动不能够正确的进行编码 和解码(默认会使用iso-8859-1进行编码和解码,可以再jdbc URL后添加
useUnicode = true&characterEncoding=utf8)
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jd?" +"useUnicode=true&characterEncoding=utf8","root","*****");
3、dao
data access object
(1)什么是dao?
封装了数据访问逻辑的一个模块
(2)如何写一个dao?
step1,实体类
为了方便对数据库中的记录进行操作而封装的一个普通java类。
比如,有一个t_emp,可以设计一个Employee类。
step2、dao接口
声明一系列的方法,这些方法不应该涉及任何具体的数据库访问技术。
数据库访问技术。
比如,EmployeeDao接口:
//error!因为限制了只能使用jdbc来实现
public ResultSet findAll();
//ok
public List<Employee> findAll() throws Exception;
step3,dao实现
使用具体的技术来实现到接口。
比如,EmployeeDAOJdbcImpl类
step 4、工厂