当前位置: 首页 > 面试题库 >

Java Servlet池

燕琨
2023-03-14
问题内容

Tomcat 6下的Servlet 101:

有人可以帮我指出最好的方法,例如。在Servlet启动时创建昂贵的Foo对象的集合,并将它们存放在我在处理每个请求时可以访问它们的地方?

据我所知,至少有至少三种方法可以做到这一点,但我对此有所模糊。我不关心群集或算法来驱逐过时的条目或类似的东西,而仅是基础知识。

干杯和谢谢。


问题答案:

实现一个ServletContextListener,在期间执行所需的加载任务contextInitialized()并将结果存储在应用范围内ServletContext#setAttribute()。将在服务器启动期间调用它,并且可以在常规servlet中访问应用程序范围。

基本示例:

public class Config implements ServletContextListener {
   public void contextInitialized(ServletContextEvent event) {
        List<Foo> foos = fooDAO().list();
        event.getServletContext().setAttribute("foos", foos);
    }
}

web.xml以通常的方式映射它:

<listener>
    <listener-class>mypackage.Config</listener-class>
</listener>

以下是在常规servlet中访问它的方法:

protected void doSomething(request, response) {
    List<Foo> foos = (List<Foo>) getServletContext().getAttribute("foos");
}

这是在JSP中访问它的方法:

<c:forEach items="${foos}" var="foo">
    ${foo.someProperty}<br>
</c:forEach>

也就是说,我真的看不到它与“ servlet池”有什么关系。这个术语没有任何意义。

希望这可以帮助。



 类似资料:
  • 我正在为员工管理系统创建一个web应用程序,使用ApacheTomcat作为HTTP服务器,Oracle作为数据库,applet用于客户端编程,servlet用于服务器端编程。我还想使用DBCP来管理与数据库的连接。 我希望执行查询的servlet使用客户端为连接输入的用户名和密码。但是到目前为止,我看到在中配置资源时必须设置连接池的用户名和密码。 有没有什么方法可以实现这一点并且仍然使用DBCP

  • 当我想在浏览器中查看表格中的选定数据时,我遇到了一个小问题。我为一个表(有3列)制作了它,但我想为所有表制作它,有不同的列数,如何在我的浏览器中为这个表提供动态大小? 我试着这样做: 其中n是列数(我会计数),但结果只是垂直顺序的第一行: 它应该是| 1 |第一|最后|但它是: 1

  • 我使用Eclipse创建了一个网站,Servlet在其中将数据发送到jsp。但是我不知道为什么我在Servlet中更改数据。它仍然将旧数据发送到jsp。即使我尝试了这些选项.. 菜单-项目-清理(如果不使用自动构建,请单击此选项) 菜单-项目-项目自动构建(选中此选项) 下面是一个例子: Product.java ProductModel.java ProductController.java i

  • 我正在使用JavaServlet中的javamail api发送邮件。只向gmail Id发送邮件是非常困难的,而我希望它能够发送到任何电子邮件Id。我需要不同的属性值吗?我跟着http://www.mkyong.com/java/javamail-api-sending-email-via-gmail-smtp-example/ 开发代码。属性值为: props.set财产(mail.smtp.

  • 我在Heroku上上传了JavaServlet项目。当我在浏览器上检查它时,它显示“应用程序错误”,没有运行。 根据Heroku上的构建日志,我的项目似乎构建和部署得当。 我参考了这一页。我用的是gradle而不是Maven。https://devcenter.heroku.com/articles/deploying-gradle-apps-on-heroku#using-webapp-runn

  • 本文向大家介绍JavaServlet的文件上传和下载实现方法,包括了JavaServlet的文件上传和下载实现方法的使用技巧和注意事项,需要的朋友参考一下 先分析一下上传文件的流程 1-先通过前段页面中的选择文件选择要上传的图片 index.jsp 2-点击提交按钮,通过ajax的文件上传访问服务器端 common.js   3-服务器端响应保存或者下载 保存上传文件的FileUpload.jav

  • 我正在编写一个web应用程序,其中客户端将(JSON)表单数据发布到,服务器也应该使用JSON进行响应。服务器端使用java servlet编写,运行在Tomcat上,客户端使用Angular 7编写。不幸的是,即使在通过HTTP头启用CORS之后,我仍然面临CORS错误。我有什么遗漏吗? 这就是我在客户端遇到的错误:在'http://localhost:8080/mysocial/signIn“

  • 问题内容: 我想将角度为4的数据发送到Java Servlet,但由于未通过访问控制而无法发送。我想使用Java Servlet将数据插入db 这是我的代码前端:data.service.ts backend: java servlet Thank You Very Much 问题答案: 您需要阅读CORS协议。不久前,我写了一篇关于实现CORS的博客 文章。它基于使用 Spring框架(特别是S