相册

A Servlet’s Job and The Role of JSP

Servlet

A somewhat oversimplified view of servlets is that they are Java programs with HTML embedded inside of them.

Servlets 是什么东东这里就不讲了,它在客户端和服务器之间充当中间桥梁,主要的工作如下图所示:

它的主要作用如下:
1.读取客户端发送的数据(业务数据);

2.读取浏览器背后的数据(HTTP请求数据);

3.生成服务端响应结果;

4.向客户端发送数据(业务数据);

5.向客户端发送http请求的响应数据(HTTP响应数据)。

 JSP

A somewhat oversimplified view of JSP documents is that they are HTML pages with Java code embedded inside of them.

实际上学过java的都知道jsp只是一种特殊的servlet,它最终会在客户端请求的时候被编译器编译为servlet,在J2EE容器中运行。

虽然JSP和servlet最终都是servlet,为什么还要有两个名字,这就是sun公司当时架构师的思维啦,他觉得应该有一种东东能够和现有的HTML代码很好的配合,于是就有了JSP,至于servlet不过是一个特殊的java类,它更擅长于出来业务逻辑相关的工作,我们可以用下面两段英文来更好的总结,来自大师的总结:

JSP is focused on simplifying the creation and maintenance of the HTML, JSP is best for tasks oriented toward presentation.

Servlets are best at invoking the business logic and performing complicated operations. A quick rule of thumb is that servlets are best for tasks oriented toward processing

对于一些场景,servlet比较合适,另外一些则jsp比较合适,但更通用的是将两者结合起来完成某个项目或业务过程。

当然今天虽然有很多java web轻量级框架,但本质上他们都是基于servlet,只是做了一定的扩展和限制,有句话是这么讲的,框架不是给你提供了一个工具箱,而是限制了你构建项目时的思路和方法,所以到底应不应该用框架,得根据具体项目来定,不要为了spring而使用spring。

我们的春天在自己手中。

发表评论