参数问题|学习笔记

简介: 快速学习参数问题

开发者学堂课程【Java 面试疑难点串讲 4:Java Web 开发参数问题】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/27/detail/593


参数问题


内容介绍:


1) 参数传递的两大困扰

2) 在 JSP 中接收参数的三种方法

3) 参数接收可能出现的问题

4) 参数的来源

5) 对于参数的类型的控制

 

参数传递的两大困扰

1. 无法确认参数的来源

2. 对于参数的类型的控制

 

在 JSP 中接收参数的三种方法

在 JSP 里面(HttpServletRequest) 接收参数只提供有三种方法:

1. 接收单个参数:public String getParameter(String param);

2. 接收一组参数(参数名称相同、复选框): public String [] getParameterValues(String param);.

3. 接收全部的参数名:public Enumeration getParameterNames();所有开发框架内部都封装了此方法,最典型的代表:参数与简单 Java 类对象的互相转型。

 

参数接收可能出现的问题

1.参数并没有提交,用户很可能是通过非法途径进入的系统;

2.正常提交了,但是由于某些浏览器的问题,提交的数据不是 null,而是空字符串;

<%@ page pageEncoding="UTF-8"%>

<h1>接收参数:<%=request.getParameter("msg")%></h1>

<h1>接收参数:${param.msg}</h1>

路径:http://localhost:8888/mldn/show.jsp?msg=

于是现在发现提交的数据不是 null,但是也没有字符串的内容、所以最终的结果是“""”;

3.提交的数据是非法的数据,也就是所谓的服务器端的验证处理操作,在此环节会使用两种形式:客户端编写 JS 进行数据验证,同时在服务器端编写 Java 程序进行验证,真正有用的是服务器的验证,因为用户的浏览器可以屏蔽掉 JS ,所以为了保证数据的安全,最好的方法是两种方法都使用,之所以使用 JS 的验证,主要的目的就是为了增加界面的互动性,因此如果某些内容是不允许为空的情况下,那么要进行验证就必须验证 null 与空字符串两个内容,才可以完成是否为空的确认。

 

参数的来源

参数的来源有如下几种:表单提交、地址重写、标签指令传递的参数(分页)

 

对于参数的类型的控制;

从实际的开发来看,最为常用的几种数据类型:int、double、String,因此对于这几种类型就必须做好相关的验证处理;

对于表单封装的情况而言,框架可以帮助用户更好的进行提交数据的处理,如果是自己实现的则必须处理好请求类型,否则数据无法正常使用 request.getParaemter()接收

相关文章
|
2天前
|
云安全 人工智能
2025,阿里云安全的“年度报告”
拥抱AI时代,阿里云安全为你护航~
1439 1
|
9天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1417 10
|
9天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
1331 7
|
10天前
|
人工智能 Rust 运维
这个神器让你白嫖ClaudeOpus 4.5,Gemini 3!还能接Claude Code等任意平台
加我进AI讨论学习群,公众号右下角“联系方式”文末有老金的 开源知识库地址·全免费
1220 15
|
4天前
|
人工智能 前端开发 API
Google发布50页AI Agent白皮书,老金帮你提炼10个核心要点
老金分享Google最新AI Agent指南:让AI从“动嘴”到“动手”。Agent=大脑(模型)+手(工具)+协调系统,可自主完成任务。通过ReAct模式、多Agent协作与RAG等技术,实现真正自动化。入门推荐LangChain,文末附开源知识库链接。
457 118
|
2天前
|
机器学习/深度学习 测试技术 数据中心
九坤量化开源IQuest-Coder-V1,代码大模型进入“流式”训练时代
2026年首日,九坤创始团队成立的至知创新研究院开源IQuest-Coder-V1系列代码大模型,涵盖7B至40B参数,支持128K上下文与GQA架构,提供Base、Instruct、Thinking及Loop版本。采用创新Code-Flow训练范式,模拟代码演化全过程,提升复杂任务推理能力,在SWE-Bench、LiveCodeBench等基准领先。全阶段checkpoint开放,支持本地部署与微调,助力研究与应用落地。
340 1
|
7天前
|
存储 缓存 NoSQL
阿里云经济型e实例(ecs.e-c1m4.large)2核8G云服务器优惠活动价格及性能测评
阿里云经济型e实例(ecs.e-c1m4.large)2核8G配置,支持按使用流量或按固定带宽两种公网计费方式,搭配20G起ESSD Entry云盘,是主打高性价比的内存优化型入门选择。其核心特点是8G大内存适配轻量内存密集场景,计费模式灵活可控,既能满足个人开发者的复杂测试项目需求,也能支撑小微企业的基础业务运行,无需为闲置资源过度付费。以下从优惠活动价格、性能表现、适用场景及避坑要点四方面,用通俗语言详细解析。
233 153
|
4天前
|
机器学习/深度学习 人工智能 算法
炎鹊「Nexus Agent V1.0」:垂直领域AI应用的原生能力引擎
炎鹊AI「Nexus Agent V1.0」是垂直行业专属AI原生引擎,融合大模型、AIGA决策大脑、行业知识图谱与专属模型,打造“感知-决策-执行”闭环。支持21个行业低代码构建工具型、员工型、决策型AI应用,实现技术到业务价值的高效转化,推动AI从实验走向规模化落地。(239字)
254 1

热门文章

最新文章