如何在 JSP 中更正 servlet 映射



我设置了一个动态的Web项目,其中包含一个jsp home页面和一个HelloServlet java类的servlet。

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

但是当我在主页上单击提交时,我得到了一个HTTP Status 500 - Error instantiating servlet class HelloServlet

有谁知道我是否缺少设置这个的步骤?或者如果我的网络中有错误.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);
}