Servlets和后端关系

时间:2010-10-21 17:18:05

标签: java spring servlets java-ee

我们可以说Servlets是后端对吗?一位采访者曾经说过“Servlet不是后端的,例如Spring,EJB就是这样”。这样对吗?即使是Spring MVC内部也使用servlet来处理请求吗?

谢谢。

4 个答案:

答案 0 :(得分:2)

“Servlet不是后端,例如Spring,EJB do”

该连接的第二部分,“例如,Spring,EJB do”没有任何意义。

Servlet在服务器上运行,就像EJB和Spring一样。他们处于后端的“顶端”。通常调用执行任务的服务。从这个角度来看,它们已经落后了。

客户端代码的一个例子,即不是后端的东西,将是浏览器中运行的任何东西,如javascript。

答案 1 :(得分:0)

是和否。 servlet可以是http客户端请求的后端,但它可能是EJB,JDBC或其他远程调用的前端。

答案 2 :(得分:0)

有些人将后端视为仅DAO和服务层,他们通常会将servlet视为MVC中View的一部分。当前的标准是仅将Servlet用作控制器,并且技术上不应该存在任何业务逻辑(在遗留应用程序中,servlet和jsp中也会有很多业务逻辑)。从这个意义上讲,servlet确实不是后端,但有时它也可以被视为后端。

答案 3 :(得分:0)

Servlet既可以是前端组件,也可以是后端组件,具体取决于您构建系统的方式。

例如,JSP是MVC设计模式中视图的一部分,但它们是servlet。即使您使用JSF并提供hxtml页面,它们也会由servlet在内部处理和提供。

当然,如果你从一个html页面进行一次AJAX调用,你打开一个例如一个JDBC连接的servlet,获取一些数据并返回要由java脚本处理的数据,那么是的,你的servlet是其中的一部分后端。