后端技术是什么

描述

1.基础技术

Web应用的简易流程:浏览器向Web服务器请求,Web应用根据请求信息进行业务逻辑处理,如果需要查询数据,则与数据库交互即可;然后把结果返回给用户的浏览器;最后浏览器将页面渲染并呈现出来。如下图所示:

浏览器

Web服务器介于操作系统和Web应用之间,通常被称为中间件,比较流行的有IIS、Apache、Tomcat、JBoss、WebSphere、WebLogic等等。这里讨论的Web后端技术仅涉及到Web应用。下面我们来看看其发展历程:

最早使用CGI(Common Gateway Interface,通用网关接口),可惜我完美地错过了。据说在这个时代,可以使用C、Perl等语言,通过printf将希望返回的HTML内容一行一行地写出来。这种方法费时费力,可读性很差。后来PHP语言出现了,PHP可以将动态内容嵌入到HTML中执行,可惜我只是看过PHP代码,没有实际编程。再后来微软提出的ASP和Sun提出的JSP,我很荣幸地开始使用ASP和JSP编程了,我们可以先看下JSP的庐山真面目:

浏览器

可以看出,JSP将Java代码嵌入到HTML页面中,并用<%= %>标识。我们将包含这个代码的文件放入到Tomcat(Web容器的一种),然后就可以运行了。

虽然ASP、JSP等提高了应用开发效率,但对一个复杂的大型Web应用来说,页面显示和逻辑代码混杂在一起,可读性慢慢地就变差了。此时,引入了MVC(Model-View-Controller,模型-视图-控制器)架构,其中,模型的职责是:封装与业务逻辑相关的数据和数据处理方法;视图的职责是数据的展示;控制器的职现是:根据请求信息,路由至模型,并将响应消息定位到视图。Java针对Web应用制定Servlet规范:把Web应用程序定义为“Servlet、HTML页面、类以及其他资源的集合”,并将Servlet将HTTP公开给Java,如下图所示:

浏览器

Servlet规范存在一些没有解决的问题:

l Web应用程序处理请求时要解决的日常任务:

l 呈现表示层(HTML);

l 请求参数到Java类型的数据绑定;

l 验证数据;

l 业务逻辑的组织;

l 访问数据层。

这些问题在Web应用编程中被看作是公共通用问题,“不重复发明轮子”是软件开发工程领域中提高软件生产效率的重要思想。于是,产生了很多诸如Struct、Spring、MyBatis等等框架(后端使用不同的语言,分别对应不同的框架,这里以Java为例)。到这里,Web后端的基础画像如图所示:

浏览器

2.基本原理

我们以Java语言生态为例来说明Web后端的简要处理过程。如下图所示:

浏览器

请求到达Socket后,Tomcat将启动Servlet并将请求的IP地址、请求参数传给Servlet对象,然后根据URL地址匹配Servlet处理类,并映射到对应的处理方法。请求进入处理方法之后,如果是需要将数据保存在数据库,则通过JDBC连接数据,将数据存入到数据库中;如果需要提取数据并传到页面,该方法也会从数据库中取出数据,经过反序列化处理,生成Java对象,并将其序列化送到浏览器去渲染并展示。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分