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=多伦多, 在服务端拿到的是乱码. 这是因为客户端提交 ...
随机推荐
- JavaEE Cookie HttpSession 学习笔记
1. 会话管理概述 1.1 什么是会话 好比一次通话.打开浏览器,点击多次链接(发出多次请求和收到多次的响应),关闭浏览器,这个过程就是一次会话. 有功能 可以 文件 新建会话 1.2 解决的问题是 ...
- Query实例的ajax应用之二级联动的后台是采用php来做的
jQuery实例的ajax应用之二级联动的后台是采用php来做的,前台通过jquery的ajax方式实现二级联动数据库表设计 csj_trade id int(11) auto_increment ...
- css中:hover空格
前面有空格后代所有节点,前面无空格第一个节点 <div class="task-item"> <span><input type="chec ...
- CNN中的卷积理解和实例
卷积操作是使用一个二维卷积核在在批处理的图片中进行扫描,具体的操作是在每一张图片上采用合适的窗口大小在图片的每一个通道上进行扫描. 权衡因素:在不同的通道和不同的卷积核之间进行权衡 在tensorfl ...
- vue中引入awesomeswiper的方法以及编写轮播组件
1.先安装less-loader npm install less less-loader --save 2.再安装css-loader npm install css-loader --save 3 ...
- inux man命令的使用方法(转)
原文:http://www.cnblogs.com/hnrainll/archive/2011/09/06/2168604.html Linux的man手册共有以下几个章节: 代號 代表內容 1 使用 ...
- Python性能鸡汤(转)
英文原文:http://blog.monitis.com/index.php/2012/02/13/python-performance-tips-part-1/ 英文原文:http://blog.m ...
- nginx 哈希表数据结构
1.哈希表ngx_hash_t的优势和特点 哈希表是一种典型的以空间换取时间的数据结构,在没有冲突的情况下,对任意元素的插入.索引.删除的时间复杂度都是O(1).这样优秀的时间复杂度是通过将元素的ke ...
- (四)Web应用开发---新增对象Master类别
UI设计类似如下形式 Copy如下Html代码到新创建的Html <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xh ...
- EasyUI 基本的拖动和放置
<!DOCTYPE html><html><head> <meta charset="UTF-8"> <title>Ba ...