Jsp HTTP状态404请求的资源不可用

Jsp HTTP状态404请求的资源不可用,jsp,servlets,Jsp,Servlets,一个星期以来,我一直试图找到解决问题的办法,但没有成功。 这类问题可能有100多个,但它们对我毫无帮助。 如果有人能解释什么是URL映射以及它是如何实现的,请回答 我正在使用Tomcat7和EclipseJavaEE。我的jsp文件运行正常,但单击“提交”时会出现错误。我几乎什么都试过了。请让我知道我犯了什么错误 以下是我的jsp代码: <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEnco

一个星期以来,我一直试图找到解决问题的办法,但没有成功。 这类问题可能有100多个,但它们对我毫无帮助。 如果有人能解释什么是URL映射以及它是如何实现的,请回答

我正在使用Tomcat7和EclipseJavaEE。我的jsp文件运行正常,但单击“提交”时会出现错误。我几乎什么都试过了。请让我知道我犯了什么错误

以下是我的jsp代码:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form method="post" action="/calculator/calc">
<input type="text" name="n1"><br>
<input type="text" name="n2"><br>
<input type="submit">
</form>
</body>
</html>
和web.xml

<?xml version="1.0" encoding="UTF-8"?>

<display-name>calculator</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
 </welcome-file-list>
</web-app>

计算器
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp

web.xml中,您需要为servlet指定一个名称,指示哪个类将为其提供服务:

<servlet>
    <servlet-name>mycalc</servlet-name>
    <servlet-class>yourpackage.calc</servlet-class>
</servlet>

mycalc
yourpackage.calc
然后是到servlet的url映射

<servlet-mapping>
    <servlet-name>mycalc</servlet-name>
    <url-pattern>/calculator/calc</url-pattern>
</servlet-mapping>

mycalc
/计算器/计算器

您在servlet映射中输入的url是您必须在web.xml中的post

操作中输入的url。您需要为servlet指定一个名称,指示哪个类将为其提供服务:

<servlet>
    <servlet-name>mycalc</servlet-name>
    <servlet-class>yourpackage.calc</servlet-class>
</servlet>

mycalc
yourpackage.calc
然后是到servlet的url映射

<servlet-mapping>
    <servlet-name>mycalc</servlet-name>
    <url-pattern>/calculator/calc</url-pattern>
</servlet-mapping>

mycalc
/计算器/计算器

您在servlet映射中输入的url是您必须在web.xml中的post

操作中输入的url。您需要为servlet指定一个名称,指示哪个类将为其提供服务:

<servlet>
    <servlet-name>mycalc</servlet-name>
    <servlet-class>yourpackage.calc</servlet-class>
</servlet>

mycalc
yourpackage.calc
然后是到servlet的url映射

<servlet-mapping>
    <servlet-name>mycalc</servlet-name>
    <url-pattern>/calculator/calc</url-pattern>
</servlet-mapping>

mycalc
/计算器/计算器

您在servlet映射中输入的url是您必须在web.xml中的post

操作中输入的url。您需要为servlet指定一个名称,指示哪个类将为其提供服务:

<servlet>
    <servlet-name>mycalc</servlet-name>
    <servlet-class>yourpackage.calc</servlet-class>
</servlet>

mycalc
yourpackage.calc
然后是到servlet的url映射

<servlet-mapping>
    <servlet-name>mycalc</servlet-name>
    <url-pattern>/calculator/calc</url-pattern>
</servlet-mapping>

mycalc
/计算器/计算器

您在servlet映射中输入的url是您必须在post操作中输入的url

在表单操作中,您将url指定为
/calculator/calc
,因此在
web.xml
中,容器无法找到url的任何映射,即使您没有使用基于注释的映射,也可以尝试这样做

<servlet>
    <servlet-name>s1</servlet-name>
    <servlet-class>packageName.servletName</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>s1</servlet-name>
    <url-pattern>/calculator/calc</url-pattern>
</servlet-mapping>

超越你的阶级定义。但是请记住,如果您使用它,则无需在
web.xml
中指定映射,但是您应该在表单的操作中使用Servlet-3和tomcat 7

您将url指定为
/calculator/calc
,因此在
web.xml
中,容器无法找到url的任何映射,甚至您没有使用注释请尝试这样的方法

<servlet>
    <servlet-name>s1</servlet-name>
    <servlet-class>packageName.servletName</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>s1</servlet-name>
    <url-pattern>/calculator/calc</url-pattern>
</servlet-mapping>

超越你的阶级定义。但是请记住,如果您使用它,则无需在
web.xml
中指定映射,但是您应该在表单的操作中使用Servlet-3和tomcat 7

您将url指定为
/calculator/calc
,因此在
web.xml
中,容器无法找到url的任何映射,甚至您没有使用注释请尝试这样的方法

<servlet>
    <servlet-name>s1</servlet-name>
    <servlet-class>packageName.servletName</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>s1</servlet-name>
    <url-pattern>/calculator/calc</url-pattern>
</servlet-mapping>

超越你的阶级定义。但是请记住,如果您使用它,则无需在
web.xml
中指定映射,但是您应该在表单的操作中使用Servlet-3和tomcat 7

您将url指定为
/calculator/calc
,因此在
web.xml
中,容器无法找到url的任何映射,甚至您没有使用注释请尝试这样的方法

<servlet>
    <servlet-name>s1</servlet-name>
    <servlet-class>packageName.servletName</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>s1</servlet-name>
    <url-pattern>/calculator/calc</url-pattern>
</servlet-mapping>

超越你的阶级定义。但是请记住,如果您使用此方法,则无需在
web.xml
中指定映射,但您应该使用Servlet-3和tomcat 7

我尝试了您的两种方法,但均未成功:(我尝试了您的两种方法,但均未成功:(我尝试了您的两种方法,但均未成功:(您需要在jsp页面的servlet url之前追加上下文路径,例如
您需要在jsp页面的servlet url之前追加上下文路径,例如
您需要在jsp页面的servlet url之前追加上下文路径,例如
您需要在jsp页面的servlet url之前追加上下文路径,例如