Fork me on GitHub

Java EE 序

踏上了安全这条“不归路”,越发觉得需要学习的东西还有很多。这个学期打算好好学习以下web框架。根据现实需求先从java框架开始,长路漫漫~

在谈及java web开发,我们绕不过要来瞅瞅其发展历史。也就是在spring都还没出现的时候,java是怎么作为服务器端语言进行开发的。要理解这个问题,需要知道下面的一条时间线。

一幅图展示java的技术栈。

image

java一开始作为后端语言是基于Servlet,配合其他如Tomcat JBoss容器实例(也可以简单的理解为java版http服务器)实现的。一张图展示Servlet生命周期。

image

init()过程是在Tomcat这类容器启动时执行也可以是客户端初次访问时执行,取决于web服务器配置文件。init()过程主要负责把java文件编译成jar可提供service()方法的可执行体。而destroy()则是销毁相应的servlet实体,发生在servlet发生改变或者web容器关闭。

后来发展出来了jsp,jsp可以做到Servlet的几乎所有功能,其内置的标签可以十分方便的实现后台开发,一定程度上看和ASP,PHP的形式相近。只不过JSP最终在服务端要转换成Servlet。其是基于Servlet发展起来的一种更方便开发的一门语言。

image

随后发展出来了前后端分离的MVC架构,更加贴近于服务端的Servlet又回来了,它作为纽带,链接Modle数据层和View视图层。这个时候的jsp因为其可以很好的结合html又能够和servlet构建桥梁,所以自然而然更多的被放在了视图层。伴随着MVC架构不断发展的是一堆组件,包括前端渲染引擎的出现,ORM概念的出现,成型的MVC框架的出现如spring mvc等,使得现在的基于java web开发不再是原生MVC架构,更多是采用线成的mvc框架取堆砌各个组件,极大的带来了开发的方便。而spring系列框架是一套成型的框架,历经历史的风霜,它不断完善至今,已经成为很多使用java 技术栈企业首选框架。

当然随着时代的发展,人们更多的追求页面渲染的性能。几乎与上面技术同步发展的同时出现了ajax异步轮循的技术实现非整页的局部渲染,可以在前端展示上带来性能的提升。为了适应前后端的AJAX通信,带火了一种数据格式json,因为其可以很无缝的被js操控,同时又具有类似对象的形式,方便机器解析的同时也方便人阅读。json逐渐称为前后端通信的主要数据格式。

-------------本文结束感谢您的阅读-------------