java - 如何创建可用于整个 servlet 的类的一个实例

标签 java compiler-errors static-methods

这个问题在这里已经有了答案:





Cannot make a static reference to the non-static method

(8 个回答)


6年前关闭。




我有一个 JSP 应用程序,它带有一个普通的 java 类 Login.java 和一个 servlet,它在 doGet 方法中调用了一个名为 loginList 的过程。 loginList 过程需要使用名为 OAVDbUtil 的 java 类和方法“getLoginsList”创建登录列表。但是 Eclipse 似乎无法识别“getLoginsList”过程,当我输入它时,会给出“eclipse 无法对非静态方法进行静态引用”的消息。但是一切看起来都很好,因为我没有将 getLoginsList 声明为静态的。我认为有一种方法可以创建 OAVDbUtil 的实例以避免必须创建新 OAVdbUtil 对象的多个实例,但是有人可以告诉我如何做到这一点,而不是收到“eclipse 无法对非静态引用-静态方法”?

这是一些代码和屏幕转储

servlet 的屏幕转储

enter image description here

这是 OAVDbUtil 的代码

public OAVDbUtil(DataSource theDataSource) {
  dataSource = theDataSource;
}

public List<Login> getLoginsList() throws Exception {

   List<Login> loginList = new ArrayList<Login>();

最佳答案

您需要提供 OAVDbUtil 的实例到 servlet,然后调用 getLoginsList()在那个物体上。

servlet 可以在其初始化方法中构造这样的对象,也可以通过容器将其注入(inject)到 servlet 中。

关于java - 如何创建可用于整个 servlet 的类的一个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37077246/

相关文章:

java - 错误 。运算符 < 不能应用

class - 错误: passing 'const xxx' as 'this' argument discards qualifiers

java - 为什么我无法通过表达式语言找到静态方法

java - 从我的 JButtons 获取颜色

java - 如何从Java中的字符串中识别日期

java - 使用 InetAddress 或 System.getenv 获取主机名哪个更好

java - 如何从 main 方法将对象添加到数组中?另外,如何在 main 方法中制作菜单?

c++ - StdAfx + 头文件 - MFC 应用程序中的包含顺序

java - 静态变量和方法

java - 如何在实现接口(interface)的类中实现静态方法?