【问题标题】:GET params not accessible in Java servlet classJava servlet 类中无法访问 GET 参数
【发布时间】:2017-03-27 10:00:21
【问题描述】:

我刚开始使用 J2EE 和 servlet 编程,遇到了这个小麻烦。这是我的代码 - 我的 servlet 类代码 打包 PackageServer;

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;

public class PostServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#HttpServlet()
 */
public PostServlet() {
    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 out = response.getWriter();
      String title = "Using GET Method to Read Form Data";
      String docType =
      "<!doctype html public \"-//w3c//dtd html 4.0 " +
      "transitional//en\">\n";

      out.println(docType +
                "<html>\n" +
                "<head><title>" + title + "</title></head>\n" +
                "<body bgcolor=\"#f0f0f0\">\n" +
                "<h1 align=\"center\">" + title + "</h1>\n" +
                "<ul>\n" +
                "  <li><b>First Name</b>: "
                + request.getParameter("first_name") + "\n" +
                "  <li><b>Last Name</b>: "
                + request.getParameter("last_name") + "\n" +
                "</ul>\n" +
                "</body></html>");
      out.println("<h1>Hello</h1>");
}

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

}

现在我在 HTML 文件中的参数是 first_name 和 last_name。我已经正确地将 web xml 文件中的 url-pattern 指定为我的 servlet 类的名称,但是当我运行我的项目时,服务器仍然以 404 not found 响应,然后显示带有 servlet 输出的视图,其中 first_name 和 last_name 设置为空值。我在这里做错了什么?

【问题讨论】:

  • 你不觉得在servlet中手动生成完整的html是个坏主意吗???而不是你应该做的是为此创建一个JSP

标签: java jsp servlets jakarta-ee


【解决方案1】:

确定地址。例如,如果在 Eclipse 中进行本地测试,则可以

http://localhost/[project-name]/[url-pattern]

http://localhost:8080/[project-name]/[url-pattern]

(验证您的服务器配置 - 是 Tomcat 吗?)

提供更多信息,例如 web.xml 文件是出现 404 错误的地方,以防出现这种情况。

最后在WEB-INF外面用一个简单的test.html文件做一个测试,直接用浏览器打开。这将确保您没有连接/服务器问题

【讨论】:

    猜你喜欢
    • 2013-12-04
    • 1970-01-01
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    • 1970-01-01
    • 2021-07-19
    相关资源
    最近更新 更多