声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
JavaWeb介绍
JavaWeb也就是J2EE,JavaWeb主要是使用各种Java企业级技术来解决相关web互联网领域的技术总和。
而且这些技术有一个标准也就是J2EE规范,J2EE规范是这样定义J2EE组件的:客户端应用程序和applet是运行在客户端的组件;Java Servlet和Java Server Pages (JSP) 是运行在服务器端的Web组件;Enterprise Java Bean (EJB )组件是运行在服务器端的业务组件。J2EE组件和“标准的” Java类的不同点在于:它被装配在一个J2EE应用中,具有固定的格式并遵守J2EE规范,由J2EE服务器对其进行管理。
所以web包括:web服务器和web客户端两部分。Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。
常见的技术有以下几种:
程序架构通常分为C/S和B/S架构:
C/S架构:
现在最常见的两种程序架构方式就是C/S和B/S架构,C/S也就是Client/Server架构,即客户端/服务器架构。是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。客户端和服务器端的程序不同,用户的操作主要在客户端,服务器端主要是提供数据管理、数据共享、数据及系统维护和并发控制等,客户端程序主要完成用户的具体的业务。
所以C/S架构的程序对能够减轻服务器压力,而且客户端是安装在用户本地的电脑上,调用本地的一些硬件设备就比较方便,适合用于大型游戏、音频软件、各种工具类软件的程序架构方式。
但是C/S架构也有缺点,升级更新还有维护比较麻烦,系统升级的话,全部的客户端都需要升级,而且没有客户端的话就无法使用任何的功能,设备需要提前安装、更新客户端。 因为这些特性,数据管理软件、网上购物、信息交互部分都不适合使用C/S架构。
C/S程序架构示意图:
B/S架构:
另外一种B/S架构,即Browser/Server (浏览器/服务器) 结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过浏览器实现。在这种结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。B/S结构是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser),如Chrome,Firefox或Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。
以为页面上的内容全部都是从服务器上下载下来的,以后客户端没有什么更新这一说,这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本,在浏览器上只需要刷新一下就能看到最新的内容,不用更新客户端。
但是B/S架构也有相应的缺点,游戏方面只能做网页小游戏,如果是大型游戏的话浏览器受不了,而且网络和服务器也支撑不了,因为全部的特效渲染、数据计算都得在服务器上完成后通过网络发送到浏览器上,这是不可能完成的,所以B/S架构不适合做大型游戏。B/S架构不能像C/S架构那样方便的访问、调用用户本地的硬件设备,访问起来很麻烦。B/S架构把系统功能实现的核心部分集中到服务器上,所以服务器的压力也比较大。
B/S程序架构示意图:
两种程序架构的思维导图:
在B/S架构的程序中,通过浏览器对服务器进行的请求分为动态请求和静态请求:
静态请求:
所谓静态请求,就是访问网页时仅从服务器上下载静态文件,例如网页的html、js、css、图片文件等,都属于静态文件。示意图:
动态请求:
动态请求则是你的请求会经过服务器上的程序处理,和与数据库交互,然后再反馈到网页上,例如最经典的动态请求就是登录账户,示意图:
可以实现动态页面的常见技术:
关于为什么B/S架构的服务器压力比较大:
这是因为所有的网页文件都是存放在服务器的,所以客户通过浏览器访问网页时都是需要从服务器上下载的。并且所有的请求处理都在服务器上进行,动态请求还得需要通过服务器上的应用程序进行处理,并且还要与数据库进行数据的交互,所以相对于C/S架构来说B/S架构的服务器压力要大,通过搭建服务器分布式处理和集群架构能提升服务器的性能,从而可以解决服务器由于性能不足而出现的负载过高的问题。
相关推荐
本文将深入探讨一个基于JavaEE技术的学生成绩管理系统,该系统采用JavaWeb、MYSQL数据库以及JSP技术,旨在实现管理员、教师和学生对角色信息、课程和成绩的有效管理。 首先,我们要理解JavaEE(Java Enterprise ...
我在达内学大数据——JavaEE
基于JavaEE的网上商城——零食商城 Copyright: Copyright (c) 2020 Created on 2020-5-1 Author: Version 2.0 项目描述 这是大三下学期的JavaEE作业,JavaWeb,做的一个商城,实现的功能有: 浏览主页商品、查看商品...
本教程"JavaWeb开发教程——入门与提高篇"旨在为初学者提供一个全面的学习路径,同时也为有一定基础的开发者提供进阶知识。教程包含了PDF课件和源码,使学习者能够理论结合实践,更深入地理解JavaWeb开发的核心概念...
JavaWeb 版本1.0——基于JavaEE5.0 本软件是作者上课时所使用的课件,用于JavaEE教学任务,于上课时分发给学生。 本课件大部分资料由作者完成,另一部分来源于教科书及网络,经作者整理、加工、完善后发布。 与本...
在这个JavaEE第二次上机作业——软院找人的项目中,我们将深入探讨如何实现一个高效且用户友好的分页系统。 一、分页原理 分页的基本原理是将大数据集分割成多个小部分,每个部分称为一页,用户可以逐页浏览。通常...
在"JavaWeb(上)——day02.zip"这个压缩包中,我们很可能会看到一个初步的JavaWeb项目结构,用于教学或实践目的。下面将详细介绍这些关键知识点: 1. **MyEclipse**:MyEclipse是一款强大的集成开发环境(IDE),...
【基于javaweb、mysql的图书管理系统】是一个典型的Java企业级应用项目,它结合了JavaEE技术和MySQL数据库,用于实现图书的信息化管理。这个系统的主要目的是通过网络接口为用户提供便捷的图书查询、借阅、归还等...
JavaEE作业——客户管理系统 本项目是一个基于JavaEE技术栈的客户管理系统的实现,主要运用了Spring、SpringMVC和MyBatis(SSM)这一经典的Web开发框架。该系统旨在提供一个完整的用户界面,用于对客户信息进行增、...
这份文档名为《Java EE 框架整合开发入门到实战——Spring+Spring MVC+MyBatis(微课版)课后习题答案.pdf》,它显然是关于Java EE中流行的三个框架整合使用的教程。这三个框架分别是Spring、Spring MVC和MyBatis,...
【Java应用服务器详解——云服务构建JavaWeb项目】 在Java世界中,应用服务器扮演着至关重要的角色,它们为Java应用程序提供了运行环境,尤其是对于Web应用和企业级Java应用(JavaEE应用)。根据功能,Java应用...
学习JavaEE,首先要理解其核心概念——EJB组件开发技术。EJB是JavaEE中的重要组成部分,用于实现业务逻辑,提供了事务管理、安全性和并发控制等功能。熟练掌握EJB,可以帮助开发者构建可扩展且高度模块化的应用系统...
本系统——"基于JavaEE的商城系统",便是利用JavaEE的核心技术,结合数据库管理和第三方服务,构建了一个完整的手机商城应用。本文将深入解析该系统的开发技术与实现细节。 首先,系统采用了经典的MVC(Model-View-...
《TTMS票务管理系统——基于JavaWeb的剧院后台解决方案》 TTMS,全称为Ticket Trading Management System,是一款专为剧院票务管理设计的系统。它采用JavaWeb技术栈,提供了全面的后台管理功能,包括管理员登录、...
Web透视图保留了Package Explorer,而JavaEE透视图则包含了Package Explorer、Outline、Console、Server和Navigator,这些都是进行JavaWeb开发时常用的视图。此外,课程还提到了自定义New...菜单的操作路径以及调整...
根据提供的文件信息,我们可以推断出本教程主要围绕着韩顺平老师的JavaEE系列课程中的第11部分——“一周学会Linux”展开。这表明该教程不仅覆盖了JavaEE的相关内容,还将重点放在了Linux系统的学习上。接下来,我们...
《Tomcat与JavaWeb开发技术详解》一书深入剖析了JavaWeb开发中的核心组件——Tomcat服务器,旨在帮助开发者理解并掌握如何有效地使用Tomcat进行Web应用的部署和管理。Tomcat作为开源的轻量级应用服务器,是JavaEE...
Java三大框架——Spring、Struts和Hibernate,是企业级Web应用开发中的核心组件,理解并熟练掌握它们对于提升开发效率至关重要。 首先,让我们从JavaWeb的基础开始。JavaWeb开发涉及到Servlet、JSP(JavaServer ...
教材采用《Web开发技术(Java)教程》由张娜等人编写,东软电子出版社出版,同时参考孙卫琴的《Tomcat与Web开发技术详解(第二版)》、孙鑫的《Servlet/JSP开发详解——基于Tomcat的Web开发》以及清华大学出版社的...