gpt4 book ai didi

java - 单击提交按钮时在 hello world java servlet 中返回空白页

转载 作者:行者123 更新时间:2023-11-28 22:27:00 25 4
gpt4 key购买 nike

我已尽一切努力让这个 servlet 正常工作,但在下载了几个较旧的 JRE 和几个较旧版本的 Apache tomcat 之后,它仍然无法正常工作。现在我正在将 Kepler for Java EE 与 JRE v1.7 和 Tomcat v7 一起使用。下面是我的 java 源代码和 html——我怀疑问题出在 doGet 方法本身,因为我认为我的文件路径命名正确,但我仍然返回一个空白页。尽管问题可能出在表单操作上——我对 eclipse 完全陌生。

<!DOCTYPE html> 
<html>
<head> <meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="/HelloWorld/HelloServlet" method="get">
<input type="submit" value="go to hello servlet"/>
</form>
</body>
</html>`

HelloServaled.java

package com.tutorials.servlets;

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

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

/**
* Servlet implementation class HelloServlet
*/
@WebServlet("/HelloServlet")
public class HelloServlet extends HttpServlet {


private static final long serialVersionUID = 1L;

/**
* @see HttpServlet#HttpServlet()
*/
public HelloServlet() {
super();
// TODO Auto-generated constructor stub
}
/* @see Servlet#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}

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

/**
* @see HttpServlet#doGet(HttpServletRequest request, > HttpServletResponse response)
*/

protected void doGet(HttpServletRequest request, HttpServletResponse > response) throws ServletException, IOException {


PrintWriter out = response.getWriter();
out.println("I am in go get mehtod" );

// TODO Auto-generated method stub
}

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

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

}

最佳答案

您的主要问题在于您的表单的 action 属性与您的 servlet 的映射不匹配。

您的注释:(@WebServlet("/HelloServlet")) 告诉应用程序服务器监听对“/HelloServlet”的请求,例如:http://eample.com/HelloServlet 它是什么。

另一方面,您的表单将其操作设置为 /HelloWorld/HelloServlet,这意味着发布请求转到 http://example.com/HelloWorld/HelloServlet

因此,当您的浏览器在那里发布时,应用程序会按应有的方式处理它,但实际上并没有,因为您的 servlet 没有在那里收听任何内容。

关于java - 单击提交按钮时在 hello world java servlet 中返回空白页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40134367/

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