码迷,mamicode.com
首页 > 编程语言 > 详细

2016.5.5(Java Web工作原理)

时间:2016-05-05 22:40:12      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:

建动态服务器端内容的过程
CGI技术
微软的ASP和ASP.NET技术
基于Java的Servlet/JSP技术

HTTP是一种超文本协议,一种无状态的协议


HTTP请求分为:1、请求行 2、请求头 3、消息体 4、分隔请求头 5、消息体空行

HTTP 1.1 版本中,定义了有八种可能的HTTP请求方法:
1、get:用于向服务器检索资源。(查找)
2、post:用于向服务器发送数据,并要求指定的url处理。(新增输入)
3、head:与get方法相同,服务器只返回转台行和头标,并不返回请求文档。
4、put:请求服务器保存请求数据作为指定url新内容。(修改)
5、delete:请求服务器删除url中命名的资源。
6、options:请求关于服务器支持的请求方法信息。
7、trace:请求web服务器反馈http请求和其头标
8、connect:一文档化但当前为实现的一个方法,预留做隧道处理。

get方法用于向服务器检索信息,它可以以查询字符串的形式提供有限长度的数据。但是,get方法却不能发送大量信息。很多web服务器
会限制完整url的长度为255个字符,超过这个长度的信息通常被忽略了。

get的方法只能用在一个web应用程序中执行查询,而不能用于执行更新。

查询字符串是一个以‘?’开始,后跟名称/值对的字符串列表。多个名称/值对之间用‘&’分隔。例如:/index.html?name=admin&password=admin。

post方法用于向服务器发送数据,并要求指定的url处理。post方法可以将无限制数量的数据作为http请求的一部分,通过套接字连接发送。数据不会
作为url的一部分出现,而且只发送一次。因此,post方法通常被用于发送敏感信息或者大量信息,或者上传文件。如果一个应用程序需要修改数据或
添加数据,并且通过http发送请求,那么就应该使用post方法。

get会让信息显示在浏览器的地址栏因此不安全,post不显示所以安全。

响应状态码是一个三位数的数字,它分为如下几个组:
1XX:信息,请求收到,继续处理。
2XX:成功,行为被成功的接受,理解和采纳。
3XX:重定向,为了完成请求,必须进一步执行的动作。会发生两次请求。
4XX:客户端错误,请求包含语法错误或者请求无法实现。
5XX:服务器错误,服务器不能实现一种明显无效的请求,一般是代码问题。

web服务器是被设计用来向客户端提供http服务的,它只能向客户端提供静态网页内容。

如果需要动态页面(在发出请求之前还不存在的动态创建页面),而且还希望吧通过表单或查询字符串提交的数据保存到服务器上(即写到一个文件或
数据库中),怎么办呢?
解决方案是运行web服务器软件(例如:Apache Web服务器软件)看出这个请求是给一个辅助程序的,所以web服务器启动并运行这个程序。

Servlet是一个在Web服务器端或者应用服务器端运行的java程序,主要用于在服务器端产生动态内容。可以看做是一个java类

Servlet是常规的java代码,代码中用了一些新的API,但是不涉及新的语法。
Servlet代码中有我们不熟悉的重要语句。Servlet不属于J2EE,它属于单独的规范。
Servlet对标准类(HttpServlet)进行了扩展。
Servlet没有main()方法

 

Servlet在服务器端的工作主要是执行如下任务
1、读取客户端发送的显式和隐式数据。
2、生成结果
3、向客户端发送显式数据(即文档)和隐式数据(HTTP响应数据)。

CGI缺陷
每次请求就打开一个CGI进程,严重消耗服务器资源。极大地限制了一个服务器可以支持的并发 CGI用户数量


Web容器负责管理和运行Servlet

容器对Servlet的支持包括
通信支持
生命周期管理
多线程支持
JSP支持
处理安全性


Servlet与Web容器配合处理请
1)客户端向Web服务器发起一个HTTP请求。
2)HTTP请求被Web服务器接受,如果请求的是静态页面,则由Web服务器负责处理。如果请求的是Java Web组件(Servlet或者JSP),
则移交给Web容器。Web容器可以在主机的同一个进程、不同的进程或其他的Web服务主机的进程中启动。
3)Web容器根据Servlet的配置文件确定调用的具体Servlet类,并把request对象、response对象传给它。
4)Servlet通过request对象知道客户端的使用者是谁,客户的请求信息是什么和其他的一些信息。
Servlet处理完请求后把要返回的信息放入response对象返回到客户端。
5)一旦Servlet完成了请求的处理,Web容器就会刷新response,把控制权返回给web服务器。

规范规定Java Web应用程序主要由如下部分组成
配置文件
静态文件和JSP
类文件和包

Tomcat介绍
源自于Apache软件基金会Jakarta项目
满足Servlet和JSP规范要求
能独立成为一个Web服务器
也是Servlet与JSP的容器
Tomcat目录结构介绍

发布WEB应用
将应用目录打成war包
部署
配置server.xml文件
配置web.xml文件

CGI程序严重消耗服务器资源,Servlet可以消除这种缺陷
Web容器给处于容器中的应用程序组件提供一个环境
一个web应用程序包括配置文件、静态文件、JSP、类文件和包
Tomcat既是一个优秀的JSP/Servlet容器,也是一个HTTP服务器
server.xml和web.xml是Tomcat主要的配置文件
welcome-file-list指示服务器在收到一个目录名而不是文件名的URL时,使用哪个文件

2016.5.5(Java Web工作原理)

标签:

原文地址:http://www.cnblogs.com/CMCM/p/5463398.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!