不与此question
重复这是我的代码
HelloWorld.java
// Import required java libraries
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
// Extend HttpServlet class
public class HelloWorld extends HttpServlet {
private String message;
public void init() throws ServletException
{
// Do required initialization
message = "Hello World";
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException
{
// Set response content type
response.setContentType("text/html");
// Actual logic goes here.
PrintWriter out = response.getWriter();
out.println("<h1>" + message + "</h1>");
}
public void destroy()
{
// do nothing.
}
}
的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>Servlet</display-name>
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
</web-app>
没有编译错误,但是面临这个问题。
请帮忙!!
我将网址更改为
http://localhost:8080/Servlet/HelloWorld
现在面临例外
文件夹结构
答案 0 :(得分:0)
答案 1 :(得分:0)
您应该为类名提供包名。
但是,我建议尝试在servlet类上面使用@WebServlet(name =“HelloWorld”,urlPatterns =“/ helloWorld”)。
所以如果owuld是:
@WebServlet(name =“Welcome”,urlPatterns =“/ testPage”) 公共类HelloWorld扩展了HttpServlet {
//等等等等 }
答案 2 :(得分:0)
有几件事需要检查: - 首先,应用程序在服务器上进行核心部署。您应该部署一个.war项目。您应该在服务器日志上看到成功部署 - 建立你的网址。这由服务器IP组成,在本地主机中,端口8080通常是默认端口,而不是上下文根(如果没有定义,应该是应用程序的名称),最后是servlet名称:http://localhost:8080/appname/helloworld < / p>
您的Web.xml上也可能存在错误。您定义了类但没有包的servlet类标记。也许你的课程也在一个包里。 包。的HelloWorld