一、HTTP协议的理解

  1. 什么是HTTP协议

HTTP是一种超本文传输协议,是一套计算机在网络中通信的规则。他是一种无状态的传输方式。

  1. HTTP协议的格式

HTTP的请求:

请求行(HTTP方法、请求的URL、HTTP版本)、

请求头(Host、User-Agent、Aeecpt)、

空行、消息体

HTTP的响应:

响应行(HTTP版本、响应码、响应描述)、

响应头(Content-Type、Date)、空行、消息体

  1. HTTP的请求中GET和POST的异同

GET没有消息体,POST有消息体。GET的查询语句直接出现在请求头URL后面。POST的查询语句出现在消息体中。

  1. 响应码的描述

1××:信息,请求收到,继续处理中。

2××:成功。行为被成功地接受、理解和采纳。

3××:重定向。为了完成请求,必须进一步执行动作。

4××:客户端错误。请求包含语法错误或者请求无法实现。

5××:服务器错误。服务器不能实现一种明显无效的请求。

二、Javaweb工作的原理

当web浏览器向服务器通过HTTP发送请求时,web服务器只能处理静态的页面。于是我们在web服务器中加入辅助应用实现对动态页面的请求。在web服务器创建动态服务器端内容的过程,我们称之为服务器端网页编程。传统的解决方法是CGI、ASP和ASP.NET、Servlet/jsp。

CGI,即通用网关接口。一个CGI程序处理包括连接数据库、封装请求响应对象、向客户端发送请求等多个任务。而且CGI是基于进程的程序,每当有请求来到时都要开启一个新的进程,这样大大浪费了资源,并发性问题解决性差。

Servlet/jsp是Java服务器端网页编程的解决模式。其在web服务器中存在一个web容器,在web容器中存在Servlet。其中Web容器用于封装请求响应对象,处理多线程,管理servlet生命周期,处理客户端socket,安全机制等内容。而servlet是一个在web容器中运行的Java程序,主要用来在服务器端产生动态内容。Servlet没有main方法,不属于J2EE有自己独立的规范。他读取客户端发送来的数据,根据这些数据生成结果并返回给web容器。

三、Tomcat的介绍及web应用程序的部署

1.Tomcat是款常用的web服务器及web容器:

bin:启动和关闭服务器的脚本文件。

common:服务器及所有应有程序都能用的类文件以及一个jar。

conf:存放配置文件如web.xml

webapps:应用程序部署目录

2.一个正确的web应用程序的结构:

必须有一个WEB-INF文件夹(此文件夹下的内容全部对用户隐藏,文件名必须大写,否则出现404错误),在WEB-INF下有一个classes文件夹用来存放编译好后的.class文件,存在一个lib文件夹用来存放应用程序所需要的jar,存在一个配置文件web.xml(文件名必须小写,否则出现404错误)。此外,applet程序放放在WEB-INF外

最新文章

  1. Markdown 图片助手-MarkdownPicPicker
  2. Twitter Storm源代码分析之ZooKeeper中的目录结构
  3. rman恢复误删除的一张表(不完全恢复)
  4. 在iOS 8中使用UIAlertController
  5. gulp some tips
  6. XML学习笔记(1)--XML概述
  7. Nginx SPDY缓冲区溢出漏洞
  8. iOS Layer CABasicAnimation
  9. C# 获得当前应用程序路径
  10. oracle中的常用函数1-------decode方法
  11. 理解 ES6 语法中 yield 关键字的返回值
  12. 【Android Developers Training】 10. 序言:支持不同设备
  13. sudo: no tty present and no askpass program specified
  14. 20155324 2016-2017-2 《Java程序设计》第8周学习总结
  15. Confluence 6 内存使用和需求和一些问题
  16. Could not find result map XXX 解决办法
  17. kafka8 编写简单消费者
  18. 常见web错误码
  19. layer 问题 汇总
  20. Git本地服务器搭建

热门文章

  1. 黄聪:Discuz!X/数据库操作方法、DB::table、C::t
  2. 第一个Flask Web
  3. RabbitMQ介绍2 - AMQP协议
  4. PopuWindow_1
  5. 在linux下通过sh运行java程序
  6. wcf使用task实现异步调用
  7. C#EasyHook例子C# Hook 指定进程C#注入指定进程 z
  8. 记录更新rbenv 和 ruby-build安装2.3的ruby注意细节
  9. oracle客户端精简绿色版-环境变量配置
  10. Python之几个技巧特点