学习VUE的另类收获

从刚刚学习Vue开始,我就有疑惑,vue最后是webpack打包,那么类似像Java的jsp页面,好多的数据后端人员岂不是修改jsp很费力。

常常听说要前后端分离,但是一般的Java项目jsp好像没有做到前后端分离。

使用jsp的痛点:

1.动态资源和静态资源全部耦合在一起,无法做到真正的动静分离。服务器压力大,因为服务器会收到各种http请求,例如css的http请求,js的,图片的,动态代码的等等。一旦服务器出现状况,前后台一起玩完,用户体验极差。


2.前端工程师做好html后,需要由java工程师来将html修改成jsp页面,出错率较高(因为页面中经常会出现大量的js代码),修改问题时需要双方协同开发,效率低下。


3.jsp必须要在支持java的web服务器里运行(例如tomcat等),无法使用nginx等(nginx据说单实例http并发高达5w,这个优势要用上),性能提不上来。


4.第一次请求jsp,必须要在web服务器中编译成servlet,第一次运行会较慢。


5.每次请求jsp都是访问servlet再用输出流输出的html页面,效率没有直接使用html高。


6.jsp内有较多标签和表达式,前端工程师在修改页面时会捉襟见肘,遇到很多痛点。


7.如果jsp中的内容很多,页面响应会很慢,因为是同步加载


以前老的方式是:


1.客户端请求
2.服务端的servlet或controller接收请求(路由规则由后端制定,整个项目开发的权重大部分在后端)
3.调用service,dao代码完成业务逻辑
4.返回jsp
5.jsp展现一些动态的代码




新的方式是:


1.浏览器发送请求
2.直接到达html页面(路由规则由前端制定,整个项目开发的权重前移)
3.html页面负责调用服务端接口产生数据(通过ajax等等)
4.填充html,展现动态效果。


大中型公司需要专业人才,小公司需要全才,但是对于个人职业发展来说,我建议是分开。你要是这辈子就吃java这碗饭,就不要去研究什么css,js等等。

把你的精力专注在java,jvm原理,spring原理,mysql锁,事务,多线程,大并发,分布式架构,微服务,以及相关的项目管理等等,这样你的核心竞争力才会越来越高,正所谓你往生活中投入什么,生活就会反馈给你什么






你可能感兴趣的:(初入职场(Java使用心得))