7

我正在尝试使用 Eclipse Juno 创建我的第一个 HelloWorld servlet 并在 J2EE Preview Server 中查看它。

这是我的 Servlet 类:

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class HelloWorld
 */
public class HelloWorld extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public HelloWorld() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter pw = response.getWriter();
        pw.println("<html>");
        pw.println("<head><title>Hello World</title></title>");
        pw.println("<body>");
        pw.println("<h1>Hello World</h1>");
        pw.println("</body></html>");
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
    }

}

这是我的 eclipse 自动生成的 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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>HelloWorld</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>HelloWorld</display-name>
    <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>

当我选择“在服务器上运行”>“J2EE 预览”时,我得到这个:

未找到错误404

此服务器上没有上下文匹配或处理此请求。此服务器已知的上下文是:

你好世界(/HelloWorld)

我在哪里做错了?

4

2 回答 2

1

在“J2EE Preview”服务器中,上下文路径是项目的名称。当您启动服务器时,这会列出所有可用的上下文路径。

例如,如果您的应用程序名为“app1”,则您的 URL 将为“http://localhost:8080/app1/HelloWorld”

于 2012-10-11T07:12:12.190 回答
0

我有同样的问题,无法让它工作。我创建了一个更简单的应用程序,只是一个 hello world JSP 页面。

这个过程非常基本,您创建一个 web 动态项目并在 WebContent 目录下创建一个 index.jsp 文件,这应该足以通过运行方式启动您的应用程序 -> 在服务器中运行 -> J2EE 预览,但总是得到:

404 not found 此服务器上没有匹配或处理此请求的上下文。此服务器已知的上下文是:test(/test)

我听说 eclipse juno 不如 indigo 稳定,我刚刚下载了 indigo Java EE 版本,完全一样,它工作正常,没有问题。

编辑:我忘了提到您可以下载另一个应用程序服务器,例如 JBoss 或 Glassfish,并尝试在它们上运行您的应用程序,这应该可以解决您的问题。

您可以尝试通过将所有文件和文件夹删除到您的工作区中来解决此问题,删除 .metadata 文件夹及其所有内容,启动 eclipse 并重试这可能有效。

希望这可以帮到你。问候!

于 2012-11-28T18:50:49.257 回答