http协议/获得请求/中文参数处理/访问数据库

# 1. http协议(了解)
## (1)什么是http协议?
一种网络应用层协议规定浏览器与web服务器之间如何通信相应的的数据包的结构
注:
tcp/ip协议:保证数据可靠的传递。(UDP不可靠)
http协议需要利用tcp/ip协议来传递数据包。
1)如何通信?
step1.建立连接
step2.发送请求
step3.发送响应
step4.关闭连接
2)优点
服务器可以利用有限的连接为尽可能多的请求服务。

 

 

## (2)数据包的结构
1)请求数据包
a.请求行 (请求类型 请求资源路径 协议和版本)
b.若干消息头
注:
消息头是一些键值对,用": "隔开,浏览器与web服务器之间,可以利用消息头来传递一些特定的信息。比如浏览器可以通过发送user-agent消息头来告诉服务器,浏览器的类型和版本。
c.实体内容
只有当请求类型为post时,实体内容才会有数据
2)响应数据包
a.状态行 (协议类型和版本 状态码 状态描述)
注:
状态码是一个三位数字,表示服务器处理请求的一种状态。
200  正常
500 系统出错
404 依据请求路径找不到对应的资源
b.若干消息头
服务器也可以发送一些消息头给浏览器,比如,通过发送content-type消息头,告诉浏览器,服务器返回的数据类型。
c.实体内容

程序的处理结果,浏览器解析出来然后生成相应的的页面。

 

## (3)两种请求方式 

### 1)get请求
a.哪一些情况下,浏览器会发送get请求?
情形1: 表单默认的提交方式。
情形2: 直接在浏览器地址栏输入某个地址。
情形3: 点击链接。
b.特点
特点1: 会将请求参数添加到请求资源路径的后面,所以,只能提交少量的数据。
注:因为请求行大约只能存放2K左右的数据
特点2: 会将请求参数显示在浏览器地址栏,不安全(因为有一些网络设备,比如路由器会记录请求地址)。
## 2)post请求
a.哪一些情况下,浏览器会发送post请求
将表单的method="post"。
b.特点
特点1:会将求参数添加到实体内容里面,所以可以提交大量的数据。
特点2:不会将请求参数显示在浏览器地址栏,相对安全一些。
注:
不管什么请求,都不会对数据进行加密。
所以,对于敏感数据,一定要加密。

# 2. 如何获得请求参数值
## (1)方式一
String request.getParameter(String paramName);
注:
如果请求参数名写错,会获得null值。
文本输出框、密码输入框,如果不填写任何数据,会获得""。
## (2)方式二
String[] request.getParameterValues(String paramName);
注:
当有多个请求参数名相同时,使用此方法。

多选框,如果一个选项都不选择的话,会获得null值。

 


# 3.表单包含有中文参数值,如何处理?
## (1)为什么会有乱码?
表单提交时,浏览器会对表单中的中文参数值进行编码(会使用打开该表单所在页面时的字符集来编码),服务器端默认会使用iso-8859-1来解码,所以会产生乱码。

## (2)如何处理?

response.setContentType("text/html;charset=utf-8");//处理方法

### 1)post请求

### 2)get请求
 

 

# 4.访问数据库
## (1)准备工作
step1. 导包 (jdbc驱动,连接池)
将jdbc02工程中的pom.xml文件里面的
dependencies复制到新工程中的pom.xml文件中。
step2. 添加jdbc.properties文件(使用jdbc02
工程中的即可)。
step3. 添加DBUtils类。(使用jdbc02工程中的即可)。
step4. 测试DBUtils类。(保证可以正常获得连接)
step5. 建表

create table t_user(
id int primary key auto_increment,
username varchar(50) unique,
password varchar(20),
email varchar(30)
);

## (2)修改AddUserServlet,使用jdbc访问数据库

转载于:https://www.cnblogs.com/shijinglu2018/p/9420720.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值