010-64928252 400-6446-365

JSP动态页面开发优势和劣势

2019-04-13

网站前端:html5 js jquery ajax css ps flash json xml
网站后端(服务器):jsp php asp.net
网站构成:运行平台 web服务器和应用服务器 服务器端脚本 客户端脚本 数据库
静态网页静态网页是不能随便改动的,静态是一次性写好放在服务器上进行浏览的,如果想改动,必须在页面上修改,然后再上传服务器覆盖原来的页面,这样才能更新信息,比较麻烦,使用者不能随时更改。
动态网页动态网页是可以随时改变内容的,有前后台之分,管理员可以在后台随时更新网站的内容,前台页面的内容也会随之更新,比较简单易学。
动态网页的特点:  交互性(网页会根据用户的要求和选择而动态改变和响应)。 自动更新(无需手动操作,便会自动生成新的页面),随机性(不同的人和时间访问同一网址会产生不同的页面效果)

Ajax是一种用于创建快速动态网页的技术。(可进行局部更新)
Linux系统:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
C/S(Client/Server或客户/服务器模式):word excel
特点:升级麻烦、 维护不易、 安全性好、 速度快
B/S(Brower/Server或浏览器/服务器模式):新浪 搜狐
特点:升级容易、 维护方便、 对客户机性能要求不高
两者区别:cs架构的应用程序需要在用户的计算机上进行安装,而bs架构的应用程序不需要在用户的计算机上进行安装,只需要有一个浏览器就可以运行。

JSP的优缺点
  1. JSP技术极大的增加了产品的复杂性.为了获得 系统的跨平台功能和产品伸缩能力,java系统开发了多种产品,如,JRE,JDK,J2EE,EJB,JSWDK,JavaBeans ,只有有效地将它们组合在一起,才能产生强大的功能.(部署有难度)
  2. java的高效率运行需要占用大量的内存和硬盘空间. 一方面,java的高速运行是通过 .class文件常驻内存来实现的.另一方面,还需要硬盘空间来存储一系列的.java 文件和.class文件以及对应的版本文件.(硬件要求高)
   3. JSP程序调试困难.

 JSP页面执行时, 首先被转换为 .java文件(Servlet), 然后将.java文件编译为字节码文件. 这样,出错信息实际上指向的是转换后的那个.java文件(Servlet), 而不是JSP本身. (调试有难度)

 优点:

1.JSP代码跨平台, 即一次编写,处处运行
众所周知,由于微软的垄断性,它的产品可移植性做得十分差,ASP也不例外,
2.JSP组件跨平台

 JSP组件(企业JavaBeans,JavaBeans或定制的JSP标签)都是跨平台可重用的.企业JavaBeans组件可以访问传统的数据库,并能以分布式系统模式工作于Solaris,Linux,UNIX和Windows平台.

 3.支持多种网页格式

 目前, JSP技术支持的网页格式还没有一个明确的标准.一般来说,JSP技术既可以支持HTML/DHTML的传统浏览器文件格式,又可以支持应用于无线通信设备如移动电话,PDA等设备进行网页预览的WML文件格式,还可以支持其他一些B2B电子商务网站应用的XML格式.

 4.JSP标签可扩充性
尽管ASP和JSP都使用标签与脚本技术来制作动态Web网页,JSP技术允许开发者扩展JSP标签,定制JSP标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖.由于定制标签技术,使网页制作者降低了制作网页的复杂度.
5.健壮性与安全性
由于JSP页面使用的脚本语言是java语言, 因此,它就具有java技术的所有好处, 包括健壮的存储管理和安全性.


JSP前后分离的优势:

1.可以实现真正的前后端解耦,前端服务器使用nginx。

前端/WEB服务器放的是cssjs,图片等等一系列静态资源(甚至你还可以cssjs,图片等资源放到特定的文件服务器,例如阿里云的oss,并使用cdn加速),前端服务器负责控制页面引用&跳转&路由,前端页面异步调用后端的接口,后端/应用服务器使用tomcat(把tomcat想象成一个数据提供者),加快整体响应速度。

(这里需要使用一些前端工程化的框架比如nodejs,react,router,react,reduxwebpack)

2.发现bug,可以快速定位是谁的问题,不会出现互相踢皮球的现象。

页面逻辑,跳转错误,浏览器兼容性问题,脚本错误,页面样式等问题,全部由前端工程师来负责。

接口数据出错,数据没有提交成功,应答超时等问题,全部由后端工程师来解决。

双方互不干扰,前端与后端是相亲相爱的一家人。

3.在大并发情况下,可以同时水平扩展前后端服务器,比如淘宝的一个首页就需要2000+台前端服务器做集群来抗住日均多少亿+的日均pv

4.减少后端服务器的并发/负载压力

除了接口以外的其他所有http请求全部转移到前端nginx上,接口的请求调用tomcat,参考nginx反向代理tomcat。

且除了第一次页面请求外,浏览器会大量调用本地缓存。

5.即使后端服务暂时超时或者宕机了,前端页面也会正常访问,只不过数据刷不出来而已。

6.也许你也需要有微信相关的轻应用,那样你的接口完全可以共用,如果也有app相关的服务,

那么只要通过一些代码重构,也可以大量复用接口,提升效率。(多端应用)

7.页面显示的东西再多也不怕,因为是异步加载。

8.nginx支持页面热部署,不用重启服务器,前端升级更无缝。

9.增加代码的维护性&易读性(前后端耦在一起的代码读起来相当费劲)。

10.提升开发效率,因为可以前后端并行开发,而不是像以前的强依赖。

11.在nginx中部署证书,外网使用https访问,并且只开放443和80端口,其他端口一律关闭(防止黑客端口扫描),内网使用http,性能和安全都有保障。

12.前端大量的组件代码得以复用,组件化,提升开发效率,抽出来!



TAG标签耗时:0.0057590007781982 秒
010-64928252/400-6446-365 我现在就想找顾问聊聊
让决策变的简单
好的开始是成功的一半
您需要一位互联网
顾问提供专业咨询
AI人工智能 · VR · AR · 智慧博物馆 · 智慧公园 · 景区 · 文创 · 动画
高端钱柜娱乐777 · 小程序 · APP · 微信 · H5 · 游戏 · 电商 · 年度运营
'); })();