• 【JavaWeb笔记】Servlet入门—获取参数


    怎么把前端用户输入的信息成功获取到后台呢?

    目录

    前端页面

    重写doPost方法

    添加配置信息

    运行结果


    前端页面

    比如我们现在有一个获取信息的前端表单(注:HTML 文件必须与 WEB-INF 同级

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>Testtitle>
    6. head>
    7. <body>
    8. <form action="addSer" method = "post">
    9. 名称:<input type="text" name = "fname"><br/>
    10. 价格:<input type="text" name = "price"><br/>
    11. 库存:<input type="text" name = "fcount"><br/>
    12. 备注:<input type="text" name = "remark"><br/>
    13. <input type="submit" value = "添加">
    14. form>
    15. body>
    16. html>

                                              

    当我们点击添加按钮时,表单的数据就会被提交到后台

    重写doPost方法

    我们首先需要部署 Tomcat 服务器的相关 jar 包

    File ——> Project Structure

    一定要选择你想部署的 Model ,比如本文我想部署到 JavaWebCode 这个 model 下

    点击加号,选择 Library,在 Library 下选择 Tomcat

    按照以上路径即可完成相关 jar 包的部署 

    接下来就可以重写 doPost 方法了,为什么要重写这个方法呢,因为在 HTML 页面,我们选择用 post 方法来接收参数,所以我们才要重写此方法

    此 Java 文件需要写在 src 下

    1. import javax.servlet.ServletException;
    2. import javax.servlet.http.HttpServlet;
    3. import javax.servlet.http.HttpServletRequest;
    4. import javax.servlet.http.HttpServletResponse;
    5. import java.io.IOException;
    6. public class AddServlet extends HttpServlet {
    7. @Override
    8. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    9. String fname = request.getParameter("fname");
    10. String priceStr = request.getParameter("price");
    11. Integer price = Integer.parseInt(priceStr);
    12. String fcountStr = request.getParameter("fcount");
    13. Integer fcount = Integer.parseInt(fcountStr);
    14. String remark = request.getParameter("remark");
    15. System.out.println("fname = " + fname);
    16. System.out.println("price = " + price);
    17. System.out.println("fcount = " + fcount);
    18. System.out.println("remark = " + remark);
    19. }
    20. }

    添加配置信息

    在 WEB-INF 下有一个 web.xml,我们需要在里面指明,form action="addSer" 中的 addSer 就是连接到的 AddServlet 方法

    1. <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3. xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
    4. version="4.0">
    5. <servlet>
    6. <servlet-name>AddServletservlet-name>
    7. <servlet-class>com.AddServletservlet-class>
    8. servlet>
    9. <servlet-mapping>
    10. <servlet-name>AddServletservlet-name>
    11. <url-pattern>/addSerurl-pattern>
    12. servlet-mapping>
    13. 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 方法,执行

    运行结果

                                                 

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

  • 相关阅读:
    flutter中读取sdcard里面的图片跟视频
    酷雷曼第二期无人机技能培训圆满举办
    nodejs+vue+elementui电影在线播放交流网站express
    Unity之OpenXR+XR Interaction Toolkit快速监听手柄任意按键事件
    测试人生 | 阿里实习 90 天:从实习生的视角谈谈个人成长
    深度解析KubeEdge EdgeMesh 高可用架构
    Vue3 - Teleport 传送门(详细教程)
    vscode中对 python 快速增加header 描述
    动态规划:计数问题—数位统计DP
    前缀,后缀表达式(逆波兰表达式),中缀表达式转为对应的后缀表达式,逆波兰计算器的实现(java)
  • 原文地址:https://blog.csdn.net/lijibai_/article/details/125949620