在JAVA WEB开发中经常遇到获取请求参数的值和在request对象中set或者get属性,初学者往往容易混淆,那么二者之间关系到底如何呢?下面是个人的总结:
区别:
- 来源不同:
参数(parameter)是从客户端(浏览器)中由用户提供的,若是GET方法是从URL中
提供的,若是POST方法是从请求体(request body)中提供的;
属性(attribute)是服务器端的组件(JSP或者Servlet)利用requst.setAttribute()设置的
- 操作不同:
参数(parameter)的值只能读取不能修改,读取可以使用request.getParameter()读取;
属性(attribute)的值既可以读取亦可以修改,读取可以使用request.setAttribute(),设置可使用request.getAttribute()
- 数据类型不同:
参数(parameter)不管前台传来的值语义是什么,在服务器获取时都以String类型看待,并且客户端的参数值只能是简单类型的值,不能是复杂类型,比如一个对象。
属性(attribute)的值可以是任意一个Object类型。
共同点
二者的值都被封装在request对象中。
分享到:
相关推荐
Attribute标记属性在.NET框架中扮演着重要的角色,它是元数据的一部分,允许我们在代码中附加信息,这些信息在程序运行时可以被编译器、运行时或其他工具读取和使用。Attribute提供了一种灵活的方式来注解类、方法、...
C#的反射System.Reflection正对应于C#的整体代码结构: 命名空间Namespace一般与程序集Assembly名称一致。 一个程序集Assembly由多...方法的参数Parameter有类型,参数名,默认值,是否引用参数ref,是否输出参数out
在参数化绘图中,使用“块”(Block)和“属性”(Attribute)功能是关键。块可以将常见的组件(如变压器的基础形状)定义为一个可重复使用的单元,而属性则允许我们在块中嵌入文字信息,如型号、额定功率等,这些...
在AutoCAD中,可以通过“参数”(Parameter)和“关联”(Association)功能实现。参数可以是数值、公式或表达式,关联则确保当参数改变时,相关图形会自动更新。 3. **块(Block)与属性(Attribute)**:在绘制...
* 属性(Attribute):指的是变体的基本特征和参数。 * 参数(Parameter):指的是变体的详细参数和设置。 Detailed Description -------------------- ### General Tab Variant BOM 的 General Tab 包括以下几...
类方法和静态方法的区别在于,类方法通过`@classmethod`装饰器定义,接收类作为第一个参数,可以修改类属性;静态方法通过`@staticmethod`装饰器定义,不接收类或实例作为参数,通常用于提供工具函数。 在上面的`...
在Java Web开发中,Servlet和JSP是两个关键组件,常用于构建动态Web应用程序。本教程将探讨如何在Servlet中传递参数给JSP,并利用这些参数在页面上通过高德地图进行显示。高德地图是一个功能强大的地图服务,提供...
在模块定义中,使用赋值命令(如ATTRIBUTE和PARAMETER)来设置属性和参数,ATTRIBUTE命令用于指定对象的属性,PARAMETER命令用于设定模块的参数。 设计XBD文件时,需要精确地描述每个模块的特性,包括其物理特性、...
`Attribute.IsDefined()`检查是否存在特定的自定义属性,`Attribute.GetCustomAttributes()`则获取所有自定义属性。 七、泛型与反射 1. 泛型类型在反射中处理略有不同,需要使用`MakeGenericType()`来创建具体类型...
self.attribute1 = parameter1 self.attribute2 = parameter2 ... # 类方法 def method_name(self, parameters): # 方法体 ``` 二、实例化与对象 当我们创建一个类的实例时,会调用类的初始化方法`__init__`...
Zuul 的配置属性 zuul.max.host.connections 已经被两个新的配置属性替代,zuul.host.maxTotalConnections(总连接数)和 zuul.host.maxPerRouteConnections(每个路由连接数),默认值分别是 200 和 20。...
`GetParameters`方法返回一个`ParameterInfo`对象数组,这些对象提供了关于参数的详细信息,如名称、类型和是否具有默认值。 函数特性不仅限于基本的参数和返回类型,还包括更高级的概念,如访问修饰符(public、...
- **PARAMETER**:参数名称。 - **VALUE**:参数值。 12. **R_JOBENTRY_TYPE**:操作种类,定义了各种可能的操作类型。 - **ID_JOBENTRY_TYPE**:操作类型ID。 - **CODE**:操作类型的代码。 - **DESCRIPTION*...
- 根据命令行参数和文件路径调用`Demonstrate()`函数来显示每个文件的信息。 - 若命令行中有`-l`参数,则调用`Demonstrate_attribute()`函数显示文件详细信息。 - 若没有`-l`参数,则调用`Demonstrate_single()`...
1. 属性(Attribute)可见性:B是A的一个属性。例如,`Register`类有一个私有属性`ProductCatalog catalog`,使得`Register`可以访问`ProductCatalog`对象。 2. 参数(Parameter)可见性:B是A的方法参数。在`...
在运行时,可以通过`ParameterInfo`类获取方法参数的信息,包括参数类型、名称和是否可选。这在动态调用方法时很有帮助,可以构建正确的参数数组。 5. **元数据操作**: 反射还可以用来探索类的元数据,包括特性...
- 集群名称和集群名称列表属性冲突。这通常发生在设置集群名称时出现冲突。 51. **3090 - Cluster queue cannot be a transmission queue** - 集群队列不能是传输队列。这通常发生在尝试将集群队列设置为传输队列...
- **属性(Attribute)**:自定义属性类后缀为`Attribute`。 - **接口**:接口前缀为`I`,如`IMyInterface`。 - **异常**:自定义异常类后缀为`Exception`,如`MyCustomException`。 2. **使用原则** - **...