*************************************************************************************************************************************************************************************
HTTP协议是WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循的规则。全称是HyperText Transfer Protocol(超文本传输协议)的简写,它是TCP/IP协议集中的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式。
HTTP协议的版本HTTP/1.0、HTTP/1.1、HTTP-NG。
HTTP的会话方式:浏览器与服务器的连接过程是短暂的,每次连接只处理一个连接和响应。对每一个页面的访问,浏览器与服务器都要建立一次单独的连接。
浏览器到WEB服务器之间的所有通讯都是完全独立分开的请求和响应对。
HTTP请求消息:由一个请求行、若干消息头、以及实体内容组成,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开
HTTP响应消息:由一个状态行、若干消息头、以及实体内容组成,其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开。响应消息的实体内容就是网页问价的内容,也就是在浏览器中使用查看源文件的方式所看到的内容。
一个使用GET方式的请求消息中不能包含实体内容,只有使用POST、PUT和DELETE方式的请求消息中才可以包含实体内容。
接下来创建一个简单的servlet并访问:
package com.zhao.javaweb.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
public class LoginServlet implements Servlet{
@Override
public void destroy() {
System.out.println("destroy...........");
}
@Override
public ServletConfig getServletConfig() {
System.out.println("getServletConfig...........");
return null;
}
@Override
public String getServletInfo() {
System.out.println("getServletInfo...........");
return null;
}
@Override
public void init(ServletConfig arg0) throws ServletException {
System.out.println("init...........");
}
@Override
public void service(ServletRequest servletRequest, ServletResponse response)
throws ServletException, IOException {
String user = servletRequest.getParameter("user");
String password = servletRequest.getParameter("password");
System.out.println("user......"+user);
System.out.println("password......"+password);
HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest ;
String method = httpServletRequest.getMethod();
System.out.println("method......"+method);
String uri = httpServletRequest.getRequestURI();
System.out.println("uri......"+uri);
String queryString = httpServletRequest.getQueryString() ;
System.out.println("queryString......"+queryString);
String servletPath = httpServletRequest.getServletPath() ;
System.out.println("servletPath......"+servletPath);
PrintWriter printWriter = response.getWriter() ;
printWriter.write("helloworld...to screen");
}
public LoginServlet() {
System.out.println("LoginServlet...........");
}
}
loginServlet
com.zhao.javaweb.servlet.LoginServlet
1
loginServlet
/login
Insert title here
http有两种请求方式,post请求和get请求:
post请求参数会封装在方法体中,传送的参数数量几乎没有限制;
主要用于向WEB服务器端程序提交FORM表单中的数据,form表单的method为post;
而get请求会拼接在url的尾部,中间用问号连接;
在浏览器地址栏中输入某个URL地址或单击网页上的一个超链接时,浏览器发出的http请求的方式为GET;
传送的数据量是有限制的,一般在1KB以下。
上面列出的请求方式即为post请求,下面再看看get请求:
这就是HTTP协议啦!!!
*************************************************************************************************************************************************************************************