java - 部署 Java Web 应用程序。一些 listenerStart 错误

标签 java jakarta-ee tomcat servlets

我有下一个问题: 我正在尝试使用 jre 6.0 在我的 Tomcat 7.0 上部署一个应用程序...我创建了一个名为 ListenerTester 的 servlet:

    package com.example;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

class ListenerTester extends HttpServlet {

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

            response.setContentType("text/html");           
            PrintWriter out = response.getWriter();

            out.println("text context attributes set by listener<br />");
            out.println("<br />");

            Dog dog = (Dog) getServletContext().getAttribute("dog");

            out.println("The dog`s breed is: " + dog.getBreed());

        }


    }

dog 类是一个简单的类,它只有一个字段 String breed 和 getter 以及带有参数的 Constructor。

下一个类是 MyServletContextListener:

   package com.example;

import javax.servlet.*;

class MyServletContextListener implements ServletContextListener {

    public void contextInitialized(ServletContextEvent e) {

        ServletContext sc = e.getServletContext();

        String dogBreed = sc.getInitParameter("breed");
        Dog f = new Dog(dogBreed);      
        sc.setAttribute("dog", f);

    }

    public void contextDestroyed(ServletContextEvent e) {



    }

}

它们在名为 com.example 的包中。应用程序的顶级文件夹是 listenerTester。

web.xml:

    <?xml version="1.0" encoding="UTF-8"?>  

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" 
  version="3.0" >  

<servlet>
    <servlet-name>ListenerTester</servlet-name>
    <servlet-class>com.example.ListenerTester</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>ListenerTester</servlet-name>
    <url-pattern>/ListenTest.do</url-pattern>
</servlet-mapping>

<context-param>
    <param-name>breed</param-name>
    <param-value>Sparky</param-value>
</context-param>

<listener>
    <listener-class>com.example.MyServletContextListener</listener-class>
</listener>
</web-app>

下一个问题是 - 当我尝试运行它时 - 浏览器没有显示任何东西......根本......没有错误或任何东西。

When I look inside the catalina log file:

    08.11.2011 0:23:56 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["http-bio-8080"]
08.11.2011 0:23:56 org.apache.coyote.AbstractProtocolHandler init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
08.11.2011 0:23:56 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 331 ms
08.11.2011 0:23:56 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
08.11.2011 0:23:56 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.8
08.11.2011 0:23:56 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory listenerTest
08.11.2011 0:23:56 org.apache.catalina.core.StandardContext startInternal
**SEVERE**: Error listenerStart
08.11.2011 0:23:56 org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [/listenerTest] startup failed due to previous errors
08.11.2011 0:23:56 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["http-bio-8080"]
08.11.2011 0:23:56 org.apache.coyote.AbstractProtocolHandler start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
08.11.2011 0:23:56 org.apache.catalina.startup.Catalina start
INFO: Server startup in 233 ms

您能告诉我该怎么做以及错误是什么吗?什么是 listenerStart?

最佳答案

你应该让你的类公开而不是包私有(private)。

关于java - 部署 Java Web 应用程序。一些 listenerStart 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8044018/

相关文章:

java - 业务验证应该在哪里进行

java - 您如何使用 Log4j 将 stdout 和 stderr 写入/捕获到文件并使用 Windows 和 Tomcat 5.5 (Java)?

eclipse - 如何在 Eclipse 中卸载 jar 文件?

java - 使用java中的插入排序算法对数组列表中的温度进行排序

java - 如何在Scala中使用JCache?我收到编译器类型错误 : found String required K

java - 编译完成后在maven J2EE项目中的webapp下生成HTML

jakarta-ee - 如何获取jasper文件中定义的参数?

java - 我可以在android应用程序中使用dll文件吗?

java - SoundCloud 503 - 服务不可用

jsf - HTTP 状态 404 Tomcat 8