千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:重庆千锋IT培训  >  技术干货  >  异常修复——表单的action传参数异常解决

异常修复——表单的action传参数异常解决

来源:千锋教育
发布人:lxl
时间: 2023-03-27 14:08:37

  一. 问题介绍

  最近在学习Web开发时,有的同学尝试着使用表单的action传参数,结果发现Servlet中无法接受到前端传入的参数信息,具体代码如下所示:

  前端代码参数

表单的action传参数

  后台Servlet代码

表单的action传参数

  最终打印结果为: null

  二. 问题梳理

  对于这个结果,这个同学表示很疑惑,结果怎么是null呢?而我们发现,如果是从url中直接访问http://localhost:8080/user?id=1001时,可以接收到前端传来的数据,但利用form表单传参时获取的值却是null,难道表单中的action参数不是和直接访问url一样的吗?

  接下来,就给你解答下这个疑惑。

  之所以会出现上述现象,这是因为当action传参时,默认的是get请求方式,会将action中的参数清除,也就是url中的参数被清除掉了,变成了http://localhost:8080/user? 这种形式,所以Servlet中就无法获取到请求参数了。

  三. 解决方案

  那么这个问题该怎么解决呢?这里平哥给出如下2种具体的解决方案。

  1. 第一种方案,我们可以将表单的请求方式改为post,因为post请求是以请求体的方式传参数,url中的参数不会被清理。

  2. 第二种方案,我们可以使用隐藏控件传参,这时无论是get/post请求都可以,如下所示:

表单的action传参数

  如果是以get请求传参,则会以url方式传参;如果是以post请求传参,则会将id参数以请求体的方式传到后台Servlet中。

  现在你知道这个问题是怎么产生、怎么解决的吗?


声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

java的输入语句—— Scanner类

2023-05-04

java数据库操作常识事务的四大特性

2023-05-04

DML数据操作之增加或删除数据

2023-05-04

最新文章NEW

socket是什么?有什么作用?

2023-05-04

Java常量定义是什么

2023-04-28

一分钟带你学多线程

2023-04-28

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>