码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • java服务器端开发-servlet:202、Servlet执行过程介绍:get请求与post请求、编码相关等


    声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!!

    文章目录

    4、get请求与post请求

    (1)哪一些情况下,浏览器会发送get请求?

    (2)哪一些情况下,浏览器会发送post请求?

    (3)get请求的特点

    (4)post请求的特点

    5、如何获得请求参数值?

    6、编码相关的问题

    (1)servlet如何输出中文?

    a,乱码问题产生的原因

    b,解决方式

    (2)表单有中文参数,如何处理?

    a,乱码问题产生的原因

    b,解决方式:

    7、常识: 编码、解码、unicode编码

    8、练习:

    9、初学-注意点:


     

    4、get请求与post请求

    (1)哪一些情况下,浏览器会发送get请求?

    a,直接在浏览器地址栏输入某个地址。

    b,点击链接

    c,表单默认的提交方式

    (2)哪一些情况下,浏览器会发送post请求?

    a,设置表单method="post"。

    (3)get请求的特点

    a,请求参数会添加到请求资源路径的后面,只能添加

    少量的参数(因为请求行只有一行,大约只能存放2K

    左右的数据)。

    b,请求参数会显示在浏览器地址栏(路由器会记录

    请求地址)。

    (4)post请求的特点

    a,请求参数添加到实体内容里面,可以添加大量的

    参数。

    b,相对安全,但是,post请求不会对请求参数进行

    加密处理(可以使用https协议来保证数据安全)。

    5、如何获得请求参数值?

    1) String request.getParameter(String paramName);

    注意:如果paraName对应的值不存在,返回null。

    2) String[] request.getParameterValues(String paramName);

    当有多个参数名相同的时候,用该方法。

    6、编码相关的问题

    (1)servlet如何输出中文?

    a,乱码问题产生的原因

    默认情况下,out.println会使用"iso-8859-1"

    来进行编码。

    b,解决方式

    response.setContentType("text/html;charset=utf-8");

    注意,编码格式只要支持中文即可,比如,还可以设置为 gbk。

    这行代码的作用有两个:

    作用1:生成一个消息头(content-type),告诉

    浏览器,服务器返回的数据类型和编码格式

    作用2:也设置了out.println在输出时使用的编码格式。

    (2)表单有中文参数,如何处理?

    注意:

    这里说的是表单有中文参数,表单post/get提交方式的编码处理问题。

    初学者容易,直接写一个类似带中文的地址,在浏览器上进行测试,如

    http://localhost:8080/web02/hello?name=yyh_帅气华

    这样就不对了,说的不是一回事。

    a,乱码问题产生的原因

    当表单提交时,浏览器会对表单中的中文使用

    浏览器打开表单所在的页面时的编码格式进行编码。

    b,解决方式:

    方式一:

    step1,要保证表单所在的页面按照指定的编码格式打开。

    content="text/html;charset=utf-8">

    step2,让服务器按照指定的编码格式进行解码。

     request.setCharacterEncoding("utf-8");

    只对post请求有效。

    方式二:

    step1,同上。

    step2,

    name = new String(

    name.getBytes("iso-8859-1"),"utf-8");

    7、常识: 编码、解码、unicode编码

    a,java语言在内存当中以unicode编码格式(字符集)

    来保存一个字符。

    b,编码:将unicode编码格式对应的字节数组转换成

    某种本地编码格式(gbk,utf-8,gb2312)对应的字节

    数组。

    c,解码:将某种本地编码格式对应的字节数组转换成

    unicode编码格式对应的字节数组。

    8、练习:

    9、初学-注意点:

    1. 修改Servlet里面代码,无需重启tomact,但要重新部署
    2. 修改项目名:项目名,Properties,MyEclipse,Web,Web Context-root,“/当前项目名”
    3. 测试地址,多在浏览器上尝试。不要在MyEclipse上
    4. Open With,System Editor,即会打开“光影看图”等软件【方便查看编辑、复制粘贴】
    5. Web项目中:包名里面有汉字和下划线,并没有报错

  • 相关阅读:
    前端工程化知识系列(5)
    (76)MIPI DSI LLP介绍(十六)
    Python 编程基础 | 第四章-函数 | 4.1、函数定义
    【JAVA】详解在JAVA中int与Integer的区别以及背后的原因。
    利用PaddleDetection 训练自定义VOC数据集进行目标检测
    .Net依赖注入神器Scrutor(上)
    【Deep Learning 1】遗传算法GA
    【JavaEE基础与高级 第55章】Java中的对象流详细介绍与使用
    分布式文件系统JuiceFS测试总结
    基于STM32的宠物箱温度湿度监控系统
  • 原文地址:https://blog.csdn.net/YuDBL/article/details/126615326
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号