Java Web应用开发
2016-12-05 08:53
435 查看
Java Web应用开发
(以下的信息参考了一些百度以及书上的资料)在目前来说,运用得最多的网络应用程序开发体系结构可以分为两种:一种是基于浏览器/服务器的B/S结构,另一种就是基于客户端/服务器的C/S结构。
1.C/S体系结构
在这种结构中通常采用高性能的PC机或者工作站,并采用大型数据库系统。这种结构是充分利用两端硬件的环境的优势,将任务合理地分配到客户端和服务器,从而降低了系统的通信开销。C/S结构的基本原则就是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户端完成数据处理,数据表示以及用户接口功能;服务端完成DBMS(数据库管理系统)的核心功能。这种是客户请求服务,服务器提供服务的处理方式。
Client和Server常常分布在相处很远的两台计算机上,Client程序的任务就是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务就是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。
C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快,而且运行数据库服务器程序的机器也称为应用服务器。一旦服务器程序启动了,就随时等待响应客户端发来的请求。
但是客户端需要安装专用的客户端软件。
其实B/S与C/S没有本质的区别,B/S属于C/S,浏览器只是特殊的客户端;B/S这个特殊的C/S架构规定必须实现HTTP协议;
2.B/S体系结构
这种客户端不需要开发任何用户界面,而是采用浏览器,通过Web浏览器向服务器发送请求,由Web服务器进行处理,并将处理结果逐级传回客户端。这种结构利用不断成熟和普及的浏览器技术实现了原来需要复杂专用软件才能实现的强大功能,从而节约了开发成本。它已经成为了当今应用软件的首选体系结构。但是应用服务器运行数据负荷较重。由于B/S构架管理软件只安装在服务器端上,网路管理人员只需要管理服务器就可以了,用户解密那主要事务逻辑在服务器端完全通过WWW浏览器实现,极少部分事务逻辑在前端实现。正因为这样,许多单位都备有数据库存储服务器。优缺点:
【1】开发和维护成本
C/S结构的开发和维护成本都比B/S高。采用C/S结构时,对于不同的客户端要开发不同的程序,而且软件的安装,调试和升级都需要在所有的客户机上进行。系统维护员都必须将客户端原有的软件卸载,再安装新的版本并进行配置。而对于B/S结构来说,不必再客户端进行安装及维护。如果将前面企业的C/S结构软件换成B/S结构的软件,这样在软件升级后,系统的维护员只需要将服务器的软件升级到最新版本,对于其他客户端,只要重新登陆原来的系统就可以使用最新的版本的软件了。【2】客户端负载
C/S结构的客户端不仅要负责与用户的交互,收集用户的信息,而且还需要完成通过网络向服务器请求对数据库,电子表格等信息处理工作。而B/S结构的客户端把事务处理逻辑部分交给了服务器,由服务器进行处理,客户端只需要进行显示,但是使得应用程序服务器的运行数据负荷较重。【3】安全性
C/S的安全性较高,而对于B/S来说,由于使用的人数很多,且不固定,所以安全性就会低一些。Web应用程序的工作原理
Web应用程序大概分为静态网站和动态网站。静态的网站一般使用HTML语言来编写,放在Web服务器上,用户使用浏览器通过HTTP协议请求服务器上的Web页面,服务器上的Web服务器将接收到的用户请求处理后,再发送给客户端浏览器,显示给用户。动态网站
这些网站通常使用HTML语言或者动态脚本语言(如JSP,ASP或是PHP等)编写,并将编写后的程序部署到Web服务器上,由Web服务器对动态脚本代码进行处理,并转化为浏览器可以解析的HTML代码,返回给客户端浏览器,显示给用户。
*动态网页指的是具有交互性,内容可以自动更新,并且内容会根据访问的时间和访问者而改变。交互性指的是网页可以根据用户要求动态改变或者改变响应。
Web应用技术
通常会需要两种技术,客户端应用的技术主要用于展现内容,而服务器端应用的技术,则主要是用于进行业务逻辑的处理和与数据库的交互等。1.客户端应用的技术
比较常用的客户端技术包含HTML语言,CSS,Flash和客户端脚本技术。1) HTML
是顾客端技术的基础,主要用于显示网页的信息,由浏览器解释执行,它不需要编译。并且HTML语言不区别大小写。
2) CSS
样式表,可以有效地对页面布局,字体,颜色,背景和其他效果实现更加精确的控制。它可以优化网页的速度。
3) 客户端脚本技术
是指嵌入到Web页面中的程序代码,这些程序代码是一种解释性的语言,浏览器可以对客户端进行解释。
JSP:JSP是以Java基础开发的,JSP页面中的HTML代码用来显示静态内容部分,嵌入到页面中的Java代码与JSP标记用来生成动态的内容部分。JSP允许程序员编写自己的标签库来完成应用程序的特定要求。JSP可以被预编译,提高了程序的运行速度。另外JSP经过一次的编译后就可以随时地进行运行。
相关文章推荐
- java模糊关键字查询
- 【Java每日一题】201612015
- java网上商城项目第1篇之用户注册模块
- spring之autowired
- 【Java每日一题】201612015
- MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法
- Java分层
- 使用Eclipse Color Thems插件导入xml的配色方案
- java学习基础
- 个人学习总结
- Java高并发程序设计
- myeclipse 各版本下载(自Myeclispe中文网)
- Java Jni入门(一):Hello Jni(在Java中调用C库函数)
- Java编程的逻辑 (56) - 文件概述
- java 集合
- java-20161204基础
- eclipse部署openfire 4.0.4
- Spring中用context:property-placeholder给项目装载配置文件
- 哲学家就餐问题(java实现)
- 生产者消费者问题(java实现)