tomcat - Servlet问题

标签 tomcat servlets jakarta-ee

我写了一个连接到数据库的简单 Servlet,检索一些信息,最后写一个 json 响应。我正在使用 tomcat。

关于 servlet 的几个问题:

1) 就我对容器的理解而言,如果同时接收到请求,将它们放入一个队列中,最后一次只执行一个 Servlet,是这样吗?或者容器使用不同的 Servlet 实例并行化请求?

2) 为了连接到数据库,我在另一个类中创建连接,该类在 contextInitialized 中实现 ServletContextListener,并在 contextDestroyed 中关闭它。那是正确的方法吗?如果我想并行化,我应该使用不同的连接,对吗?

最佳答案

  1. 不,不是。这些请求使用单个 servlet 实例并发执行。只有在 tomcat 线程池中没有可用线程来处理请求时,它们才会排队。

  2. 不,不是。每个事务都应从连接池(数据源,通常由 Tomcat 在 JNDI 中公开)获取自己的连接,使用此连接完成其工作,提交或回滚,然后关闭连接以将其返回到池中。

关于tomcat - Servlet问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47660168/

相关文章:

java - 如何访问服务器端的内容?

java - 从无状态 Bean 返回有状态 Java Bean?

java - Eclipse 中部署程序集和 J2EE 模块依赖关系的区别

java - UrlRewrite 和子域(foo.domain1.com 到 foo.domain2.com

GWT 模块 'xyz' 可能需要(重新)编译

java - ${pageContext.request.contextPath} 如何在本地和远程工作?

java - 数字到单词的映射,令人惊叹的内存突发奇想?

java - tomcat8 - 主 java HttpServlet 工作,但 ServletContextListener 无法访问 mysql 数据库

GWT-TOMCAT : service ClassNotFoundException

java - 检测对 RequestDispatcher.include() 的调用