mysql的简单使用

本文介绍了HTTP协议的基本概念,包括GET与POST请求的区别,并探讨了Web编码中的编码问题。此外,还介绍了如何通过Servlet处理表单数据以及使用MySQL数据库进行简单操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、http协议(了解) 
(1)什么是http协议(超文本传输控制协议)? 
由w3c定义的一种应用层协议,用来定义浏览器与web 
服务器之间通讯的过程及数据的格式。 
1),浏览器与服务器之间通讯的过程: 
step1,浏览顺建立与服务器之间的连接 
step2,浏览器打包(按照http协议的要求),发送请求
step3,服务器打包,发送响应 
step4,服务器关闭连接 
特点: 一次请求,一次连接。 
优点: 服务器可以利用有限的连接尽可能为更多的客户端 
服务。 
2),数据的格式 
a,请求数据包 
请求行: 请求方式 请求资源路径 协议的类型和版本 
若干消息头: 
消息头是一些键值对,一般由浏览器或者服务器 
自动生成,表示特定的含义。比如,浏览器可以 
发送user-agent消息头告诉服务器浏览器的类型和版本。 
实体内容: 
只有发送post请求时,浏览器才会将请求参数添加到 
这儿,如果是get请求,请求参数会添加到请求资源 
路径的后面。 
b,响应数据包 
状态行: 协议的类型和版本 状态码 状态描述 
状态码是一个3位数字,由w3c定义的,表示服务器 
处理请求的一种状态,比如: 
404:依据请求资源路径,找不到对应的资源 
500:系统出错 
200:正常 
若干消息头: 
比如,服务器可以向浏览器发送一个content-type 
的消息头,告诉浏览器返回的数据类型。 
实体内容: 
程序处理的结果 
2、get请求与post请求 
(1)哪一些情况下,浏览器发送get请求 
a,直接在浏览器地址栏输入某个地址 
b,点击链接 
c,表单默认提交  
(2)哪一些情况下,浏览器发送post请求 
a, 表单设置了method="post"。 
(3)get请求的特点 
a, 会将请求参数添加到请求资源路径的后面,只能够提交 
少量的数据给服务器。 
b,请求参数会显示在浏览器地址栏,不安全(比如,路由器 
会记录这个地址)。 
(4)post请求的特点 
a,会将请求参数添加到实体内容里面,能够提供大量的数据 
给服务器。 
b,请求参数不会显示在浏览器地址栏,相对安全(post方式 
并不会对请求参数加密)。 

3、web编码中的编码问题 
1)常识: 
a,java语言会将所有字符以unicode编码格式保存在内存里面。 
b,编码:将以unicode编码格式对应的字节数组转换成某种 
c,本地编码格式(gbk,gb2312,utf-8)对应的字节数组。
解码:将某种本地编码格式对应的字节数组转换成unicode 
编码格式对应的字节数组。
2)如果服务器端某个servlet要输出中文给客户端,需要 
添加如下的代码: 
response.setContentType("text/html;charset=utf-8"); 
这行代码的作用有两个: 
第1个:out.println时,使用正确的编码格式进行编码 
(unicode -- >utf-8) 
第2个:设置了content-type消息头的内容,浏览器 
会按照指定的编码格式来打开这个页面(解码) 

4、表单的处理 
(1)如何获得表单中的请求参数值? 
a, String request.getParameter(String paraName);
要注意: 
a1, paraName不正确,会获得null。 
a2, 在文本输入框中,如果不输入,会获得空字符串。 
b, String[] request.getParameterValues(String paraName); 
如果有多个参数名称相同,使用该方法。 
(2)如果表单中有中文参数值,如何处理? 
当表单提交的时候,浏览器会对表单中的参数值进行编码 
(会使用打开表单所在的页面时的编码格式来编码)。服务器 
在默认情况下,会使用iso-8859-1进行解码,就有可能发生 
乱码问题。 
解决方式一: 
step1, 保证表单所在的页面使用指定的编码格式打开。 
比如,对于html文件,可以添加: 
<!-- 模拟content-type消息头 --> 
<meta http-equiv="content-type" 
content="text/html;charset=utf-8"/> 
并且,要设置method="post"。 
step2, 在服务器端 
//告诉服务器使用指定的编码格式进行解码 
//只对post请求有效。 
request.setCharacterEncoding("utf-8"); 
解决方式二: 
step1,同上。不要求设置method属性。 
step2, 
name = new String(name.getBytes("iso-8859-1"), 
"utf-8"); 

去ftp下载 mysql-connector-java-5.1.7-bin.jar 
这是mysql的jdbc驱动程序 
5、mysql数据库的简单使用 
1)登录数据库(使用root用户登录) 
mysql  -uroot; 
2)查看有哪些数据库实例 
show databases; 
3)创建一个新的数据库 
创建一个名叫jd1303db的数据库,该数据库的默认 
字符集是utf-8 
create database jd1303db default character set utf8; 
4)使用某个数据库 
use jd1303db; 
5)查看当前数据库有哪些表 
show tables; 
6)建表 
create table t_emp( 
id int primary key auto_increment, 
name varchar(50), 
salary double, 
age int 
); 
primary key:主健约束 
auto_increment:自增长列,在插入记录时,由数据库 
自动赋值。 
insert into t_emp(name,salary,age) values('tom',20000,20); 

6、servlet如何访问数据库 
step1,将数据库驱动拷贝到WEB-INF\lib下。 
step2,编写jdbc代码访问数据库,需要注意异常的处理。

创建一个数据库dolojia,字符编码为utf8 
create database dolojia default character set utf8; 
设置数据库密码为Aa123465,且赋予增删改查的权限 
grant select,insert,update,delete,create,drop on dolojia.* to localhost Identified by "Aa123456"; 
刷新 

FLUSH   PRIVILEGES; 

本文由上海java培训机构推荐阅读,更多内容请移步至上海it培训机构官网。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值