参数问题|学习笔记

简介: 快速学习参数问题

开发者学堂课程【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月前
Ceres库中参数理解
Ceres库中参数的理解,特别是仿函数中传参的含义,并提供了一个LeetCode问题的链接,该问题要求找出数组中和为目标值的两个数。
|
前端开发
前端学习案例-参数默认值是函数2
前端学习案例-参数默认值是函数2
85 0
前端学习案例-参数默认值是函数2
|
前端开发
前端学习案例-参数默认值是函数1
前端学习案例-参数默认值是函数1
67 0
前端学习案例-参数默认值是函数1
【学习笔记之我要C】函数的参数与调用
【学习笔记之我要C】函数的参数与调用
148 0
|
算法 索引
三、参数学习
三、参数学习
三、参数学习
|
PHP 开发者
参数默认值|学习笔记
快速学习参数默认值
参数默认值|学习笔记
|
Java Scala 开发者
作为参数的函数 | 学习笔记
快速学习作为参数的函数
|
开发者 Python
多个参数| 学习笔记
快速学习多个参数
|
开发者 Python
函数的参数| 学习笔记
快速学习函数的参数
self.doubleSpinBox.setGeometry(QtCore.QRect(20, 25, 101, 22))参数讲解
self.doubleSpinBox.setGeometry(QtCore.QRect(20, 25, 101, 22))参数讲解
319 0