JavaWeb工作原理
- 格式:pdf
- 大小:482.32 KB
- 文档页数:4
webagent原理
WebAgent是一个基于Java语言开发的轻量级Web服务器,其主要功能是处理HTTP请求和响应。
WebAgent的原理如下:
1. 创建一个ServerSocket对象,监听特定的端口,等待客户端的连接请求。
2. 当客户端连接到服务器时,ServerSocket对象会返回一个Socket对象,该对象表示与客户端的连接。
3. 从Socket对象中获取InputStream和OutputStream对象,用于读取客户端发送的请求和向客户端发送响应。
4. 解析客户端发送的请求,包括请求方法、请求头、请求体等信息,然后根据请求的URI找到对应的处理程序。
5. 调用处理程序处理请求,并生成响应内容。
6. 将响应内容写入OutputStream对象中,发送给客户端。
7. 关闭Socket对象和ServerSocket对象,释放资源。
WebAgent支持多线程处理请求,每个请求都会新建一个线程来处理,避免阻塞其他请求。
WebAgent的架构简单,易于扩展和定制,可用于开发各种类型的Web应用程序。
- 1 -。
JAVAweb实验课程设计一、课程目标知识目标:1. 让学生掌握JAVAweb的基本概念,理解其体系结构及工作原理。
2. 学会使用JAVA语言进行Web编程,掌握Servlet和JSP技术,并能运用到实际项目中。
3. 了解常用的数据库连接技术,掌握JDBC在Web应用中的使用方法。
技能目标:1. 培养学生独立设计和开发小型JAVAweb应用的能力。
2. 提高学生在Web项目中解决问题的能力,包括调试和优化代码。
3. 培养学生团队协作和沟通能力,能够与团队成员共同完成项目。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发其学习热情。
2. 培养学生严谨、认真、负责的学习态度,养成良好的编程习惯。
3. 培养学生面对问题积极思考、勇于探索的精神,提高学生的创新意识。
课程性质:本课程为实验课程,注重理论与实践相结合,以项目为导向,培养学生的实际动手能力。
学生特点:学生已具备一定的JAVA基础,对Web技术有一定了解,但实践经验不足。
教学要求:教师需采用案例教学、任务驱动等方法,引导学生主动参与,注重实践,提高学生的动手能力。
同时,关注学生的个性化发展,鼓励学生创新思维,培养团队协作精神。
通过课程学习,使学生能够达到上述课程目标,为后续专业课程打下坚实基础。
二、教学内容1. JAVAweb基本概念:介绍Web应用体系结构,理解B/S架构,掌握HTTP 协议基础。
2. Servlet技术:学习Servlet的生命周期、请求和响应处理、会话管理、过滤器、监听器等。
3. JSP技术:掌握JSP页面元素的编写,理解JSP的内置对象,学习JSP标签和EL表达式。
4. 数据库连接技术:学习JDBC的使用,掌握数据库的连接、SQL语句执行、结果集处理等。
5. 常用框架与技术:了解Struts2、Spring、Hibernate等常用框架的基本原理和使用方法。
6. 实践项目:设计并实现一个简单的在线图书管理系统,涵盖用户注册、登录、图书查询、借阅等功能。
web的工作原理是什么
Web的工作原理是通过客户端和服务器之间的通信来实现网
络上的信息传递和数据交换。
当用户在浏览器中输入一个网址或点击链接时,浏览器会发送一个HTTP请求到指定的服务器。
这个请求中包含了用户想要访问的资源的信息,例如网页的URL、请求方法等。
服务器接收到请求后,会解析请求信息,并根据请求的资源路径进行处理。
服务器可以根据请求的路径,从文件系统中读取对应的文件,或者执行其它后端操作。
然后服务器会创建一个HTTP响应,包含了所请求资源的内容和一些额外的元数据,
例如响应状态码、响应头部等。
服务器将响应发送回给浏览器,浏览器收到响应后,会根据响应的内容进行解析和渲染。
如果响应是一个HTML文件,浏
览器会解析HTML标签,构建DOM树,并将其展示给用户。
如果响应中包含了其他资源,例如CSS、JavaScript、图片等,浏览器会继续发送额外的请求,获取这些资源,并进行相应的处理和展示。
通过这种方式,用户可以通过浏览器与远程服务器进行交互,获取所需的信息并进行数据交换。
整个过程中,涉及到了客户端(浏览器)和服务器之间的请求和响应,以及数据的传输和处理。
javaweb工作原理
JavaWeb是基于Java语言的Web应用开发技术,它的工作原
理可以简单概括为以下几个步骤:
1. 客户端发送请求:用户通过浏览器输入URL或者点击链接
来发起请求,请求由浏览器发送给服务器。
2. 服务器接收请求:服务器接收到客户端发送的请求,通过TCP/IP协议与客户端建立连接。
3. 请求处理:服务器根据请求的URL等信息来定位请求资源,并进行相应的处理。
这个处理过程一般包括获取请求参数、与数据库交互、业务逻辑处理等。
4. 响应生成:服务器根据请求处理的结果生成相应的响应内容,一般是生成HTML代码或者其他格式的数据。
5. 响应发送:服务器将生成的响应内容通过TCP/IP协议发送
给客户端。
6. 客户端接收响应:客户端浏览器接收到服务器发送的响应内容。
7. 响应解析和渲染:客户端浏览器对接收到的响应内容进行解析,生成对应的网页,并将内容呈现给用户。
整个过程中,JavaWeb技术的关键在于服务器端的处理,主要
通过Java的相关框架和API来实现。
常用的JavaWeb框架包括Servlet、JSP、Spring MVC等,这些框架可以帮助开发者简化开发过程、提高开发效率。
javaweb实验原理Javaweb实验原理一、引言随着互联网的快速发展,Web应用程序的需求也越来越多。
而Javaweb作为一种常用的Web开发技术,其实验原理对于开发人员来说是非常重要的。
本文将介绍Javaweb实验原理的相关内容。
二、Javaweb实验原理概述Javaweb是一种基于Java语言的Web开发技术,它将Java语言与Web技术相结合,实现了在Web环境下的应用程序开发。
Javaweb实验原理主要涉及到以下几个方面:1. Servlet技术Servlet是Javaweb开发的核心技术之一,它是运行在服务器上的Java程序,用于处理客户端的请求并生成响应。
Servlet通过继承javax.servlet.Servlet接口来实现,它可以接收来自客户端的请求,并将处理结果返回给客户端。
在Javaweb中,Servlet负责处理业务逻辑,如数据处理、页面跳转等。
2. JSP技术JSP(JavaServer Pages)是一种动态网页技术,它允许开发人员将Java代码嵌入到HTML页面中,从而实现动态内容的生成。
JSP页面在服务器上被编译成Servlet,并由Servlet容器进行处理。
JSP技术使得前端开发人员可以专注于页面的设计,而后端开发人员可以使用Java代码处理业务逻辑。
3. MVC设计模式MVC(Model-View-Controller)是一种常用的软件设计模式,它将应用程序分为三个部分:模型、视图和控制器。
在Javaweb中,模型负责处理数据逻辑,视图负责展示数据,而控制器负责处理用户的请求并调用相应的模型和视图。
MVC设计模式使得Javaweb应用程序的开发更加模块化和可维护。
4. 数据库连接在Javaweb应用程序中,通常需要与数据库进行交互来存储和获取数据。
JDBC(Java Database Connectivity)是Java提供的一种用于与数据库进行连接和操作的API。
servlet工作原理
servlet是Java Web开发的重要组件之一,用于处理Web应用程序
的HTTP请求和响应。
servlet的工作原理如下:
1.客户端发起HTTP请求,包含请求头和请求体。
2. Web服务器(如Tomcat)接收请求,将请求头解析成HttpServletRequest对象,将请求体交给ServletInputStream对象。
3. 根据请求的URL匹配相应的servlet,创建一个新线程并将HttpServletRequest、HttpServletResponse对象传入servlet。
4. servlet处理请求,做出相应动作并生成响应数据,然后将响应
数据写入HttpServletResponse对象中。
5. HttpServletResponse对象将响应头和响应体发送给Web服务器。
6. Web服务器将响应头和响应体发送到客户端。
总之,servlet是在Web服务器上运行的Java程序,通过HTTP协议
对外提供服务,可以接收和处理请求,并生成相应的响应数据。
它们充当Web服务器和Web应用程序之间的中介,使开发人员可以以面向对象的方
式实现Web应用程序。
【狂神说Java】JavaWeb⼊门到实战1---笔记转⾃:⽂章⽬录1、基本概念1.1、前⾔1.2、web应⽤程序web应⽤程序:1.3、静态web1.4、动态web2、web服务器2.1、技术讲解2.2、web服务器3、Tomcat3.1安装tomcat tomcat3.2、Tomcat启动和配置3.3、配置3.4、发布⼀个web⽹站4、Http4.1、什么是HTTPHTTP4.2、两个时代4.3、Http请求1、请求⾏2、消息头4.4、Http响应1、响应体2、响应状态码5、Maven5.1 Maven项⽬架构管理⼯具5.2下载安装Maven5.3配置环境变量5.4阿⾥云镜像5.5本地仓库5.6 ~ 5.13笔记-下载地址6、Servlet6.1、Servlet简介6.2、HelloServlet6.2、HelloServlet6.3、Servlet原理6.4、Mapping问题6.5、ServletContext1、共享数据2、获取初始化参数3、请求转发6.6、HttpServletResponse1、简单分类2、下载⽂件3、验证码功能6.7、HttpServletRequest获取参数,请求转发7、Cookie、Session7.1、会话7.2、保存会话的两种技术7.3、Cookie7.4、Session(重点)8、JSP8.1、什么是JSP8.2、JSP原理8.3、JSP基础语法JSP表达式jsp脚本⽚段JSP声明8.4、JSP指令8.5、9⼤内置对象8.6、JSP标签、JSTL标签、EL表达式9、JavaBean10、MVC三层架构10.1、以前的架构10.2、MVC三层架构11、Filter (重点)12、监听器13、过滤器、监听器常见应⽤14、JDBC15、SMBMS(超市管理项⽬)1、基本概念1.1、前⾔web开发:web,⽹页的意思,·静态webhtml,sss提供给所有⼈看的数据始终不会发⽣变化!动态web淘宝,⼏乎是所有的⽹站;提供给所有⼈看的数据始终会发⽣变化,每个⼈在不同的时间,不同的地点看到的信息各不相同!技术栈:Servlet/ISP,ASP,PHP1.2、web应⽤程序web应⽤程序:可以提供浏览器访问的程序;a.html、b.html.….多个web资源,这些web资源可以被外界访问,对外界提供服务;你们能访问到的任何⼀个页⾯或者资源,都存在于这个世界的某⼀个⾓落的计算机上。
java 原理
Java是一种面向对象的编程语言,由SUN Microsystems公司(现已
被Oracle Corporation收购)开发。
Java编程语言具有可移植性、高效性、安全性和易学性等特点,因此被广泛应用于Web应用程序、桌面应用
程序和移动应用程序等领域。
Java的工作原理如下:
1. 编写Java代码:Java代码是基于面向对象编程(OOP)的,它通
过类和对象封装数据和行为。
2. 编译Java代码:Java代码经过编译器编译成字节码文件
(.class),字节码是一种中间代码,它可以在任何平台上执行。
3. Java虚拟机(JVM):Java虚拟机是Java平台的核心组件,它是
一个运行字节码文件的虚拟计算机。
JVM负责将字节码文件转换成机器语言,并且管理内存、线程、安全和性能等方面。
4. 执行Java程序:一旦JVM加载了字节码文件,它就会在内存中生
成对象并运行程序。
在运行时,JVM会根据程序的需求来执行相应的操作。
当程序执行完毕或者发生异常的时候,JVM会终止程序的执行。
总之,Java的核心思想是“Write once, run anywhere”(一次编写,到处运行),这意味着Java程序的字节码可以在不同的平台上运行,而不需要重新编译。
这是Java成为流行编程语言之一的重要原因之一。
一、介绍WebSocket技术WebSocket是一种在单个TCP连接上进行全双工通信的协议,它是HTML5的一部分,允许服务器与客户端之间进行双向实时通信。
通过WebSocket,服务器可以随时向客户端发送消息,而不需要客户端发起请求。
二、Java中的WebSocket技术Java中的WebSocket技术通过JSR-356规范提供支持,它为开发者提供了一种在Java应用程序中实现WebSocket通信的标准方式。
使用Java的WebSocket API,开发者可以简单快捷地创建基于WebSocket的应用程序。
三、Java中的WebSocket原理1. WebSocket类在Java中,WebSocket技术的实现主要依赖于javax.websocket包中的相关类和接口。
其中,最核心的类是javax.websocket.server.ServerEndpoint,它用于定义WebSocket端点。
2. 注解Java中的WebSocket端点可以通过注解ServerEndpoint进行标识。
这是一个非常重要的注解,它指定了一个类是WebSocket服务器端点,并指定了该端点的访问URL。
3. 生命周期WebSocket端点类的生命周期由容器管理。
当客户端发起WebSocket连接请求时,容器会实例化端点类,并调用对应的生命周期方法,如OnOpen、OnClose、OnMessage和OnError。
4. 编程接口Java中的WebSocket技术提供了一套简洁而强大的编程接口,开发者可以重写生命周期方法和业务方法,在这些方法中实现对WebSocket连接的管理和消息的处理。
5. 消息处理WebSocket端点类中提供了OnMessage注解,用于标识消息处理方法。
当客户端发送消息时,容器会调用对应的消息处理方法,开发者可以在这里实现对消息的处理逻辑。
6. 广播消息Java中的WebSocket技术支持广播消息,开发者可以通过容器提供的广播API向所有连接的客户端发送消息,实现实时通信。
第一章1.画出B/S结构工作原理图,并能够口头叙述出来B/S结构的Web应用程序的运行过程是:首先,用户通过客户端浏览器向服务器端发送请求;服务器接收到请求后,需要对用户发送过来的数据进行业务逻辑处理,多数还伴随对数据库的存取操作;最后,服务器将处理结果返回给客户端浏览器。
2.Tomcat安装目录中bin目录、lib目录、webapps目录分别存放什么文件?bin:包含启动和终止Tomcat服务器的脚本,如:startup.bat、shutdown.bat;lib:包含服务器和Web应用程序使用的类库,如:servlet-api.jar、jsp-api.jar;webapps:Web应用的发布目录,服务器可对此目录下的应用程序自动加载;3.客户发出请求、服务器端响应请求过程中,说法正确的是_____。
DA、在客户发起请求后,DNS域名解析地址前,浏览器与服务器建立连接B、客户在浏览器上看到结果后,释放浏览器与服务器连接C、客户端直接调用数据库数据D、Web服务器把结果页面发送给浏览器后,浏览器与服务器断开连接4.Tomcat安装目录为:“d:\Tomcat5.5”,使用默认端口号。
启动Tomcat后,为显示默认主页,在浏览器地址栏目中输入_____。
CA、http://localhost:80B、http://127.0.0.1:80C、http://127.0.0.1:8080D、http://127.0.0.1:80805.JDK安装配置完成后。
在MS DOS命令提示符下执行_____命令,测试安装是否正确?CA、javaB、JAVAC、java -versionD、JAVA –version6.下列几项中,不属于基于B/S结构的Web应用的组成部分的是_____。
CA、客户端浏览器B、Web服务器C、客户端软件D、数据库服务器第二章1.下述Servlet的处理流程中表述不正确的步骤是_____。
java过滤器的工作原理
过滤器是Java Web应用程序中的组件,用于对请求和响应进行预处理和后处理。
它的工作原理如下:
1. 客户端发起请求到服务器,请求首先会经过过滤器。
2. 过滤器对请求进行拦截,并可以在请求到达目标资源之前进行预处理操作,如验证用户身份、检查请求参数等。
3. 过滤器可以修改请求的内容,比如添加、修改或删除请求头信息。
4. 过滤器将处理后的请求传递给下一个过滤器或目标资源。
5. 目标资源处理请求并生成响应。
6. 响应首先会经过与请求相反的过滤器链,过滤器可以在响应返回客户端之前进行后处理操作,如对响应内容进行压缩、加密等。
7. 过滤器可以修改响应的内容,比如修改响应头信息、添加新的响应内容等。
8. 经过所有的过滤器链后,响应将返回给客户端。
通过这个过程,过滤器可以对请求和响应进行拦截、加工和修改,实现对Web应用程序的统一处理和控制。
过滤器的工作
原理使得开发者可以在不修改目标资源的情况下,对请求和响应进行控制,提高代码的复用性和可维护性。
高职计算机专业《Java Web开发》说课稿一、教学目标1.知识目标:o学生能够理解Java Web开发的基本概念、架构及主要技术。
o掌握Servlet、JSP、MVC模式等基本知识点。
o了解并能使用Tomcat等Web服务器进行Java Web应用的部署与调试。
2.能力目标:o能够独立设计并实现简单的Java Web应用项目。
o能够熟练使用Eclipse等开发工具进行Java Web开发。
o具备解决实际开发中遇到的基本问题的能力。
3.情感态度价值观目标:o培养学生的团队合作精神和良好的沟通能力。
o激发学生对Java Web开发的兴趣和热情,树立持续学习的意识。
o培养学生耐心、细致的工作态度,以及对技术创新的追求。
二、教学内容4.重点内容:o J ava Web开发环境搭建(JDK、Tomcat、Eclipse)。
o S ervlet的生命周期及基本应用。
o J SP的基本语法及与Servlet的结合使用。
o M VC模式在Java Web开发中的应用。
5.难点内容:o S ervlet与JSP的协作机制。
o M VC模式的实现及在项目中的具体应用。
o J ava Web应用的安全性及性能优化。
三、教学方法-讲授法:用于介绍Java Web开发的基础概念和理论知识。
-讨论法:组织学生分组讨论MVC模式的优缺点,增强学生的参与度。
-案例分析法:通过分析具体的Java Web项目案例,帮助学生理解理论知识在实际中的应用。
-实验法:通过动手实验,让学生亲身体验Java Web应用的开发过程。
-多媒体教学:利用PPT、视频等多媒体资源,丰富教学内容,提高学生的学习兴趣。
四、教学资源-教材:《Java Web开发入门到精通》-教具:计算机、投影仪-实验器材:Eclipse开发工具、Tomcat服务器-多媒体资源:PPT课件、Java Web开发视频教程、在线文档五、教学过程六、课堂管理1.小组讨论:将学生分成小组,每组分配一个讨论主题,确保每个学生都有发言机会,促进团队合作。
java web 实验报告《Java Web 实验报告》一、实验目的本次实验旨在通过学习和实践,掌握Java Web开发的基本原理和技术,包括Servlet、JSP、Tomcat等内容。
通过实验,深入理解Java Web的工作原理和应用场景,为今后的实际项目开发奠定基础。
二、实验内容1. Servlet的基本原理和用法2. JSP页面的创建和使用3. Tomcat服务器的搭建和部署4. Java Web开发的常见问题和解决方法三、实验过程1. 首先,我们学习了Servlet的基本概念和用法,包括如何创建一个Servlet类、如何处理HTTP请求和响应等内容。
通过编写简单的Servlet程序,加深了对Servlet的理解。
2. 接着,我们学习了JSP的基本语法和用法,包括如何创建一个JSP页面、如何使用JSP标签等内容。
通过编写简单的JSP页面,加深了对JSP的理解。
3. 然后,我们学习了Tomcat服务器的搭建和部署方法,包括如何下载和安装Tomcat、如何配置Tomcat服务器等内容。
通过部署自己编写的Servlet和JSP程序,加深了对Tomcat服务器的理解。
4. 最后,我们学习了Java Web开发中常见的问题和解决方法,包括如何处理乱码问题、如何处理表单提交等内容。
通过实际调试和解决问题,加深了对JavaWeb开发的理解。
四、实验结果通过本次实验,我们成功掌握了Java Web开发的基本原理和技术,包括Servlet、JSP、Tomcat等内容。
我们能够编写简单的Java Web程序,并且能够部署到Tomcat服务器上进行访问。
同时,我们也学会了如何解决Java Web开发中常见的问题,为今后的实际项目开发积累了经验。
五、实验总结本次实验是一次非常有意义的学习和实践过程。
通过实验,我们不仅加深了对Java Web开发的理解,还提升了自己的实际操作能力。
同时,我们也意识到Java Web开发是一项非常重要的技能,对于今后的职业发展有着重要的意义。
《Java Web项目开发实战》在当今互联网时代,Web项目的开发已经成为了各行各业中不可或缺的一部分。
而在Web项目中,Java作为一门强大的编程语言,具有着广泛的应用和优越的性能,是Web开发中不可或缺的一部分。
在本文中,我们将探讨如何使用Java Web开发实现一个高效、可靠、易于维护和扩展的Web 应用程序的核心知识。
一、Java Web开发核心技术1. Servlet技术Servlet是Java中Web开发的核心技术之一。
Servlet是一个Java编写的类,用于处理HTTP协议的请求和响应。
当Web服务器接收到客户端请求后,它会将请求传递给相应的Servlet来处理。
Servlet具有可重用性、可扩展性和可维护性等优点,在开发Web应用程序时应用广泛。
2. JSP技术JSP是Java Server Pages的缩写,它是JavaWeb开发的另一个关键技术。
JSP是一种动态页面技术,它允许在HTML页面中嵌入Java代码。
JSP的核心原理是将JSP页面编译为Servlet,然后在Web服务器中执行。
JSP 允许Web开发人员使用Java代码、表达式和标签,快速、便捷地创建动态页面,从而增强了Web应用程序的交互性和可视性。
3. JDBC技术JDBC是Java Database Connectivity的缩写,它是JavaWeb开发中与数据库交互的核心技术。
JDBC提供了一组API,使JavaWeb开发人员可以使用标准的SQL语句来访问不同类型的数据库。
JDBC的重要作用在于使Web 应用程序可以从数据库中检索和更新数据,从而实现数据的持久化。
4. HTML\/CSS\/JavaScript技术HTML、CSS和JavaScript是Web前端开发的核心技术。
HTML是页面的基本结构,CSS可以用于页面的样式和布局,JavaScript则可以在页面上实现各种交互效果。
Web开发人员能够通过熟练掌握这三种技术,创建出高效、易维护和易扩展的Web应用程序。
web自动化原理Web自动化是指通过编写脚本或使用自动化工具,对网站进行自动化测试、操作或数据提取的过程。
它可以模拟用户在浏览器上的行为,以实现自动化完成一系列操作的目的。
下面将介绍Web自动化的原理及相关技术。
Web自动化的原理主要包括以下几个方面:1.浏览器控制Web自动化需要通过程序控制浏览器,模拟用户在浏览器上的各种操作。
常用的浏览器控制方式有两种:一种是通过直接控制软件接口来进行操作,比如使用Selenium WebDriver等工具;另一种是通过模拟用户操作系统级别的输入事件来实现控制,比如使用pyautogui等工具。
2.元素定位与操作3.数据交互与验证Web自动化往往需要与后端数据进行交互,包括填写表单、提交数据、接收返回结果等。
这些操作可以通过模拟用户的输入来实现,如输入框输入数据、点击提交按钮等。
在完成操作后,还需要对返回结果进行验证,比如判断是否出现预期的页面、消息是否正确等。
4.数据采集与处理Web自动化可以用于数据采集,即通过自动化的方式抓取网站上的数据。
通过定位元素,并从中提取数据,然后进行进一步处理和分析。
数据采集可以应用在多个领域,比如市场调研、竞品分析等。
5.并发与扩展由于自动化测试或操作需要在多个浏览器或页面上进行,并且需要处理大量的元素和数据,因此需要实现并发执行和扩展能力。
可以通过多线程、分布式等方式进行,以提高效率和性能。
在实现Web自动化的过程中,有一些常用的技术和工具,包括:1. Selenium WebDriverSelenium是一个自动化测试工具,其中的WebDriver可以用于控制浏览器进行自动化测试和操作。
它提供了多种语言的接口,包括Java、Python、JavaScript等,可以实现元素的定位与操作、页面跳转、表单提交等功能。
2. PyautoguiPyautogui是Python的一个库,用于模拟鼠标和键盘操作。
它可以实现控制浏览器窗口、点击按钮、输入文本等功能。
[JavaWeb工作原理]
[第一章]
一什么是JavaWeb?
JavaWeb是用Java技术来解决相关web互联网领域的技术总和。
web包括:web服务器和web客户端两部分,在第一个项目(贷款计息查询服务器)的时候已经知道在Web服务器的作用是接受客户端请求,然后向客户端返回一些结果.浏览器的作用是允许用户请求服务器上的某个资源,并且向用户显示请求的结果,HTML用于告诉浏览器怎样向用户显示内容,HTTP是WEB上客户端和服务器之间通信所用的协议
二HTTP协议
Http是一种超文本传输协议(HyperText Transfer Protocol),他是一套计算机在网中通信的一种规则,在TCP/IP体系结构中,HTTP属于应用层协议,位于TCP/IP协议的顶层.HTTP是一种无状态的协议,意思是指在WEB浏览器和WEB服务器之间不需要建立持久的连接,HTTP 定义的事物处理由以下四步组成:
1.客户端和WEB服务器建立连接
a)客户端和服务器的连接就是与客户端与服务器的一个TCP Socket套接字连接
2.客户端发送HTTP请求
a)请求包含:请求行--请求行是一个ACCII文本行,由请求的HTTP方法,请求的
URL,HTTP版本组成,中间用空格分开,
b)请求头---HTTP协议使用HTTP头来传递请求的元信息,
c)空行---发送回车符和退行,通知服务器以下不再有请求头
d)消息体--HTTP请求中带有查询字符串时,如果是GET方法,查询字符串或表单
数据附加在请求行中,那么消息体就没有内容,如果是POST方法,查询字符串或
表单数据就添加在消息体重
3.服务器端接收客户端的HTTP请求,生成HTTP相应回发
a)响应包含:状态行---每个HTTP响应以一个状态行开头,它由HTTP协议版本,
响应状态码,响应描述组成,中间用空格分开
b)响应头---响应头与请求头一样,也是一个用冒号分隔符的名称/值对,冒号前面
是HTTP头得名称,后面是HTTP头得值
c)空行---发送回车符和退行,通知服务器以下不再有响应头
d)消息体---要发送回客户端的HTML文档或其他要显示的内容等,WEB服务器
把要发送给客户端的文档信息放在消息体中
4.服务器端关闭连接,客户端解析并回发响应,恢复页面
a)HTTP响应到达客户端后,浏览器先解析HTTP响应中的状态行,查看请求是否
成功的状态代码,然后开始一步步解析响应
三WEB服务器缺陷与CGI
WEB服务是被设计用来向客户端提供HTTP服务的,它只是能向客户端提供静态网页内容.我们知道,静态网页只是原封不动的待在WEB服务器目录中,服务器知道静态页面,并把它原样传回到客户端,每个客户端看到的页面都是一样的,所以WEB服务器它本身并不具备动态页面,所以在最早有了解决办法CGI,
CGI即通用网关接口(Common GateWay Interface),是最早用于创建动态服务器端内容的一种技术,使用CGI,WEB服务器可以将客户端的请求传递给一个外部程序,这个外部程序可以执行,创建内容,并且将响应传递给客户端,
但是他在处理一个请求的时候还行,但是在处理对个请求的时候是没有一个用户请求就新开一个进程,我们都知道进程是有独立的内存空间的,如果请求用户多的时候那么就会导致服务器的崩溃,
四Java的解决方案
在java里,Servlet以及web容器,被设计用来解决CGI的问题,为WEB开发者创建一个健壮的服务器环境,
一、Servlet
a)Servlet是J2EE规范,
b)它是一个普通的JAV A类,集成于HttpServlet,用于处理动态页面的响应
c)它是与平台无关的JAV A类,能够编译成平台中立的字节码,从而被基于JAV A技术
的WEB服务器动态装载和运行
d)Servlet在服务器端得工作主要是执行如下任务
i.读取客户端发送的显示和隐式数据
ii.生成结果
iii.向客户端发送显示数据(文档)和隐式数据(HTTP响应数据)
二、WEB容器
a)WEB容器主要是如Tomcat,Jboss,WebLogic,WebSphere,Oracle9iAS等,其中Tomcat
是一种用的很广泛的Web容器,它是一个开放源代码的免费的中间件产品
b)WEB容器必须对Servlet支持以下几点
i.通信支持
ii.生命周期管理
iii.多线程支持
iv.JSP支持
v.处理安全性
三、Servlet与WEB容器配合处理请求和响应
a)与GUI类似,Servlet允许一个请求被一个程序处理.并且使用同样的程序产生动态的
响应,此外,Servlet特别定义了一个有效的生命周期,使得用单个进程管理所有请求
成为可能,它消除了CGI的多进程缺陷,允许主进程在多个Servlet和多个请求之间
共享内存资源.
b)Servlet运行在一个主进程或者一个父进程中,每个用户发送请求信息到服务器,就会
在Servlet进程里创建一个线程,它们共享一个资源
c)最后,WEB容器和Servlet对请求和响应的处理如下
i.客户端向WEB服务器发起一个HTTP请求
ii.HTTP请求被WEB服务器几首,如果请求的是静态页面,则由WEB服务器负责处理,如果请求的是JAV A WEB组件(Servlet或者JSP),则移交给WEB容器, iii.WEB容器根据Servlet的配置文件(web.xml),确定调用的具体Servlet类,并把request对象,response对象传给它
iv.Servlet通过request对象知道客户端的使用者是谁,客户的请求信息是什么和其他的一些信息
v.一旦Servlet完成了请求的处理,WEB容器就会刷新response,把控制权返回给WEB服务器
五Java Web应用程序的组成
1.配置文件---每个WEB应用程序包括一个配置文件,WEB.XML
2.静态文件和JSP
3.类文件和包---WEB应用程序装载和管理自定义的JAV A代码
4.网页可以放在WEB应用程序的根目录下,根据动态网页或者静态网页放在不同的目录里
5.图像一般会放在images子目录中,不过这是习惯,不是必须的
6.Servlet类,JavaBean类---编译为Class文件后是防在WEB-INF/classes目录的
7.Lib目录用来包含应用程序任何所需要的jar文件
8.标记描述其放在WEB-INF目录下
9.Applet程序放在应用的目录下
10.WEB-INF目录下存放web.xml部署描述文件器
剩下的WEB容器Tomcat主要是在实践中应用,在这里不做总结。