JavaWeb工作原理
一、HTTP协议的理解
- 什么是HTTP协议
HTTP是一种超本文传输协议,是一套计算机在网络中通信的规则。他是一种无状态的传输方式。
- HTTP协议的格式
HTTP的请求:
请求行(HTTP方法、请求的URL、HTTP版本)、
请求头(Host、User-Agent、Aeecpt)、
空行、消息体
HTTP的响应:
响应行(HTTP版本、响应码、响应描述)、
响应头(Content-Type、Date)、空行、消息体
- HTTP的请求中GET和POST的异同
GET没有消息体,POST有消息体。GET的查询语句直接出现在请求头URL后面。POST的查询语句出现在消息体中。
- 响应码的描述
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工作原理的更多相关文章
- JavaWeb从0开始学(一)-----搭建第一个Web应用程序与JSP工作原理
以往学习的时候大多是看完书或者看完视频,动手实践一下就OK了.然而过了一段时间我发现东西都忘差不多了,需要复习才能重新掌握.现在开始学习JavaWeb了,我将在这里记录自己的学习的一点一滴,不仅便于自 ...
- JavaWeb与Asp.net工作原理比较分析
一.概述 不管是什么语言开发的web应用程序,都是在解决一个问题,那就是用户输入url怎么把对应的页面响应出来,如何通过url映射到响应的类,由于自己做asp.net的时间也不短了,还算是对asp.n ...
- HTTP协议和web工作原理
本章学完之后能干什么? 要把 知识点学好,那就需要把它相关的周边知识点了解全面 HTTP协议是web学习的核心!!! 学东东切忌只学配置,不学原理:只学会框架有什么用,要会自己写框架!! web学习直 ...
- JSP基本语法总结【1】(jsp工作原理,脚本元素,指令元素,动作元素)
时隔半年,回头对jsp复习整理一下,温故而知新. jsp工作原理: jsp服务器管理jsp页面分两个阶段:转换阶段(translation phase)和执行阶段(execution phase). ...
- HTTP1.0工作原理
1.HTTP工作原理 <HTTP响应报文与工作原理详解>讲的比较详细了. 2.示例 (1)server端程序如下: package org.yeyouluo.demo.jsp; impor ...
- 你还记得 Tomcat 的工作原理么
SpringBoot 就像一条巨蟒,慢慢缠绕着我们,使我们麻痹.不得不承认,使用了 SpringBoot 确实提高了工作效率,但同时也让我们遗忘了很多技能.刚入社会的时候,我还是通过 Tomcat 手 ...
- 菜鸟学Struts2——Struts工作原理
在完成Struts2的HelloWorld后,对Struts2的工作原理进行学习.Struts2框架可以按照模块来划分为Servlet Filters,Struts核心模块,拦截器和用户实现部分,其中 ...
- 【夯实Nginx基础】Nginx工作原理和优化、漏洞
本文地址 原文地址 本文提纲: 1. Nginx的模块与工作原理 2. Nginx的进程模型 3 . NginxFastCGI运行原理 3.1 什么是 FastCGI ...
- HashMap的工作原理
HashMap的工作原理 HashMap的工作原理是近年来常见的Java面试题.几乎每个Java程序员都知道HashMap,都知道哪里要用HashMap,知道HashTable和HashMap之间 ...
随机推荐
- 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
- 原生js 用正则实现removeclass hasclass getsclass addclass .
function getByClass(oParent,sClass){ if(oParent.getElementsByClassName){ return oParent.getElementsB ...
- Segment fault及LINUX core dump详解
源自:http://andyniu.iteye.com/blog/1965571 core dump的概念: A core dump is the recorded state of the work ...
- PLSQL_闪回操作4_Flashback Drop
2014-06-25 Created By BaoXinjian
- [复变函数]第11堂课 3.3 Cauchy 积分定理及其推论
0. 引言 (1) Cauchy 积分定理: 设 $D$ 为 $(n+1)$ 连通区域, $f$ 在 $D$ 内解析且连续到边界 $C$, 则 $\dps{\int_C f(\zeta)\rd \ze ...
- java web 插件式开发
1.支持pagelet2.菜单扩展3.静态文件访问 4.开发环境. 5.OSGi平台. tms:pagelet 是一个jsp标签 <div> <tms:pagelet show=&q ...
- 树莓派安装3.5inch RPi LCD (A)显示屏
3.5inch RPi LCD (A) 资料 产品介绍 用户手册 开发资料 开发软件 树莓派镜像 演示视频 FAQ 在自定义Raspbian系统镜像上怎么使用树莓派LCD? 先确保自定义镜像可正常进入 ...
- 通过JSTL+EL实现循环迭代
使用前需要导入包 jstl.jar 和 standard.jar <%@ page language="java" import="java.util.*,com. ...
- 计算webView的 高度 和自适应屏幕大小
- (void)webViewDidFinishLoad:(UIWebView *)webView{ [webView stringByEvaluatingJavaScriptFromString: ...
- CentOS 安装 Chrome
cd /etc/yum.repos.d/ vi google.repo [gogle] name=Google-x86_64 baseurl=http://dl.google.com/linux/ ...