Servlet提供404而不是加载适当的页面。启动Tomcat时控制台说SEVERE错误

时间:2012-10-18 22:02:07

标签: java eclipse jsp tomcat servlets

出于某种原因 Apache Tomcat 7.0 不运行我的主servlet(PlaceListServlet),该主servlet应在place-list.jsp页面上列出一堆数据库项。

我到处都是 404 Eclipse 不报告来源中的任何错误。

什么似乎是问题?

PlaceListServlet.java 应加载的主要servlet place-list.jsp):

package com.myproject.crud;

import java.io.IOException;

import javax.inject.Inject;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@SuppressWarnings("serial")
@WebServlet({"/place/", "index.jsp"})
public class PlaceListServlet extends HttpServlet {

    @Inject
    private PlaceRepositoryImpl placeRepo = new PlaceRepositoryImpl();

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setAttribute("places", placeRepo.listPlaces());
        getServletContext().getRequestDispatcher("/WEB-INF/pages/place-list.jsp").forward(request, response);
    }

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

}

修改

我只是看着控制台并看到了这个错误:

  

SEVERE:配置类的应用程序侦听器时出错   com.sun.faces.config.ConfigureListener   抛出java.lang.ClassNotFoundException:   com.sun.faces.config.ConfigureListener at   org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)     在   org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)     在   org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)     在   org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)     在   org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)     在   org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727)     在   org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)     在   org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)     在   org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1559)     在   org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1549)     at java.util.concurrent.FutureTask $ Sync.innerRun(Unknown Source)at   java.util.concurrent.FutureTask.run(未知来源)at   java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)at   java.util.concurrent.ThreadPoolExecutor $ Worker.run(未知来源)at   java.lang.Thread.run(未知来源)

     

2012年10月19日上午11:34:45 org.apache.catalina.core.StandardContext   listenerStart SEVERE:跳过安装应用程序监听器的原因   上一个错误(2012年10月19日上午11:34:45)   org.apache.catalina.core.StandardContext startInternal SEVERE:错误   listenerStart 2012年10月19日上午11:34:45   org.apache.catalina.core.StandardContext startInternal SEVERE:Context   [/ GBCPlacesCRUD]启动因2012年10月19日之前的错误而失败   上午11:34:45 org.apache.coyote.AbstractProtocol start INFO:开始   ProtocolHandler [“http-bio-8080”] 2012年10月19日上午11:34:45   org.apache.coyote.AbstractProtocol start INFO:Starting   ProtocolHandler [“ajp-bio-8009”] 2012年10月19日上午11:34:45   org.apache.catalina.startup.Catalina启动INFO:服务器启动   1096毫秒

1 个答案:

答案 0 :(得分:0)

将javax.faces-2.1.13.jar添加到项目中解决了这个问题。

http://javaserverfaces.java.net/