java - 获取 HTTP 状态 500 - Servlet 执行抛出异常

标签 java tomcat

我创建了一个动态 Web 项目,其中输入参数来自 UI(Index.html) 到 servlet.java,但是当我尝试在 oAuthBean.java 中调用 auth 时 文件给我一个错误。

附加导航 View :

enter image description here

异常(exception):

Aug 24, 2017 3:18:42 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [clientCredServlet1] in context with path [/Java-Credit-Offers-Example] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: org.apache.http.HttpEntity
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
    at controller.clientCredServlet.doPost(clientCredServlet.java:45)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)

最佳答案

看起来您的 servlet 使用 Apache http 客户端(这是 org.apache.http.HttpEntity 的来源),但相应的依赖项 jar 不存在于生成的部署中,很可能是因为有Maven 和 Eclipse WTP 插件之间缺乏配置胶水,它部署到 Tomcat 并从 IDE 运行它。出现这种情况是因为 Maven 项目似乎是在 Eclipse 之外创建的。

选项 1. 保持原样并快速修复(更糟)

尝试在您的项目根文件夹下执行:

mvn eclipse:eclipse -Dwtpversion=2.0

然后重新打开 Eclipse 工作区

根据 Maven Eclipse plugin documentation当显式设置 wtpversion 标志时,maven 会为 WTP 插件(包括 Tomcat 插件)生成必要的工作区配置,以便让它们了解如何在从 Eclipse 部署期间获取 Maven 依赖项

选项 2. 依赖与 Maven 的内置 IDE 集成(最适合长期使用)

检查 following great answer其中,在某种程度上,描述了为什么以及如何依赖内置 Eclipse Maven 支持。这种方法也消除了 IDE 部署中缺少依赖项的问题,但是需要更多的努力将项目迁移到,但是当您的项目处于开始阶段时,这是非常小的

关于java - 获取 HTTP 状态 500 - Servlet 执行抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45871854/

相关文章:

java - 需要常规表达式。对于属性顺序无关紧要的 html 元素

java - SimpleCursorAdapter 删除值

jakarta-ee - 即使使用非阻塞连接器,我也可以在线程本地存储请求范围数据吗?

java - 发布表单时来自tomcat的意外结果

java - 小型 JSP 应用程序不起作用

java - 如何列出tomcat文件夹中的所有文件?

java - 'filter()' and ' map()'可以交换

java - 如何包装添加到网格列内的标签文本?

java - Spark Cassandra 连接器 3.0.0 - 如何启用 DirectJoin - Java

tomcat - 即时压缩有多贵?