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访问数据库
http协议/获得请求/中文参数处理/访问数据库的更多相关文章
- tomcat解决GET请求中文参数乱码
通常,在使用Spring MVC框架的应用程序中,为了解决中文参数乱码的问题,都会添加如下过滤器配置: <filter> <filter-name>encodingFilter ...
- POST、GET请求中文参数乱码问题
POST请求中文乱码问题解决方法: 在web.xml文件中添加编码过滤器,如下: <!-- 解决post乱码 --> <filter> <filter-name>C ...
- springmvc将处理后的数据通过get方法传给页面时,可能会出现乱码。下面对于get请求中文参数出现乱码提出解决办法。
对于get请求中文参数出现乱码解决办法有两个: 1.修改tomcat配置文件(tomcat--->conf--->server.xml)添加编码与工程编码一致,如下: <Connec ...
- Tomcat get请求中文参数乱码
场景:使用Tomcat容器进行get方式传递中文参数到后台乱码. 原因:Tomcat默认的编码方式是ISO--. 解决方案: . 设置cofg-server.xml中的<Connector> ...
- 页面get请求 中文参数方法乱码问题
对于get方式,请求参数中存在中文,可以使用下面的方法进行处理: 两次使用encodeURI()方法:例如:encodeURI(encodeURI(“中文”)),然后再服务器中使用URLDecoder ...
- 「post中文参数问题」以及「验证码自动识别备忘」
前言 之前搞过几次模拟登录,都是模拟 post 后取到 cookie,之后便能用这个 cookie 愉快玩耍.这次碰到了验证码,其实只需手动登录一次,手动取到 cookie 后也能玩耍,不过 cook ...
- SpringMVC如何解决POST请求中文乱码问题,GET的又如何处理呢?
在web.xml中 <filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-c ...
- Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 httplib模块 django和web服务器整合 wsgi模块 gunicorn模块
Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 ...
- [JavaEE]Get请求URI中带的中文参数在服务端乱码问题的解决方法
在Get请求中,如果请求参数中带有中文,如 http://localhost:8080/DinnerParty/shop/search?query=多伦多, 在服务端拿到的是乱码. 这是因为客户端提交 ...
随机推荐
- POJ-放苹果(DP)
放苹果 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 29074 Accepted: 18376 Description 把M个 ...
- CSU 1808 - 地铁 - [最短路变形]
题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1808 Time limit: 5000 ms Memory limit: 13107 ...
- codeforces 888A/B/C/D/E - [数学题の小合集]
这次CF不是很难,我这种弱鸡都能在半个小时内连A四道……不过E题没想到还有这种折半+状压枚举+二分的骚操作,后面就挂G了…… A.Local Extrema 题目链接:https://cn.vjudg ...
- ArcGIS API for javascript开发笔记(三)——解决打印输出的中文为乱码问题
感谢一路走来默默支持和陪伴的你~~~ ----------------------欢迎来访,拒绝转载---------------------- 1. 调用ArcGIS API的Print实 ...
- 源码解读 zsetAdd
https://github.com/antirez/redis/blob/6a6471aad5e4f8d6cbab677b918b14cdee416296/src/t_zset.c /* Updat ...
- Subsequence---poj3061(尺取法||二分)
题目链接:http://poj.org/problem?id=3061 题意:给n个正整数和一个数S,求出总和不小于S的连续子序列的长度的最小值,如果无解输出0: 我们可以用sum[i]表示前i项的和 ...
- 【Python】【亲测好用】安装第三方包报错:AttributeError:'module' object has no attribute 'main'
安装/卸载第三包可能出现如下问题及相应解决办法: 在pycharm编辑中,使用anconda2更新.卸载第三方包时,出现如下错误: AttributeError:'module' object has ...
- ifame_自适应高度
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- MYSQL中的BlackHole引擎
MYSQL中的BlackHole引擎 http://blog.csdn.net/ylspirit/article/details/7234021 http://blog.chinaunix.net/u ...
- 20170809直接访问功能测试Postman
20170809直接访问功能测试Postman 1 打开admin账户登录界面,打开F12,登录 admin账户,点击系统管理,用户设置,获得网址http://10.200.44.69:8080/cl ...