4

package com.example;

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

<servlet>
        <servlet-name>HelloForm</servlet-name>
        <servlet-class>HelloForm</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HelloForm</servlet-name>
        <url-pattern>/HelloForm</url-pattern>
    </servlet-mapping>

给出的是代码但我运行项目没有输出来 404 错误是来自网页。我们还需要为 servlet 创建 Jsp 页面吗?我是 Servlet 的新手请帮助如何编写 hello world 是 Servlet 。

4

6 回答 6

9

您已经创建了这样的 servlet 类:

public class Helloworld extends HttpServlet

但是在 web.xml 你有这样的映射:

<servlet-class>HelloForm</servlet-class>

您需要具有相同的名称,因此您会收到 404 错误。将您的 servlet 名称更改为HelloForm或更改<servlet-class>HelloWorldweb.xml

于 2013-09-16T05:58:51.267 回答
3

您的课程位于com.example

所以servlet-class应该,

<servlet-class>com.example.Helloworld</servlet-class>
于 2013-09-16T06:05:25.933 回答
2

使用以下:

<servlet>
    <servlet-name>HelloForm</servlet-name>
    <servlet-class>com.example.Helloworld</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>HelloForm</servlet-name>
    <url-pattern>/HelloForm</url-pattern>
</servlet-mapping>

并输入您的网址:喜欢localhost:8080/projectName/HelloForm它可能会起作用。我认为你是初学者所以去这个链接。这是完整的教程......关于这个

于 2013-09-16T06:03:13.847 回答
2

现在您可以切换到 servlet 3.0。这真的很简单。

@WebServlet("/example")
public class AnnotationServlet extends HttpServlet{

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        PrintWriter prinOut = response.getWriter();
        prinOut.write("Hello, This is the first servlet 3 annotation example");
    }

}

来自Java 中的 Servlet 3.0 注释示例

这是完整的Java Servlet 教程

于 2016-09-27T01:46:41.537 回答
0

你还没有指定 servlet 类的包这样写 com.example.Helloworld

于 2013-09-16T06:02:36.970 回答
0

以下方式将起作用。

在 webapps 中创建一个文件夹(您的项目名称,示例项目) 在 proect 文件夹中创建另一个文件夹,将其命名为 WEB-INF。在 WEB-INF 中经过 web.inf 文件。在项目文件夹中创建另一个文件夹 classes 并保留 .class 文件。现在按照 Himanshu Bhardwaj 的建议修改您的 web.xml。重新启动服务器。然后运行

于 2013-09-16T06:13:02.747 回答