码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【JavaEE】_前端使用GET请求的queryString向后端传参


    目录

    1. GET请求的query string

    2. 关于query string的urlencode


    1. GET请求的query string

    1. 在HttpServletRequest请求中,getParameter方法用于在服务器这边获取到请求中的参数,主要在query string中;

    query string中的键值对都是程序员自定义的,实际开发中使用非常广泛,用于对本次访问进行补充说明;

    2. 可以理解为:请求进入tomcat后,其query string会被tomcat解析为一个map这样的结构,getParameter就是在查询map中的内容;

    .java内容如下:

    1. import javax.servlet.ServletException;
    2. import javax.servlet.annotation.WebServlet;
    3. import javax.servlet.http.HttpServlet;
    4. import javax.servlet.http.HttpServletRequest;
    5. import javax.servlet.http.HttpServletResponse;
    6. import java.io.IOException;
    7. @WebServlet("/GetParameter")
    8. public class GetParameterServlet extends HttpServlet {
    9. @Override
    10. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    11. // 约定:请求中的query string形如username=zhangsan&password=123
    12. String username = req.getParameter("username");
    13. String password = req.getParameter("password");
    14. System.out.println("username: "+ username);
    15. System.out.println("password: "+ password);
    16. resp.getWriter().write("ok");
    17. }
    18. }

    通过浏览器访问:

    1. 当请求中没有手动添加query string部分时,进行访问:

    浏览器也可以收到返回的ok响应:

    在服务器端,两个key对应的value均为null:

    2. 当手动添加query string后再访问:

    此时再查看服务器端,请求中的query string部分就被服务器获取到了:

    2. 关于query string的urlencode

    现假设客户端发送给服务器的请求中query string部分内容为:username=张三&password=456:

    可见服务器响应返回成功。

    查看服务器端:

    虽然此处汉字也能正确显示,但是存在风险的。

    url中如果出现了中文或其他特殊符号,最好进行urlencode操作,否则可能有些服务器无法正确处理:

    比如对于上例中的“张三”二字,可以使用urlencode工具进行编码:

    在浏览器端将“张三”替换为以上编码:

    (浏览器会自动识别编码,解码为汉语)

    如果浏览器没有解码,服务器会将其解码为汉语,查看服务器端:

  • 相关阅读:
    观视界Grandvision EDI项目案例
    web网页设计期末课程大作业——HTML+CSS+JavaScript美食餐饮文化主题网站设计与实现
    火眼金睛巧辨C与C++的不同之处
    Mybatis02
    Redis整理
    互联网摸鱼日报(2024-06-26)
    Python3用Django连接Mysql以及学习过程中的一些问题
    vue3中异步变同步的方式以及注意点
    R语言dplyr包select函数筛选dataframe数据中以指定字符串结尾(end with)的数据列(变量)
    最详细Pycharm远程代码调试配置方案【针对GPU集群】
  • 原文地址:https://blog.csdn.net/m0_63299495/article/details/136307074
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号