Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将JSP的submit按钮映射到servlet?_Java_Jsp_Servlets - Fatal编程技术网

Java 如何将JSP的submit按钮映射到servlet?

Java 如何将JSP的submit按钮映射到servlet?,java,jsp,servlets,Java,Jsp,Servlets,我对JAVA很熟悉,但对JSP和servlet的主题很陌生。我试图通过将JSP中的值引入servlet来执行一些jdbc操作。为此,我编写了一个带有下拉列表和提交按钮的JSP Jsp: 我正在读取servlet类中的JSP下拉值,并根据收到的值将字符串传递给方法process。我在线查看了web.xml文件的配置,如下所示。 http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version=“4.0”> 数据服务器 数据服务器 开始serv

我对JAVA很熟悉,但对JSP和servlet的主题很陌生。我试图通过将JSP中的值引入servlet来执行一些jdbc操作。为此,我编写了一个带有下拉列表和提交按钮的JSP

Jsp:

我正在读取servlet类中的JSP下拉值,并根据收到的值将字符串传递给方法
process
。我在线查看了web.xml文件的配置,如下所示。 http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version=“4.0”>


数据服务器
数据服务器
开始servlet
com.servlets.DataServlet
数据服务器
/解析

我正在尝试在IntelliJ上运行代码,下面是我在IntelliJ上配置tomcar服务器的方式。

当我运行代码时,我看到页面正在按预期生成jsp

我不明白的是如何用onclick配置
submit
,这样我就可以点击submit并在后面的触发器中调用java程序。我编写java代码只是为了从数据库中读取值,方法是
process
。这运行得很好,我被要求从JSP和di获取输入将结果显示回JSP。 当我点击提交按钮时,我在控制台输出中没有看到任何进展。我想我没有正确地映射它。 大多数在线链接都包含JSP和JAVA,这更令人困惑。
有人能告诉我如何通过单击
提交
按钮触发程序吗因为您使用的是
@WebServlet
,所以不需要在
web.xml
中进行映射。只需在JSP主体中添加以下行:

<form action="getdata.do" method="post">

查看JSP文件,注意头部和身体标记。我认为将身体放在另一个身体内,将头部标记放在身体内是错误的。 另一个更重要的情况是,要通过单击提交按钮发送表单,您应该将它放在标签表单中,类似这样的内容


名字:

姓氏:

好的。我应该将所有代码放在POST方法中,而不是理解。但是当我单击submit按钮时,它显示HTTP状态404–未找到,即使代码在POST方法中。我是否缺少任何链接?我已经对JSP进行了如上所述的更改,但当我单击submit按钮时,我看到HTTP状态404–未找到。我编辑了我的用您用注释@WebServlet映射的正确URI路径回答
@WebServlet("/getdata.do")
public class DataServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        GetTableColumn gt = new GetTableColumn();
        String issue      = request.getParameter("reportSelection");
        String message;
        try {
            if ("Latency".equals(issue)) {
                message = gt.process("latency");
            } else if ("DataQuality".equals(issue)) {
                message = gt.process("DataQuality");
                System.out.println("Data quality");
            } else if ("Outage".equals(issue)) {
                message = gt.process("Outage");
            }
        } catch (SQLException s) {
            s.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}
<servlet>
    <servlet-name>DataServlet</servlet-name>
    <display-name>DataServlet</display-name>
    <description>Begin servlet</description>
    <servlet-class>com.servlets.DataServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>DataServlet</servlet-name>
    <url-pattern>/parse</url-pattern>
</servlet-mapping>
<form action="getdata.do" method="post">
  <form action = "getdata.do" method = "POST">
     First Name: <input type = "text" name = "first_name">
     <br />
     Last Name: <input type = "text" name = "last_name" />
     <input type = "submit" value = "Submit" />
  </form>