社区
Web 开发
帖子详情
JSP中request.getParameter()和session.getAttribute()有何区别
lyhcuckoo
2003-03-13 10:27:00
各位:
JSP中request.getParameter()和session.getAttribute()有没有区别,它们各自适合那些场合,thx.
...全文
20
7
打赏
收藏
JSP中request.getParameter()和session.getAttribute()有何区别
各位: JSP中request.getParameter()和session.getAttribute()有没有区别,它们各自适合那些场合,thx.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lyhcuckoo
2003-03-18
打赏
举报
回复
thank you all , I will close it
qiri07
2003-03-14
打赏
举报
回复
request.getParameter()
request 是请求,即把需要的参数得到,一般是从上一个页面用户提交的数据中得到
session.getAttribute()
session 是用来保持会话的连接,说明见楼上
geyf
2003-03-14
打赏
举报
回复
这个问题主要是request和session的差别,request范围较小一些,只是一个请求,简单说就是你在页面上的一个操作,request.getParameter()就是从上一个页面中的url、form中获取参数,但如果一个request涉及多个类,后面还要取参数,可以用request.setAttribute()和request.getAttribute(),但是当结果输出之后,request就结束了。
而session可以跨越很多页面,可以理解是客户端同一个IE窗口发出的多个请求。这之间都可以传递参数,比如很多网站的用户登录都用到了。
flashroom
2003-03-14
打赏
举报
回复
request.getParameter()上一个页面提交的。
比如 form 里的 或者市 url 里的。
session.getAttribute()是在用户的整个会话期有效。
foolbirds
2003-03-14
打赏
举报
回复
request.getParameter()是从上一个页面用户提交的数据中取得,
session.getAttribute()在整个会话期间都有效,这样可以方便的多次获得该变量
zxhong
2003-03-14
打赏
举报
回复
1,request.getParameter() 得到客户端数据
2,session.getAttribute() 存入变量以便让更多页面可以得到该变量,通过设置存在时间,可以用在是否在线,是否已登录等场合
gary_shi
2003-03-13
打赏
举报
回复
request.get是从上一个页面用户提交的数据中取得,
而session存在范围是用户这一次看你的网站。比如用,用户需要密码才能访问你的网站,用户初次登录时,你可以把变量设到SESSION里,以后只要检查SESSION里的变量就可以知道用户是否已经在登录状态。
get
Attribute
和get
Parameter
区别
.
1.get
Attribute
是取得
jsp
中
用set
Attribute
設定的
attribute
2.
parameter
得到的是string;
attribute
得到的是object 3.
request
.get
Parameter
()方法传递的数据,会从Web客户端传到Web服务器端,代表HTTP请求数据;
request
.set
Attribute
()和get
Attribute
()方法传递的数据只会存在于Web容器内部,在具有转发关系的Web组件之间共享。即
request
.get
Attribute
()方法返回
request
范围内存在的对象,而
request
.get
Parameter
()方法是获取http提交过来的数据。
JSP
中
get
Parameter
与get
Attribute
有何
区别
? ——说实话,这个问题当初我也困惑很久,我也知道怎么用,可是到底有什么
区别
,我也不是很清楚,后来找了很多资料才明白。昨天又有一位朋友问我这个问题,想我当初同样也困惑过,于是我就把这个问题贴出来,让同样困惑的朋友解惑。 ——get
Parameter
得到的都是String类型的。或者是http://a.
jsp
?id=123
中
的123,或者是某个表单提交过去的数据。 ——get
Attribute
则可以是对象。 ——get
Parameter
()是获取POST/GET传递的参数值; ——get
Attribute
()是获取对象容器
中
的数据值; ——get
Parameter
:用于客户端重定向时,即点击了链接或提交按扭时传值用,即用于在用表单或url重定向传值时接收数据用。 ——get
Attribute
:用于服务器端重定向时,即在sevlet
中
使用了forward函数,或struts
中
使用了mapping.findForward。get
Attribute
只能收到程序用set
Attribute
传过来的值。 ——get
Parameter
()是获取POST/GET传递的参数值; ——get
Attribute
()是获取
SESSION
的值; 另外,可以用set
Attribute
,get
Attribute
发送接收对象.而get
Parameter
显然只能传字符串。 set
Attribute
是应用服务器把这个对象放在该页面所对应的一块内存
中
去,当你的页面服务器重定向到另一个页面时,应用服务器会把这块内存拷贝另一个页面所对应的内存
中
。这样get
Attribute
就能取得你所设下的值,当然这种方法可以传对象。
session
也一样,只是对象在内存
中
的生命周期不一样而已。 get
Parameter
只是应用服务器在分析你送上来的
request
页面的文本时,取得你设在表单或url重定向时的值。get
Parameter
返回的是String,用于读取提交的表单
中
的值; get
Attribute
返回的是Objiect,需进行转换,可是set
Attribute
设置成任意对象,使用很灵活,可随时用;
jsp
基础精华详解
四种会话跟踪方式: 1.
Session
Http
Session
session
=
request
.get
Session
();
session
.set
Attribute
("name", "zhangsan");
session
.set
Attribute
("pwd", "aaa"); String name = (String)
session
.get
Attribute
("name"); 2.cookie: //创建Cookie Cookie cookie = new Cookie("name", "zhangsan"); //设置Cookie的超时时间 cookie.setMaxAge(24 * 60 * 60 *60); //把Cookie发送到客户端 response.addCookie(cookie); //得到客户端发送的Cookie Cookie [] cookies =
request
.getCookies(); for(int i=0; i
request.get
Parameter
("name"); 4.Url重写 问号传参 LoginServlet?username=zhangsan&pwd=123 String name =
request
.get
Parameter
("username"); String pwd =
request
.getPareameter("pwd"); 内部跳转: LoginServlet
request
.get
Request
Dispatcher("index.
jsp
").forward(
request
, resposne); 外部跳转: response.sendRedirect("index.
jsp
"); 内部跳转是一次请求和一次响应 外部跳转是两次请求和两次响应 ServletContext:Servlet上下文对象 它是一个公共区域,可以被所有的客户端共享 set
Attribute
():向公共区域里放入数据 get
Attribute
():从公共区域里取数据
基于servlet的购物车
//得到书号和书本对象 int bookid =Integer.parseInt(
request
.get
Parameter
("id")); Map
books = (Map
)
request
.get
Session
().getServletContext().get
Attribute
("books"); Book book = books.get(bookid); System.out.println(book); //得到数量 int bookNum = Integer.parseInt(
request
.get
Parameter
(String.valueOf(bookid))); System.out.println(bookNum); //封装成line对象 Line line = new Line(book, bookNum); System.out.println(line); ListBookStoreServiceImpl listBSSer = new ListBookStoreServiceImpl(); ShoppingCart obj = (ShoppingCart)
request
.get
Session
().get
Attribute
("shoppingCart"); ShoppingCart SC = listBSSer.getShoppingCart(obj,line); //保存到
Session
范围
request
.get
Session
().set
Attribute
("shoppingCart", SC); // System.out.println("
SESSION
===================>"+
request
.get
Session
().get
Attribute
("shoppingCart"));
request
.get
Request
Dispatcher("listcart.
jsp
").forward(
request
, response);
基于
JSP
的论坛源码
JSP
论坛 源码 源文件压缩上传 <%@ page language="java" import="com.lbc.bbs.dao.*,com.lbc.bbs.dao.impl.*,java.util.*,com.lbc.bbs.entity.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%
request
.setCharacterEncoding("utf-8"); //不管在什么情况下·有没有
中
文的接收我们必须设置他的
request
的setCharacterEncoding方法 ReplyDao replyDao =new ReplyDaoImpl(); int uId=Integer.parseInt(
request
.get
Parameter
("uId")); int boardId=Integer.parseInt(
request
.get
Parameter
("boardId")); int topicId=Integer.parseInt(
request
.get
Parameter
("topicId")); int replyId=Integer.parseInt(
request
.get
Parameter
("replyId")); User user2=null; int flag=0; if(
session
.get
Attribute
("users")!=null){ user2=(User)
session
.get
Attribute
("users"); }else{ user2=new User(); response.sendRedirect("../login.
jsp
"); } if(user2.getUId()!=uId){ out.print("<script type='text/javascript'>alert('您无权删除该用户帖子');location.replace('../index.
jsp
')0){ response.sendRedirect("../detail.
jsp
?page=1&boardId="+boardId+"&topicId="+topicId+"&uId="+uId); } } %>
很经典的登录回选。
if (
session
.get
Attribute
("person") == null) { if (null !=
request
.getQueryString()){ //
session
.set
Attribute
("redirectUrl",
request
.get
Request
URL().append("?").append(
request
.getQueryString()).toString()); String url =
request
.get
Parameter
("url"); URLEncoder.encode(URLDecoder.decode(url,"iso-8859-1"), "iso-8859-1");
session
.set
Attribute
("redirectUrl",url); } else{
session
.set
Attribute
("redirectUrl",
request
.get
Request
URL() .toString());} response.sendRedirect(
request
.getContextPath() + "/login.
jsp
"); }else{
request
.get
Request
Dispatcher("fall.
jsp
").forward(
request
, response); }
Web 开发
81,090
社区成员
341,731
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章