专栏首页码思客JSP还有必要学吗 这篇文章告诉你

JSP还有必要学吗 这篇文章告诉你

java劝退教程-操作系统篇(三)

本篇文章,我们来讲讲技术,系统演进的过程对我们java开发带来的影响。本文可能会涉及到一些技术名词,不懂没有关系,先混个眼熟,我们后面会一个个详细介绍。下面会列举三个不同时期的技术,因为同时期也会有各种各样的技术,所以我们只介绍java的技术演进。

混合开发时代

天地初开,万物混沌,这是一个让人既兴奋又无奈的时代。因为JSP的流行,所以大量的公司采用JSP来开发系统。兴奋,因为他确实比较方便,特别是有了struts2的加持,使得jsp如虎添翼。但是,struts2的架构虽然优秀,可是显得非常的臃肿,繁杂,业务简单的系统还好,稍微复杂点的系统,光是配置文件就能整的你没有脾气。撇开配置文件不说,更让人头疼的是前后端代码在一起,要么一个后端程序员把前端任务都做了,但是效果不好,因为后端程序员与专业前端技能上还是有差距的。要么后端做完给前端,出问题再还给后端,这个给项目的正常推进以及项目管理带来十分大的困难。

我们看看JSP带来的问题

java工程师:我这个功能写完了,你把前端效果调一下呗 前端工程师:我看了一下拿不到数据啊,我怎么调 java工程师:数据我给了啊 前端工程师:那为什么显示不出来 java工程师:我写了个逻辑控制啊,你需要传递XX参数就能看到了啊 前端工程师:这个逻辑前端就能做啊,为啥要到后端处理再给我? java工程师:#¥@#¥¥%##¥%..... 前端工程师:$%^$%@#$......

其实,最根本的原因就是,JSP在MVC(了解即可,后面单独介绍)结构中属于展示层,但是在JSP又可以写业务甚至做数据层的事,这就造成了设计上的困难与开发中的混乱。在这种情况下,亟需一种能够将展示层与业务分离开的技术,这样才能加快软件开发的进度,并且更加容易设计和维护系统。

前后分离时代

为了解决以上问题,技术在前后端不断的进化。

springmvc

java从jsp转向了restful结构,springMCV一跃而起,将struts2远远抛在身后,springMVC最大的方便就是配置文件大大降低,甚至已经做到了0配置。通过注解替代配置确实是一个令人兴奋的做法。前后端不再需要往同一个文件里写逻辑,而是通过json的方式传输数据。java工程师可以不需要再去处理前端问题,而将工作重点转向了业务的编写。一般来说,后端开发的过程中会有接口文档,告诉前端人员如何获取数据,数据结构是什么样的,这样可以极大的方便前端人员开发。

前端技术也在不断的演进之中,与后端进行分离以后,采用ajax技术对服务器进行请求,而基于restful风格的项目也能够很好的处理前端的请求,前端也可以专注于自己的组件化,工程化改造。

我们嗯看看前后分离的效果

前端工程师:我页面做完了需要数据 java工程师:好的,文档已经写好,你照着文档上的路径去获取数据就行了

这样的结构无疑大大提升了工作效率和降低了沟通成本。

移动应用时代

到了移动应用时代,后端不再单单为WEB提供数据接口了,因为会有各种客户端都会请求服务器,比如手机,pad等。到了这个时候,已经是必须将前端和后端分开,因为现在的前端不仅仅包含WEB页面了。

由于现在的企业级应用,规模在不断的扩大,架构也越来越复杂,所以到目前,又出现了新的前后端技术来接受挑战。比如spring的spring boot 这个简直就是打开了新世界的大门,让开发过程更加便捷,比如开发一个项目会需要很多jar包,很多包又会有不同的版本,每次组织一次开发工具都会劳民伤财,累觉不爱,spring boot出现以后你就不怎么需要去管理这些基础设施了,当然他还有很多其他厉害的功能,我们后面再说。总的说来,你可以更加的专注于业务的开发,而不是将大把的时间拿去调整项目的配置。

angular - react - vue

前端也出现了很多革命性的框架,比如拥抱经典的VUE,一切都是JavaScript 的react,他们带来的是构建大型工程的便利以及极高的性能。

看完这个,很多人觉得我是不是可以不用学习jsp了?其实如果你想深入的学习下去,jsp还是很有必要的,因为jsp与servlet密不可分,但是你知不知道spring mvc 是基于servlet 实现的?所以学习的时候还是有要科学的方法和步骤,这样不但能学到东西,还能学的扎实。

本文分享自微信公众号 - 码思客(javamsk),作者:码思客

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-06-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 类加载与反射 3

    如果你认为反射只有前面介绍的那些作用,那么就太小看这个功能了。本章再来介绍反射中更加强大的用法,反射功能可以在设计层面更好的处理一些难题,甚至改变编程的方式。

    用户5745563
  • 基础打的好 源码难不倒

    介绍完类和对象再来说String会轻松很多,因为String比较特殊,它是引用类型,但是又与普通的引用类型有点区别。看过很多其他介绍String的书籍,简单的把...

    用户5745563
  • 不好好学代码 你连当韭菜都不够格

    面向对象学了这么多,满脑子都是对象,面向对象千好万好,可是就是不知道对象到底有什么用。

    用户5745563
  • 对微前端的11个错误认识

    本文最初发布于 Bits and Pieces 博客,经原作者授权由 InfoQ 中文站翻译并分享。

    深度学习与Python
  • 半路出家,没有技术背景,怎么夯实技术基础?

    行业在发展,我也要生存,IT工资高,前端好入门。 这是我随口说的,但事实基本也是如此,许多其它行业的人,也跨界来到了前端领域。说的直白点,哪有那么热爱前端哪,无...

    web前端教室
  • 微前端究竟是什么,可以带来什么收益

    https://juejin.im/post/6893307922902679560

    苏南
  • 为什么总有人觉得前端很简单?

    最近,一位网友在 V 站上问了一个问题:我们公司技术负责人准备培训一下后端,让他们学习一下前端技术栈,从而分担一些前端的工作量。评论区有一位网友表示:“我们是这...

    深度学习与Python
  • 新时代的web与app开发

    摘要 近几年前端有着不小的变化,作为前端技术人员,一方面感慨有些自己熟知的技术逐步落幕消亡,另外一方面又看到新事物不断出现,以种种方式改进和冲击着我们的开发方式...

    IT大咖说
  • 从前端菜鸟到大神,看这一篇就够了

    结合个人经历总结的前端入门方法,总结从零基础到具备前端基本技能的道路、学习方法、资料。由于能力有限,不能保证面面俱到,只是作为入门参考,面向初学者,让初学者少走...

    逸鹏
  • 前端圈的寒冬要来?

    (上图为便利蜂某前端实习生) 前言 前段时间,有个粉丝在后台给我留言,问我今年(2017年)新手前端是否真的很难找工作?作为混迹前端圈的老司机,我竟一时语塞。思...

    闰土大叔

扫码关注云+社区

领取腾讯云代金券