一、java web工作原理
当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容器。
二、工作原理2
在web程序中,是由浏览器和服务器通过http协议来建立连接的。浏览器经过http的请求协议将用户想要的信息通过客户端底层的套接字(scoket)传到web服务器。在这,web服务器会干一件事,判断页面是静态还是动态,如果是静态,web服务器就直接将用户想要的信息通过响应封装好了之后再返回给浏览器;如果是动态,web服务器会将接收到的内容传递给web容器,web容器再将内容传给Servlet,(那么web容器是怎么将内容传给servlet的呢?分析:web容器在将信息传递给servlet的时候必须到web.xml的配置文件中去找到Servlet的url-pattern路径),在找到servlet后,web容器再启动一个servlet线程,然后再返回给web容器,web容器在将信息封装好传给web服务器,web服务器再将得到的信息解析后,通过响应封装好了,在传递到浏览器。
【java|java web工作原理】
推荐阅读
- Java毕业设计项目实战篇|Java项目:网上图书馆管理系统(java+jsp+servlert+mysql+ajax)
- JavaSE|【JavaSE】深入浅出掌握泛型及泛型相关细节(图文并茂)
- 环境搭建|【JDK】输入命令Javac报错详解
- tips(Java开发中常用的默认端口--持续整理)
- Java 8 中 Map 骚操作!好用到爆!!
- java|到处都开始显示地区了,这是好事儿啊!
- 数据库|MySQL 暴跌!
- 数据结构|BigDecimal使用不当,造成P0事故!
- Java学习|Spring boot微服务架构中,利用RestTemplate调用别人提供的接口