我们可以说Servlets是后端对吗?一位采访者曾经说过“Servlet不是后端的,例如Spring,EJB就是这样”。这样对吗?即使是Spring MVC内部也使用servlet来处理请求吗?
谢谢。
答案 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是其中的一部分后端。