怎么把前端用户输入的信息成功获取到后台呢?
目录
比如我们现在有一个获取信息的前端表单(注:HTML 文件必须与 WEB-INF 同级)
- html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Testtitle>
- head>
- <body>
- <form action="addSer" method = "post">
- 名称:<input type="text" name = "fname"><br/>
- 价格:<input type="text" name = "price"><br/>
- 库存:<input type="text" name = "fcount"><br/>
- 备注:<input type="text" name = "remark"><br/>
- <input type="submit" value = "添加">
- form>
- body>
- html>

当我们点击添加按钮时,表单的数据就会被提交到后台
我们首先需要部署 Tomcat 服务器的相关 jar 包
File ——> Project Structure
一定要选择你想部署的 Model ,比如本文我想部署到 JavaWebCode 这个 model 下
点击加号,选择 Library,在 Library 下选择 Tomcat

按照以上路径即可完成相关 jar 包的部署
接下来就可以重写 doPost 方法了,为什么要重写这个方法呢,因为在 HTML 页面,我们选择用 post 方法来接收参数,所以我们才要重写此方法
此 Java 文件需要写在 src 下
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
-
- public class AddServlet extends HttpServlet {
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String fname = request.getParameter("fname");
- String priceStr = request.getParameter("price");
- Integer price = Integer.parseInt(priceStr);
- String fcountStr = request.getParameter("fcount");
- Integer fcount = Integer.parseInt(fcountStr);
- String remark = request.getParameter("remark");
-
- System.out.println("fname = " + fname);
- System.out.println("price = " + price);
- System.out.println("fcount = " + fcount);
- System.out.println("remark = " + remark);
- }
- }
在 WEB-INF 下有一个 web.xml,我们需要在里面指明,form action="addSer" 中的 addSer 就是连接到的 AddServlet 方法
- <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
- version="4.0">
- <servlet>
- <servlet-name>AddServletservlet-name>
- <servlet-class>com.AddServletservlet-class>
- servlet>
- <servlet-mapping>
- <servlet-name>AddServletservlet-name>
- <url-pattern>/addSerurl-pattern>
- servlet-mapping>
- web-app>
我们来解释一下 XML 文件中的信息,我们添加的是 servlet 和 servlet-mapping 模块
servlet 中的 servlet-name 指的是我们重写 doPost 方法对应的类,servlet-class 是这个类的位置,从 src 下一级为起始
servlet-mapping 中的 servlet-name 也是我们重写 doPost 方法对应的类,url-pattern 则是我们链接的名称
从下往上看,我们的思路就是前端找到 addSer, addSer 连接到 AddServlet ,AddServlet 的位置在 com.AddServlet,在 Java 文件中找到重写的 doPost 方法,执行

点击添加,我们就可以在后台看到相应的输出了
