Java:我需要使方法针对不同的请求表现出不同的行为

Java:我需要使方法针对不同的请求表现出不同的行为,java,Java,上下文 你需要背景 需要为Servlet类提供该上下文 DB或内存 您可以有一个对DB(数据源)的引用,并在每次访问DB时进行查询,或者在内存中有一些内容(通过示例列出) 无论如何,如果C是一个知道它在servlet环境中的servlet类,那么您可以请求应用程序上下文。如果它是一个业务类,一些更不可知的东西,那么最好通过参数或属性接收它需要的上下文 设置上下文 如果使用Spring配置(Spring IOC),您可以设置编写正确xml所需的类 若你们并没有,那个么,在某个地方你们将需要寻找DB

上下文

你需要背景

需要为Servlet类提供该上下文

DB或内存

您可以有一个对DB(数据源)的引用,并在每次访问DB时进行查询,或者在内存中有一些内容(通过示例列出)

无论如何,如果C是一个知道它在servlet环境中的servlet类,那么您可以请求应用程序上下文。如果它是一个业务类,一些更不可知的东西,那么最好通过参数或属性接收它需要的上下文

设置上下文

如果使用Spring配置(Spring IOC),您可以设置编写正确xml所需的类

若你们并没有,那个么,在某个地方你们将需要寻找DB连接,或者初始化那个列表并给其他类一个引用

最后,一个具体的解决方案

编写一个上下文侦听器,在初始化时生成所需的上下文(onContextCreated),并将其挂起到应用程序上下文:

class C 
{

public String makeDBCALL(String account)
{

Here i need to get that ArrayList  of UserInfo  and check if taht  list.contains(account)) 
could anybody please tell me how can do this .
}
}
配置web.xml以使用MyListener

class MyListener implements ServletContextListener
{
   contextInitialized(ServletContextEvent event) {
      // Create theObjWEhatYouNeed
      event.getServletContext().setAttribute("whatINeed", theObjWhatYouNeed);
   }
}

我得说你的问题有点模糊。有时,明确你所拥有的东西,更好地了解如何从中获得有效的解决方案是很有用的。无论如何,感谢您尝试隔离问题:)这是一个简单的java类,没有J2EE.Oops。。。那么,“这是一个Web应用程序”是什么意思呢?我的是一个Web应用程序,但这些都是简单的java类本身。然后在简单类不知道如何获取信息的情况下提供所需的信息(如果你的类知道的太多,这是很糟糕的:)。如何提供信息?如果它不依赖于请求信息,则使用setter。如果它取决于请求信息,则传递参数。
class MyListener implements ServletContextListener
{
   contextInitialized(ServletContextEvent event) {
      // Create theObjWEhatYouNeed
      event.getServletContext().setAttribute("whatINeed", theObjWhatYouNeed);
   }
}
<listener>
    <listener-class>MyListener</listener-class>
</listener>
doGet(...) {
   MyObj myObj = (MyObj) request.getSession().getServletContext().getAttribute("whatINeed");
}