java服务器端开发-servlet:3、Servlet使用jdbc访问数据库、mysql的简单使用、重定向

目录

一、前言

二、Servlet使用jdbc访问数据库、重定向

1、使用jdbc访问数据库

step1, 添加驱动

step2, 要注意异常的处理

2、mysql的简单使用

(1)登录mysql

(2)查看当前有哪些数据库

(3)创建一个新的数据库

(4)使用某个数据库

(5)查看当前数据库有哪些表

(6)建表

(7)查询表

3、重定向

(1)什么是重定向?

(2)编程

(3)特点

(4)重定向需要注意的两个问题


一、前言

上几篇文章讲了一些理论知识点如:什么是Servlet、Servlet执行过程介绍、表单提交中文参数乱码问题、get和post提交方式等,

原创 java服务器端开发-servlet:1、认识Servlet,如:web开发背景、什么是servlet、如何开发一个servlet等  

原创 java服务器端开发-servlet:2、Servlet执行过程介绍:常见错误及解决方式、响应数据包、get请求与post请求、编码相关等 

后面还做了这些知识点的实战代码案例。因为上篇文章实战代码讲了:录入、读取、输出员工数据的操作,那么今天主要讲的知识点是入库等操作,如:Servlet使用jdbc访问数据库、mysql的简单使用、重定向

二、Servlet使用jdbc访问数据库、重定向

1、使用jdbc访问数据库

step1, 添加驱动

将jdbc驱动拷贝到WEB-INF\lib下。

step2, 要注意异常的处理

关于资源的关闭:

connection关闭之后,跟这个连接对应的

statement、resultset会自动关闭。所以,一

般情况下,只需要关闭connection即可。

但是,在使用连接池的时候,调用connection

的close方法,实际上并没有真正地关闭连接,

对应的statement、resultset也就没有关闭,

有可能会占用过多内存资源。

所以,在关闭连接之前,应该先关闭statement,

resultset。

2、mysql的简单使用

(1)登录mysql

mysql -uroot;

(2)查看当前有哪些数据库

show databases;

(3)创建一个新的数据库

比如,创建一个名称jsd1308db的数据库,

该数据库使用的字符集是utf-8

create database jsd1308db default

character set utf8;

(4)使用某个数据库

use jsd1308db;

(5)查看当前数据库有哪些表

show tables;

(6)建表

create table t_emp(

id int primary key auto_increment,

name varchar(50),

salary double,

age int

)type=innodb;

 

type=innodb的作用:让这个表支持事务。【因这句会报错,所以省略,具体原因再说】

auto_increment: 自增长列,当插入记录时,

数据库自动为该列赋一个唯一的值。

(7)查询表

select *from t_emp;

 

练习:

写一个ListEmpServlet,以表格的方式展现所有

员工的信息。

比如  http://ip:port/web03_lab/list

 

3、重定向

(1)什么是重定向?

服务器发送一个302状态码和一个Location消息头

(值是一个地址,称为重定向地址),当浏览器收到之后,

会立即向重定向地址发请求。

(2)编程

//url:重定向地址

response.sendRedirect(String url);

(3)特点

1)重定向地址是任意的。

2)重定向之后,浏览器地址栏的地址变成重

定向地址。

(4)重定向需要注意的两个问题

1)重定向之前,不能够调用out.close方法。

2)重定向之前,会先清空response上缓存的数据。

java服务器端开发-servlet:3、Servlet使用jdbc访问数据库、mysql的简单使用、重定向

练习:

完成删除员工的操作(从数据库里删除指定员工的

信息,删除之后重定向到员工列表)