gpt4 book ai didi

java - 从 tomcat 调用 servlet 抛出 HTTP Status 500 java.lang.NullPointerException

转载 作者:行者123 更新时间:2023-11-29 05:15:43 24 4
gpt4 key购买 nike

我是 J2EE 的新手,使用 tomcat 和 eclipse 构建了一个示例项目。虽然 index.html 正确加载但是当我提交页面(或调用 servlet)时,我收到以下异常

HTTP Status 500 - 
type Exception report
message
description The server encountered an internal error that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
java.util.concurrent.ConcurrentHashMap.putVal(Unknown Source)
java.util.concurrent.ConcurrentHashMap.putIfAbsent(Unknown Source)
java.lang.ClassLoader.getClassLoadingLock(Unknown Source)
java.lang.ClassLoader.loadClass(Unknown Source)
java.lang.ClassLoader.loadClass(Unknown Source)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1641)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
java.lang.Thread.run(Unknown Source)

以下是我创建的文件

1) index.html

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form method="post" action="SelectCoffee.do">
select coffee
<select name="taste" size="1">
<option value="dark">dark</option>
<option value="latte">latte</option>
<option value="cold">cold</option>
<option value="chocolate">chocolate</option>
</select>
<input type="submit">
</form>
</body>

2)web.xml

<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"  version="2.4">
<servlet>
<servlet-name>For Coffee</servlet-name>
<sevlet-class>com.example.web.CoffeeSelect</sevlet-class>
</servlet>
<servlet-mapping>
<servlet-name>For Coffee</servlet-name>
<url-pattern>/SelectCoffee.do</url-pattern>
</servlet-mapping>
</web-app>

3) 咖啡选择.java

package com.example.web;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class CoffeeSelect extends HttpServlet{
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("Cofee Advice");
String c= "mine : " + request.getParameter("taste");
out.println("<br>Got taste = "+c);
}}

如果还需要其他任何东西,请告诉我。请帮忙,因为这可能会让我找到工作:(

最佳答案

在您的 webb.xml 中,servlet 类定义中有一个拼写错误,它应该是 <servlet-class> </servlet-class>不是<servet-class> </servet-class>可能 servlet 从未注册过,这就是为什么你得到一个 NullpointerExcepion

关于java - 从 tomcat 调用 servlet 抛出 HTTP Status 500 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26623311/

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