Java 如何将JSP的submit按钮映射到servlet?
我对JAVA很熟悉,但对JSP和servlet的主题很陌生。我试图通过将JSP中的值引入servlet来执行一些jdbc操作。为此,我编写了一个带有下拉列表和提交按钮的JSP Jsp: 我正在读取servlet类中的JSP下拉值,并根据收到的值将字符串传递给方法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
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>