在码头找不到servlet

时间:2015-11-04 23:13:04

标签: forms servlets jetty web.xml

我真的很难弄明白为什么在提交表单时我无法访问我的servlet。我已经尝试多次更改xml中的路径并编辑了servlet代码,但是当我提交表单时,我的浏览器仍然无法找到我的servlet。

这是web.xml:

<?xml version="1.0"?>
<web-app>


<servlet>
<servlet-name>quizServlet</servlet-name>
<servlet-class>quiz</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>quizServlet</servlet-name>
<url-pattern>/quiz</url-pattern>
</servlet-mapping>


</web-app>

我也尝试过将form3 / quiz作为url-pattern。

这是简单的servlet:

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

    public class quiz extends HttpServlet {
        public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
        {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<html><body>");
        String grade = request.getParameter("grade");
        out.println("grade=" + grade);
        out.println("</body></html>");
        out.close();
    }

}

这是html:

<html>
<body>
Quiz
<form method='post' action='quiz'>
    grade<input type='text' name='grade'>
<input type='submit'></form>
</body>
</html>

index.html包含在webapps / simpleForms / form3中,web.xml位于webapps / simpleForms / form3 / WEB-INF中,而quiz.java位于webapps / simpleForms / form3 / WEB-INF / classes中并且已编译。

1 个答案:

答案 0 :(得分:0)

您的文件夹结构有问题。我可以运行您提供的代码。

  • 如果您的项目名称是webapps,那么请保留您的servlet src(webapps / src / quiz)文件夹。如果需要,可以使用包来组织它们。
  • 将您的html保存在WebContent文件夹中(webapp / WebContent / yourHtml.html)
  • 保留web.xml 的WebContent / WEB-INF(web应用/的WebContent / WEB-INF / web.xml)中

使用此文件夹结构,您应该能够运行servlet代码。