gpt4 book ai didi

java - J2EE - 动态 Web 项目 - 无法运行我的 helloworld 应用程序

转载 作者:行者123 更新时间:2023-12-02 07:34:05 25 4
gpt4 key购买 nike

我当前正在尝试运行一个 servlet 来检查 GET 值并写入该值。

这是我的类(class):

    import java.io.IOException;

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

public class Servlet extends HttpServlet {

/**
*
*/
public Servlet() {
// TODO Auto-generated constructor stub
}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
final String myValue = request.getParameter("MyValue");
if (myValue != null && !myValue.isEmpty()) {
response.getWriter().write(myValue);
}
}

}

这很简单,对吧?

我已经尝试了很多网址才能看到我的结果,如下所示:

 - http://localhost:8080/Servlet/servlet/Servlet
- http://localhost:8080/Servlet/servlet/Servlet?MyValue=Test
- http://127.0.0.1:8080/Servlet/servlet/Servlet
- http://127.0.0.1:8080/Servlet/servlet/Servlet?MyValue=Test

是我的代码有问题还是我的eclipse有问题?

谢谢

最佳答案

您没有透露任何有关问题症状的信息,但我假设您在所有尝试中都会收到 HTTP 404 错误页面,对吗?

您需要将 servlet 映射到 URL 模式。首先,您需要确保 servlet 类放置在包中(我们在此答案中假设为 com.example)。

如果您仍在使用 Java EE 5(甚至 J2EE..),请在 Web 应用程序的 /WEB-INF/web.xml 中注册它(Eclipse 应该自动生成一个):

<servlet>
<servlet-name>servlet</servlet-name>
<servlet-class>com.example.Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet</servlet-name>
<url-pattern>/servlet</url-pattern>
</servlet-mapping>

(servlet 名称基本上是实例变量名称 there's only one applicationwide ;servlet 类显然是 FQN;URL 模式是 servlet 的 webcontent 相对 URL)

或者当您已经使用最新的 Java EE 6 时,请使用 @WebServlet 进行注释。其中您将 URL 模式指定为值:

package com.example;

// ...

@WebServlet("/servlet")
public class Servlet extends HttpServlet {
// ...
}

无论哪种方式,它基本上都告诉 servlet 应该监听与 /servlet 匹配的 web 内容相对 URL。因此,假设您的 Web 上下文根路径是 /Servlet,那么应该这样做:

http://localhost:8080/Servlet/servlet

将来,如果您通过 New > Servlet 而不是 New > Class 创建 servlet 类,会更容易,然后这一切都会自动纳入向导中的帐户。

另请参阅:

  • Our Servlets wiki page - 包含一些 Hello World 示例 - 您可以通过将鼠标悬停在 上方一段时间来访问此页面直到出现黑色信息框,然后单击其中的信息链接。

关于java - J2EE - 动态 Web 项目 - 无法运行我的 helloworld 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12505727/

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