获取表单提交到servlet中的.java页面的问题

获取表单提交到servlet中的.java页面的问题,java,apache,jakarta-ee,tomcat,Java,Apache,Jakarta Ee,Tomcat,嘿,伙计们,我正在开发一个ApacheTomcatV7.0servlet,用户在其中输入一些值,发送到一个页面进行预览,然后点击submit。问题是,一旦他们点击提交,我就会收到一个404文件,说文件不存在 设立项目- WebContent文件夹中有一个welcome.js文件,该文件发送到花名册.js文件进行预览-在花名册.js文件中,您点击submit并将您发送到此链接-src/bandServ/BandListServ.java此链接与WebContent文件夹一起包含在java Reso

嘿,伙计们,我正在开发一个ApacheTomcatV7.0servlet,用户在其中输入一些值,发送到一个页面进行预览,然后点击submit。问题是,一旦他们点击提交,我就会收到一个404文件,说文件不存在

设立项目-

WebContent文件夹中有一个welcome.js文件,该文件发送到花名册.js文件进行预览-在花名册.js文件中,您点击submit并将您发送到此链接-
src/bandServ/BandListServ.java
此链接与WebContent文件夹一起包含在java Resources文件夹中。Java Resources文件夹包含我的包,我希望从花名册.js文件的表单中发送数据

花名册.js文件的代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
   <%@ include file="/includes/header.html" 

   %>

</head>
<body>
    <h1>Battle Of Bands</h1>

    <p>Here is our band roster:</p>


    <table cellspacing="5" cellpadding="5" border="1">
        <tr>
            <td align="right">Band1:</td>
            <td><%= request.getParameter("Band1name")  %></td>
        </tr>
        <tr>
            <td align="right">Band2:</td>
            <td><%= request.getParameter("Band2name") %></td>
        </tr>
        <tr>
            <td align="right">Band3:</td>
            <td><%= request.getParameter("Band3name") %></td>
        </tr>
        <tr>
            <td align="right">Band4:</td>
            <td><%= request.getParameter("Band4name") %></td>
        </tr>
        <tr>


    </table>

    <p>Ready to Rock</p>

    <form action="src/bandServ/BandListServ.java" method="post">
        <input type="submit" value="submit">
    </form>

</body>
</html>
<%@ include file="/includes/footer.jsp" %>

乐队之战
这是我们的乐队名单:

波段1: 波段2: 波段3: 波段4: 准备好摇滚了吗


您应该提供一个servlet映射,将URL请求转换为方法调用。

一种更简单的方法是使用Java服务器页面,它会为您翻译代码并自动进行servlet映射

[编辑]

添加指向servlet教程的链接:


您应该提供一个servlet映射,将URL请求转换为方法调用。

一种更简单的方法是使用Java服务器页面,它会为您翻译代码并自动进行servlet映射

[编辑]

添加指向servlet教程的链接:


不可能直接从表单调用Java类。 应将类创建为扩展该类的Servlet。然后必须修改(/Project/WEB-INF/WEB.xml)以包含servlet类详细信息和映射到该类的url

<servlet>
  <servlet-name>BandListServ</servlet-name>
  <servlet-class>bandServ.BandListServ</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>BandListServ</servlet-name>
  <url-pattern>/list-bands</url-pattern>
</servlet-mapping>

带列表服务
bandServ.BandListServ
带列表服务
/列出乐队
修改JSP中的from以调用web.xml中定义的URL模式

<form action="/list-bands" method="post">
    <input type="submit" value="submit">
</form>

不可能直接从表单调用Java类。 应将类创建为扩展该类的Servlet。然后必须修改(/Project/WEB-INF/WEB.xml)以包含servlet类详细信息和映射到该类的url

<servlet>
  <servlet-name>BandListServ</servlet-name>
  <servlet-class>bandServ.BandListServ</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>BandListServ</servlet-name>
  <url-pattern>/list-bands</url-pattern>
</servlet-mapping>

带列表服务
bandServ.BandListServ
带列表服务
/列出乐队
修改JSP中的from以调用web.xml中定义的URL模式

<form action="/list-bands" method="post">
    <input type="submit" value="submit">
</form>

这一行

<form action="src/bandServ/BandListServ.java" method="post">

我相信这是真的

action=”“应包含一个uri,该uri映射到web.xml中的逻辑servlet名称,该名称被内部映射到servlet的fullt限定类名。相反,您不能在操作中指定servlet名称

您的web.xml应该包含如下内容

<servlet>
  <servlet-name>BandServlet</servlet-name>
  <servlet-class>com.band.BandServlet</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>BandServlet</servlet-name>
  <url-pattern>/getBands</url-pattern>
</servlet-mapping>

BandServlet
com.band.BandServlet
BandServlet
/getBands
在表单标记中,执行以下操作

<form action="getBands" method="post">

这一行

<form action="src/bandServ/BandListServ.java" method="post">

我相信这是真的

action=”“应包含一个uri,该uri映射到web.xml中的逻辑servlet名称,该名称被内部映射到servlet的fullt限定类名。相反,您不能在操作中指定servlet名称

您的web.xml应该包含如下内容

<servlet>
  <servlet-name>BandServlet</servlet-name>
  <servlet-class>com.band.BandServlet</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>BandServlet</servlet-name>
  <url-pattern>/getBands</url-pattern>
</servlet-mapping>

BandServlet
com.band.BandServlet
BandServlet
/getBands
在表单标记中,执行以下操作

<form action="getBands" method="post">


另外,您没有部署.java源文件,而是部署编译后的.class文件.Tuto。我想我真的不知道如何将其发送到类文件。一个简单的答案是:服务器首先确定哪个应用程序应该从URL接收HTTP请求。然后将请求转换为web.xml文件中定义的相应servlet类的方法调用。详细教程如下:(注意:请求也可能由请求过滤器进行预处理,响应也可能由响应过滤器进行后处理。)此外,您不部署.java源文件,部署编译后的.class文件.Tuto我想我真的不知道如何将其发送到类文件。一个简单的答案是:服务器首先确定哪个应用程序应该从URL接收HTTP请求。然后将请求转换为web.xml文件中定义的相应servlet类的方法调用。这里有详细的教程:(注意:请求也可能由请求过滤器进行预处理,响应也可能由响应过滤器进行后处理。)这是因为您的java文件位置不可见。您可能希望查看是否可以访问本地主机中的文件。试试看你的java文件是否被加载,如果没有,那么你必须找到正确的路径,然后使用它。我假设您的端口号为8080。当我使用或收到404错误时,我通过右键单击类的属性找到了该路径。更确切地说,您是否可以发布
web.xml
BandListServ.java
类?发生这种情况是因为您的java文件位置不可见。您可能希望查看是否可以访问本地主机中的文件。试试看你的java文件是否被加载,如果没有,那么你必须找到正确的路径,然后使用它。我假设您的端口号是8080。当我使用或遇到404错误时,我通过右键单击类的属性找到了该路径。更确切地说,您可以发布
web.xml
BandListServ.java
类吗?