java - 404 带有简单的 java servlet/html 形式

标签 java forms tomcat servlets

<分区>

ED:这个问题不是重复的。所谓的重复没有提到我的控制台中的错误,并且在链接的问题中没有找到我的问题的解决方案。

我正在使用 derek banas's tutorials立即学习 servlet。或者至少,我正在努力!我在提交表单时一直遇到 404 错误。

这是我的代码。首先是java类:

package helloservlets;

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;

/**
 * Servlet implementation class Lesson41
 */

@WebServlet
public class Lesson41 extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */ 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String usersName = request.getParameter("yourname");

        String theLang = request.getParameter("Language");

        int firstNum = Integer.parseInt(request.getParameter("firstnum"));
        int secondNum = Integer.parseInt(request.getParameter("secondnum"));
        int sumONum = firstNum + secondNum;

        response.setContentType("text/html");

        PrintWriter output = response.getWriter();

        output.println("<html><body><h3>Hello " + usersName);

        output.println("</h3><br />" + firstNum + " + " + secondNum);
        output.println(" = " + sumONum + "<br />Speaks " + theLang + "</body></html>");
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

我的 web.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID" version="3.0">
    <servlet>
        <servlet-name>Lesson41</servlet-name>
        <servlet-class>helloservlets.Lesson41</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Lesson41</servlet-name>
        <url-pattern>/Lesson41</url-pattern>
    </servlet-mapping>
</web-app>

和我的 html:

<!DOCTYPE html>
<html>
<head>
<meta charset="US-ASCII">
<title>Insert title here</title>
</head>
<body>

    <form method="post" action="http://localhost:8080/Lesson41/">

        What's your name?<br /> <input name="yourname" /><br /> First
        Number <input name="firstnum" /><br /> Second Number <input
            name="secondnum" /><br /> <input type="hidden" name="Language"
            value="English" /><br /> <input type="submit" />

    </form>

</body>
</html>

在我的控制台中,我收到此警告:

WARNING: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Lesson41' did not find a matching property.

这是我收到的唯一警告。我用谷歌搜索并听从了我找到的建议 here ,但它并没有解决我的问题。

提前感谢您的帮助!

最佳答案

您确定表单中的网址正确吗? http://localhost:8080/Lesson41/ 如果您使用的是 Eclipse,默认情况下它会将您的应用程序部署为 http://localhost:8080/[Your-Project-Name-Here]/Lesson41/

关于java - 404 带有简单的 java servlet/html 形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20829526/

相关文章:

java - 有没有办法通过整数调用JLabel

java - 使用 ArrayList<ArrayList<Integer>> 分配 ArrayList<List<Integer>>

javascript - this.form 和 document.forms 的区别

javascript - jQuery :selected not not working

tomcat - 如何在启动时以非 root 身份启动 Tomcat

tomcat - 不能让 tomcat-maven-plugin 创建日志文件吗?

java - Maven:从 JAR 中排除 "META-INF/maven"文件夹

java - Swing - 不使用滚动条滚动 JFrame 内容

javascript - Angular.js 在选中 radio 输入时显示 DIV

java - tomcat处理错误页面时没有语言环境?