出于某种原因 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毫秒
答案 0 :(得分:0)
将javax.faces-2.1.13.jar添加到项目中解决了这个问题。
http://javaserverfaces.java.net/