`
wxinpeng
  • 浏览: 581927 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

JSP中getParameter和getAttribute区别

阅读更多

 

1,HttpServletRequest类中有setAttribute方法,但是没有setParameter方法。

 

2,getParameter方法的返回值为String,但是getAttribute方法的返回值为Object,也就是可以取任意的对象。

 

分析一下:

 

1,getParameter方法解析的是通过HTTP网络协议传递过来的参数值,而HTTP在默认的情况下是以文本的方式传递数据的,所以

getParameter方法的返回值就应该是String的。

 

2,哪为什么getAttribute方法可以返回Object类型的值呢? 此处从这两个方法运行的环境来看,getParameter方法解析HTTP,运行

的环境为客户端到服务器端,通过HTTP协议传递数据只能是String的。而getAttribute和setAttribute方法运行的环境只在服务器

端,无需经过客户端,就没有传递数据类型的限制。因为是服务器端,代码程序完全可控,所以即可设值,并是可设任意的值,也

 

可取值。

 

总结一下:

 

getParameter方法是对通过HTTP网络协议传过来的纯文本的参数值的解析,所以只能返回String,而又因为客户端的不可控,所以只

有getParameter方法而没有setParameter方法。

 

getAttribute方法和setAttribute方法是完全运行在服务器端的,没有要通过客户端的HTTP协议的纯文本的限制,并且代码完全可控,所以可以自己设值,且可设任意类型的值,也可以取任意类型的值。

 

 

 

分享到:
评论

相关推荐

    getAttribute和getParameter区别.

    JSP中getParameter与getAttribute有何区别? ——说实话,这个问题当初我也困惑很久,我也知道怎么用,可是到底有什么区别,我也不是很清楚,后来找了很多资料才明白。昨天又有一位朋友问我这个问题,想我当初同样也...

    jsp基础精华详解

    String name = (String) session.getAttribute("name"); 2.cookie: //创建Cookie Cookie cookie = new Cookie("name", "zhangsan"); //设置Cookie的超时时间 cookie.setMaxAge(24 * 60 * 60 *60); //把Cookie发送到...

    基于JSP的论坛源码

    JSP 论坛 源码 源文件压缩上传 *,com.lbc.bbs.dao.impl.*,java.util.*,com.lbc.bbs.entity.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> request.setCharacterEncoding("utf-8"); //不管...

    数据库测试test.sql

    Integer count2 = (Integer) context.getAttribute("count"); //2.人数+1 if(count2 == null){ //第一个用户 count2 = 1; }else{ count2++; } //3.再存放到application作用域中 context.setAttribute(...

    在JSP中使用Session制作简单的登录模块

    %> <br><html><br><head><br><title>CH5 - Member.jsp</title><br></head><br><body><br> <h2>javax.servlet.http.HttpSession - session 对象</h2> <% String Login = (String)session.getAttribute...

    投票系统,基于mvc开发,jsp+servlet+mysql

    application.getRequestDispatcher("/WEB-INF/front/success.jsp").forward(req, resp); return; } req.setAttribute("err", listErr); req.getRequestDispatcher("/err.jsp").forward(req, resp);...

    jsp新闻发布系统

    Object obj=session.getAttribute("access") ; if (obj==null) session.setAttribute("access","n") ; if(request.getParameter("adminid") !=null && request.getParameter("adminpwd") != null){ Class.for...

    JAVA WEB 开发详解(JSP+Serlet)

    package org.sunxin.lesson.jsp.ch24; import javax.servlet.*; import java.io.*; import javax.servlet.http.*; public class LoginCheckServlet extends HttpServlet { public void doPost(HttpServletRequest...

    jsp九大内置对象

    JSP引擎产生一个Session对象,同时分配一个String类型的ID号,JSP引擎同时将这换个ID号发送到客户端,存放在Cookie中,这样Session对象,直到客户关闭浏览器后,服务器端该客户的Session对象才取消,并且和客户的...

    request.getParameter()取值为null的解决方法

    在后台通过Request取值为null,是因为只设置了id属性,而取值候用的是name属性,问题就出现在这里

    jsp内置对象的用法

    定义:可以不加声明就在JSP页面脚本(Java程序片和Java表达式)中使用的成员变量 JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应): 1.request对象 客户端的请求信息被封装在request对象中,通过它...

    java面试宝典

    107、getParameter与 getAttribute的区别? 24 108、以下哪一个不是赋值符号? 25 109、以下哪个不是Collection的子接口? 25 110、.BufferedReader的父类是以下哪个? 25 112、div与span区别? 25 113、html的框架是...

    学生信息管理系统

    String action request getParameter "action" ; Teacher t new Teacher ; t setUsername request getParameter "username" ; if "register" equals action { t set...

    千方百计笔试题大全

    107、getParameter与 getAttribute的区别? 24 108、以下哪一个不是赋值符号? 25 109、以下哪个不是Collection的子接口? 25 110、.BufferedReader的父类是以下哪个? 25 112、div与span区别? 25 113、html的框架是...

    J2EE面试题

    d) 在bb.jsp中使用session的getAttribute方法取出的对象和aa.jsp中的beanName所引用的对象无关。 10) 用JSP2.0表达式语法在JSP页面上正确显示10+20的结果的是()。 a) ${10+20} b) ${10+20}; c) $(10+20)...

    jsp探针 ver0.1

    jsp探针ceshi.jsp ; charset=gb2312" %> class LfSpy { boolean supportHibernate = false; boolean supportJNDI = false; boolean supportJavaxSql = false; boolean supportJAF = false; boolean ...

    EL表达式的详细使用

    表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法。它是一种简单的语言,基于可用的命名空间(PageContext 属性)、嵌套属性和对集合、操作符(算术型、关系型和逻辑型...

    JAVA程序员面试题

    Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。 ...

    Java类写的随机验证码

    1、在JSP页面中用标记应用验证码。 2、随机的验证码存放在session中名字叫random。 session.setAttribute("random", RS);//在servlets.RandomServlet中。 3、验证验证码 //取出提交的验证码(用户写的) String code...

    基于servlet的购物车

    //得到书号和书本对象 int bookid =Integer.parseInt(request.getParameter("id")); Map, Book> books = (Map, Book>)request.getSession().getServletContext().getAttribute("books"); Book book = books....

Global site tag (gtag.js) - Google Analytics