一、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外

JavaWeb工作原理的更多相关文章

  1. JavaWeb从0开始学(一)-----搭建第一个Web应用程序与JSP工作原理

    以往学习的时候大多是看完书或者看完视频,动手实践一下就OK了.然而过了一段时间我发现东西都忘差不多了,需要复习才能重新掌握.现在开始学习JavaWeb了,我将在这里记录自己的学习的一点一滴,不仅便于自 ...

  2. JavaWeb与Asp.net工作原理比较分析

    一.概述 不管是什么语言开发的web应用程序,都是在解决一个问题,那就是用户输入url怎么把对应的页面响应出来,如何通过url映射到响应的类,由于自己做asp.net的时间也不短了,还算是对asp.n ...

  3. HTTP协议和web工作原理

    本章学完之后能干什么? 要把 知识点学好,那就需要把它相关的周边知识点了解全面 HTTP协议是web学习的核心!!! 学东东切忌只学配置,不学原理:只学会框架有什么用,要会自己写框架!! web学习直 ...

  4. JSP基本语法总结【1】(jsp工作原理,脚本元素,指令元素,动作元素)

    时隔半年,回头对jsp复习整理一下,温故而知新. jsp工作原理: jsp服务器管理jsp页面分两个阶段:转换阶段(translation phase)和执行阶段(execution phase). ...

  5. HTTP1.0工作原理

    1.HTTP工作原理 <HTTP响应报文与工作原理详解>讲的比较详细了. 2.示例 (1)server端程序如下: package org.yeyouluo.demo.jsp; impor ...

  6. 你还记得 Tomcat 的工作原理么

    SpringBoot 就像一条巨蟒,慢慢缠绕着我们,使我们麻痹.不得不承认,使用了 SpringBoot 确实提高了工作效率,但同时也让我们遗忘了很多技能.刚入社会的时候,我还是通过 Tomcat 手 ...

  7. 菜鸟学Struts2——Struts工作原理

    在完成Struts2的HelloWorld后,对Struts2的工作原理进行学习.Struts2框架可以按照模块来划分为Servlet Filters,Struts核心模块,拦截器和用户实现部分,其中 ...

  8. 【夯实Nginx基础】Nginx工作原理和优化、漏洞

    本文地址 原文地址 本文提纲: 1.  Nginx的模块与工作原理    2.  Nginx的进程模型    3 . NginxFastCGI运行原理        3.1 什么是 FastCGI   ...

  9. HashMap的工作原理

    HashMap的工作原理   HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间 ...

随机推荐

  1. Linux下diff打补丁方法

    tar zxvf php-5.2.14.tar.gz gzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1

  2. 原生js 用正则实现removeclass hasclass getsclass addclass .

    function getByClass(oParent,sClass){ if(oParent.getElementsByClassName){ return oParent.getElementsB ...

  3. Segment fault及LINUX core dump详解

    源自:http://andyniu.iteye.com/blog/1965571 core dump的概念: A core dump is the recorded state of the work ...

  4. PLSQL_闪回操作4_Flashback Drop

    2014-06-25 Created By BaoXinjian

  5. [复变函数]第11堂课 3.3 Cauchy 积分定理及其推论

    0. 引言 (1) Cauchy 积分定理: 设 $D$ 为 $(n+1)$ 连通区域, $f$ 在 $D$ 内解析且连续到边界 $C$, 则 $\dps{\int_C f(\zeta)\rd \ze ...

  6. java web 插件式开发

    1.支持pagelet2.菜单扩展3.静态文件访问 4.开发环境. 5.OSGi平台. tms:pagelet 是一个jsp标签 <div> <tms:pagelet show=&q ...

  7. 树莓派安装3.5inch RPi LCD (A)显示屏

    3.5inch RPi LCD (A) 资料 产品介绍 用户手册 开发资料 开发软件 树莓派镜像 演示视频 FAQ 在自定义Raspbian系统镜像上怎么使用树莓派LCD? 先确保自定义镜像可正常进入 ...

  8. 通过JSTL+EL实现循环迭代

    使用前需要导入包 jstl.jar 和 standard.jar <%@ page language="java" import="java.util.*,com. ...

  9. 计算webView的 高度 和自适应屏幕大小

    - (void)webViewDidFinishLoad:(UIWebView *)webView{ [webView stringByEvaluatingJavaScriptFromString: ...

  10. CentOS 安装 Chrome

    cd  /etc/yum.repos.d/ vi  google.repo [gogle] name=Google-x86_64 baseurl=http://dl.google.com/linux/ ...