HTTP协议
● 什么是HTTP协议? 超文本传输协议(Hypertext Transfer Protocol)服务器传输超文本到本地浏览器的传送协议,是互联网上应用最为流行的一种网络协议,用于定义客户端浏览器和服务器之间交换数据的过程
● HTTP是基于TCP/IP通信协议来传送数据
● HTTP是属于引用层的协议,由于棋简捷、快速的方式、适用于分布式超媒体信息系统
HTTP请求
客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送一个http请求。
就是从浏览器中以超链接,表单等向服务器发送的请求都称为http请求。
请求包括:请求行,请求头,(这两部分会自动发送) 请求体。
请求行:http请求方式,请求资源名称,http版本(例如post、post、text.jsp、HTTP/1.1)
请求头:服务器端和客户端的一些信息格式为键值对。
请求体:是指表单post方式请求时,向服务器端发送的数据
请求头包含主机地址,以及客户端的一些环境信息,以键值对的形 式传递.
Host: 127.0.0.1:8088 请求的主机地址
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/;q=0.8 浏览器能够处理的内容类型
Accept-Encoding: gzip, deflate, br 浏览器能够处理的压缩编码
Accept-Language: zh-CN,zh;q=0.9 浏览器当前设置的语言
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 使用的浏览器和操作平台信息
Connection: keep-alive 浏览器与服务器之间连接的类型
请求体代表着浏览器在post请求方式中传递给服务器的参数,请求体中参数以 键值形式传递, 多个用&链接,服务器接收到后再解析. username=admin&userpwd=123
两种HTTP请求方式
get(获得):从服务器端获取数据,在地址栏会显示发送的数据,但是一般有以下状况
1、不安全
2、传输的数据大小受限制 一般浏览器的大小为2-5kb
● 以超链接访问,默认是GET方式
● form提交,不指定method,默认为GET方式
post(发送):向服务器端发送数据,向服务器端发送数据,发送的数据是在请求体当中,安全(相对安全),大小不受限制
● form提交,指定method=“post”
get/post的区别
● get方式主要是从服务器获取信息;post主要是向服务器提交信息
● get方式在通过URL提交数据,数据在URL中可以看到;POST方式,数据是放置在请求体中提交。
● get方式提交的数据大小受限制一般都很小(不同浏览器也会有不同);而 post则没有此限制。
在父类的service中写了一个判断 get---->doGet、post----->doPost
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我的第一个web程序</title>
</head>
<body>
<a href="demourl">列表</a>
<form action="demourl" method="post">
账号:<input type="text">
密码:<input type="password">
<input type="submit" value="保存">
</form>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<servlet-name>demo</servlet-name>
<servlet-class>com.student.firstweb.servlet.Demo1Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>demo</servlet-name>
<url-pattern>/demourl</url-pattern>
<!--前端点击的连接就是与这个做连接相对应-->
</servlet-mapping>
</web-app>
package com.student.firstweb.servlet;
import javax.servlet.ServletException;