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对象,并将其序列化送到浏览器去渲染并展示。
-
Web
+关注
关注
2文章
1255浏览量
69311 -
数据库
+关注
关注
7文章
3754浏览量
64258 -
浏览器
+关注
关注
1文章
1011浏览量
35254
发布评论请先 登录
相关推荐
评论