加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java EE Servlet是否直接实际使用?

发布时间:2020-12-14 05:17:33 所属栏目:Java 来源:网络整理
导读:我只是想开始使用 Java EE和相关概念.但是,我了解一些技术与他们发挥的作用之间的关系有一些困难. 据我所知,Java EE Servlet是一个运行在服务器内部的Java类,可以产生对请求的响应(通常是对HTTP请求的HTML响应,尽管Servlet理论上可以服务于任何协议). 我的问
我只是想开始使用 Java EE和相关概念.但是,我了解一些技术与他们发挥的作用之间的关系有一些困难.

据我所知,Java EE Servlet是一个运行在服务器内部的Java类,可以产生对请求的响应(通常是对HTTP请求的HTML响应,尽管Servlet理论上可以服务于任何协议).

我的问题:

>据我所知,我可以直接编写一个Servlet类,或者我可以使用一些像JSP或JSF这样的技术,然后生成/提供一个Servlet给我.无论如何,我最终运行我的应用程序的Java EE Web容器(例如Apache Tomcat)只会看到Servlet,并且不会关心它们的创建(因此Servlet是一种低级管道).真的吗?
>如果Servlet是低级的,是否有理由直接使用Servlets?我看到很多教程解释了如何编写一个Servlet,但这似乎是不切实际的.是否有任何情况,直接写一个Servlet更好/优先使用JSP或类似?
>最后,Servlet需要一个服务器来运行(例如Apache Tomcat).在阅读关于这个上下文中的服务器的时候,我看到过各种各样的名字,例如(Java EE)的Web容器,或者servlet容器,或JSP容器,或只是Java EE服务器.这些术语是否意思相同,还是有区别?

感谢您帮助我开始!

解决方法

当容器加载servlet时,不,它不会太在乎它来自哪里.也就是说,不同的容器在处理动态加载和类似的东西时,处理方式有所不同,但我不用担心.

Servlet级别很低.它们是所有其他Java EE Web框架所基于的基础抽象.在“现实世界”中,大多数时候,人们会使用一些较高级别的框架而不是一个原始的Servlet.

也就是说,当你真正想要获得这个“裸机”(和Servlet接口一样)接口到HTTP请求时,Servlet仍然很有用.对于简单的事情,编写一个Servlet比起一堆框架jar这样更容易.

就容器而言,区别基本上是Java EE服务器对Servlet容器或服务器. Tomcat不是Java EE服务器,它只处理Java EE堆栈的Web部分.为了混淆事物,Java EE 6现在有一个“web-profile”,它基本上是Servlet堆栈,但是在Servlet容器不能被认为是“Java EE Server”之前,现在它可以是一个“Java EE Server – 网络资料“.

是的,我也不知道这是什么意思.

最重要的区别是Servlet容器(Tomcat,Jetty,Resin)不会与Java EE堆栈(特别是EJB)的其余部分捆绑在一起,而是包含Java EE堆栈整体的其他几个组件.

如果你刚刚进入Java EE,我会选择一个完整的船只容器(如Glassfish),因为a)你可以,b)很容易(GF是微不足道的),并且c)你不必第二次猜测什么是或不包括在您的容器中,无论您正在阅读什么要求. GF将具有Java EE的“所有”.它不会有Spring,因为这不是Java EE,但如果它在您的Java EE书或网站文章,GF将拥有它.

后来你可以选择什么时候想要完整的套件,或者只是想使用像Tomcat这样的东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读