HTTP协议基础
HTTP(Hypertext Transfer Protocol 超文本传输协议),它是以明文方式发送数据的,它是用于www服务器传输超文本到本地浏览器的传输协议。
HTTP 1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。
HTTP1.1支持持久连接,在一个TCP连接上可以传输多个HTTP请求和响应。减少了关闭连接的消耗和延迟。HTTP还允许客户端不等待上一次的请求结果返回,就可以发送下一次请求。以保证客户端能够区分出每次请求的响应内容,这样也显著地减少了整个下载过程所需要的时间。
HTTP 1.1还通过增加更多的请求头和响应头来改进和扩充HTTP 1.0的功能。例如,由于HTTP 1.0不支持Host请求头字段,WEB浏览器无法使用主机头名来明确表示要访问服务器上的哪个WEB站点,这样就无法使用WEB服务器在同一个IP地址和端口号上配置多个虚拟WEB站点。在HTTP 1.1中增加Host请求头字段后,WEB浏览器可以使用主机头名来明确表示要访问服务器上的哪个WEB站点,这才实现了在一台WEB服务器上可以在同一个IP地址和端口号上使用不同的主机名来创建多个虚拟WEB站点。HTTP 1.1的持续连接,也需要增加新的请求头来帮助实现,例如,Connection请求头的值为Keep-Alive时,客户端通知服务器返回本次请求结果后保持连接;Connection请求头的值为close时,客户端通知服务器返回本次请求结果后关闭连接。HTTP 1.1还提供了与身份认证、状态管理和Cache缓存等机制相关的请求头和响应头。
*********************************HTTP例子1********************************************************
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
public class TestHTTP {
public static void main(String[] args) throws Exception {
Socket s = new Socket("www.bjsxt.com", 80);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
bw.write("OPTIONS / HTTP/1.1");
bw.newLine();
bw.write("Host: www.bjsxt.com:80");
bw.newLine();
bw.write("Content-Type: text/html");
bw.newLine();
bw.newLine();
bw.flush();
BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
String str = null;
while((str = br.readLine()) != null) {
System.out.println(str);
}
bw.close();
br.close();
s.close();
}
}
*****************************************************************************************
Servlet是运行在服务器端的小应用程序用来完成B/S结构的客户端请求相应处理
Web Application 的结构
/WEB-INF
/web.xml #该web app的配置文件
/lib/ #该web app用到的库文件
/classes #存放编译好的servlet
web.xml简单例子
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<servlet>
<servlet-name>myfirstservlet</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>myfirstservlet</servlet-name>
<url-pattern>/HelloWorldSerlvet</url-pattern>
</servlet-mapping>
</web-app>
web.xml中 <url-pattern>/HelloWorldSerlvet</url-pattern>中/表示绝对路径,其中的第一个/表示的webapp目录的跟路径,即 http://localhost:8080/my/
而jsp页面中<form action=/xxxx>
这个/表示的是主机路径http://localhost:8080
分享到:
相关推荐
jsp&servlet笔记jsp&servlet笔记jsp&servlet笔记
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...
通过阅读这份笔记,你可以了解JSP和Servlet的基本语法、生命周期、以及如何将它们结合使用来创建动态Web应用。同时,HTML格式的文档易于阅读和理解,对于自学非常友好。 在实际学习过程中,你可能还会涉及到Web容器...
**JSP(Java Server Pages)与Servlet...这个**[JSP&Servlet学习笔记(第2版)]**会涵盖这些主题,并可能包括示例代码、最佳实践和常见问题解答,帮助读者全面掌握JSP和Servlet的使用技巧,进一步提升Java Web开发能力。
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。, 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做...
吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案 本资源为吉林大学珠海学院JSP&Servlet学习笔记(第二版)的课后答案,涵盖了JSP和Servlet相关的知识点。本笔记共分为九章,每章节都包含了相关的问题答案,...
### JSP与Servlet知识点梳理 #### 一、Tomcat服务器安装与配置 - **Tomcat 1.7版本**:Tomcat是Apache软件基金会下属Jakarta项目中的一个开源的轻量级Web应用服务器,在中小型系统和并发访问用户不是特别多的场合...
jsp&servlet学习笔记(第2版)光盘,买书附赠光盘,完片版本。
[JSP&Servlet学习笔记(第2版)] 林信良
《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet;或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 《JSP & Servlet学习笔记(第2版)》针对Servlet 3.0的...
**JSP(JavaServer Pages)与Servlet是Java Web开发中两个关键的技术,它们在Web应用程序中扮演着重要的角色。** **JSP** 是一种动态网页技术,它允许开发者在HTML页面中嵌入Java代码,使得网页具有动态生成的能力...
根据提供的文件信息,标题为“JSP&Servlet学习笔记(第2版)_打印版”,描述指出文档经过空白边裁剪处理以便于打印。虽然提供的部分内文无法直接转化为明确的知识点,但我们可以根据标题和描述推测该文档的主要内容,...
学习笔记"及提供的源码,开发者可以全面了解JSP和Servlet的工作原理,学会如何创建动态Web应用,同时提升解决问题和实际开发的能力。结合实际项目练习,能够更好地将理论知识转化为实践经验,从而在Java Web开发领域...
该书是学习JSP和Servlet的好书,讲解通俗易懂,详细全面,带目录。