gpt4 book ai didi

java - 如何更正 JSP 中的 servlet 映射?

转载 作者:行者123 更新时间:2023-12-02 05:10:19 26 4
gpt4 key购买 nike

我已经建立了一个动态 Web 项目,其中包含一个 jsp home 页面和一个 servlet HelloServlet java 类。

主页从jsp页面获取输入值,并有一个提交按钮将输入值传输到servlet类。

但是当我单击主页上的“提交”时,我收到 HTTP Status 500 - Error instantiating servlet class HelloServlet

有谁知道我在设置过程中是否遗漏了一个步骤?或者如果我的 web.xml 描述符有错误?

Servlet类的doPost方法如下:

    @Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub


// read form fields
String fibNum = req.getParameter("fibNum");
//print input from home page
System.out.println("username: " + fibNum);

}

这就是我在 web.xml 描述符中设置映射的方式:

  <servlet>
<servlet-name>hello</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/say_hello/*</url-pattern>
</servlet-mapping>

最佳答案

您需要在 web.xml 中指定包和类:

<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>ie.gmit.HelloServlet</servlet-class>
</servlet>

您也可以在这里删除*:

<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/say_hello</url-pattern>
</servlet-mapping>

此外,您正在 servlet 中处理 post 方法,但通过表单发送 get 请求。您可以将表单更改为 method="post" 或将其放入您的 servlet 中:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException {
// TODO Auto-generated method stub
doPost(request, response);
}

关于java - 如何更正 JSP 中的 servlet 映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27385479/

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