4

我想创建一个 servlet 项目。

我的 Java 类被称为AzpanaServlet.java,它包含一个内部类。(当我编译它时,我有 2 个类文件)。

我的项目是一个简单的应用程序,它接收字符串输入并用它做一些事情(不相关)。

当我按下"submit"按钮时,我收到以下错误:

HTTP Status 404 - /AzpanaServlet
Type Status report
Message /AzpanaServlet
Description The requested resource (/AzpanaServlet) is not available.
Apache Tomcat/6.0.18

如果可以,请帮助我,我解决不了这么多时间。这是我的 Java 代码:

public class AzpanaServlet extends HttpServlet {
//
//Some functions 
//
//Inner class: public class oneChar{...}
//

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /*
        * Get the value of form parameter
        */
        String name = request.getParameter("name");
        /*
        * Set the content type(MIME Type) of the response.
        */
        response.setContentType("text/html");
        String str = "";
        PrintWriter out = response.getWriter();
        ArrayList<Integer> list = new ArrayList<Integer>();
        try {
            list = mainmanu(name); //not relevant function.
        } catch (Exception e) {
              str  = e.toString();

            e.printStackTrace();
        }
        /*
        * Write the HTML to the response
        */
        out.println("<html>");
        out.println("<head>");
        out.println("<title> this is your answers</title>");
        out.println("</head>");
        out.println("<body>");
        if(str != ""){
            out.println(str);
        }
        else{
        for(int i = 0;i<=40;i++){
            out.println(list.get(i));
            out.println("<br>");

        }
        }
        out.println("<a href='form.html'>"+"Click here to go back to input page "+"</a>");
        out.println("</body>");
        out.println("</html>");
        out.close();

        }


        public void destroy() {

        }
    }

我的web.xml代码:

<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <servlet>
        <servlet-name>AzpanaServlet</servlet-name>
        <servlet-class>com.example.AzpanaServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>AzpanaServlet</servlet-name>
        <url-pattern>/AzpanaServlet</url-pattern>
    </servlet-mapping>
    <welcome-file-list>
        <welcome-file>/form.html</welcome-file>
    </welcome-file-list>
</web-app>

我的form.html代码:

<html>
    <head>
    <title>Zeev's Project</title>
    </head>
    <body>
        <h1>Just Enter String</h1>
        <form method="POST" action="AzpanaServlet">
            <label for="name">Enter String</label>
            <input type="text" id="name" name="name"/><br><br>
            <input type="submit" value="Submit Form"/>
            <input type="reset" value="Reset Form"/>
        </form>
    </body>
</html>

文件夹的层次结构如下:

ROOT[
    WEB-INF[
        web.xml
        classes[
               com[
               example[
                    AzpanaServlet.class
                AzpanaServlet$oneChar.class
                ]
              ]
               ]
        lib[
            AzpanaServlet.java
           ]
       ]
    META-INF[
        MANIFEST.MF
        ]
    form.html
    ]
4

3 回答 3

0

复制了您的确切代码,然后将 Servlet 代码注释掉

  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        /*
        * Get the value of form parameter
        */
        String name = request.getParameter("name");

        System.out.println("Parameter name : "+name);

奇迹般有效。

在我的服务器控制台中

Parameter name : helloo

你的配置没有问题。您可能需要清理浏览器缓存并重试。

于 2012-11-04T17:45:02.290 回答
0

问题可能是您使用 IDE 运行 Tomcat 服务器并部署到根应用程序上下文。尝试在部署中为您的应用程序使用一些应用程序上下文。例如/myapp.

于 2012-11-04T17:48:56.727 回答
0

看看你的 IDE 控制台或你的 tomcat 日志,你的 web 应用程序是否成功启动过?
它可能由于某种原因没有启动。

于 2014-04-21T16:37:56.017 回答