gpt4 book ai didi

java - netbeans 7.2.1 中没有用于映射上下文监听器的 web.xml 文件

转载 作者:行者123 更新时间:2023-11-29 05:31:32 25 4
gpt4 key购买 nike

我正在尝试在 netBeans 7.2.1 中使用上下文监听器。下面是我实现的代码:

public class contextTry implements ServletContextListener {

@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext context=sce.getServletContext();
fetchVal obj=new fetchVal();
Vector<RefValue> v_ref=obj.getReferenceParam();
System.out.println("------INSIDE CONTEXT---------");
context.setAttribute("v_Ref", v_ref);
}

@Override
public void contextDestroyed(ServletContextEvent sce) {
System.out.println("Context destroyed");
}

但每当我调用参数时,我都会收到一个空指针异常。

public class logincontroller extends HttpServlet {

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

Vector<RefValue> v=(Vector)getServletContext().getAttribute("v_ref");

System.out.println("-----------------"+v.get(0).getStatus());
}

我想我必须在 web.xml 文件中映射监听器,但我在 netBeans 7.2.1 中找不到它。

请帮我想出一个解决办法!

最佳答案

Listener 应该列在 web.xml

<listener>
<listener-class>com.yourPackage.contextTry</listener-class>
</listener>

或者,如果你使用 Servlet API 3.0 或更高版本,你可以只用 @WebListener 注释它,在这种情况下你不再需要 web.xml .

您还应该检查调用 obj.getReferenceParam() 是否真的返回了 Vector 的实例。

一些与问题无关的笔记

  • 你应该根据CamelCase命名你的类(class), 它是 Java 标准
  • 在大多数情况下,你不应该再使用 VectorList 更快

关于java - netbeans 7.2.1 中没有用于映射上下文监听器的 web.xml 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20922873/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com