300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > jsp页面传递参数

jsp页面传递参数

时间:2020-04-24 02:49:33

相关推荐

jsp页面传递参数

jsp面间传递参数是项目中经常需要的,这应该算是 web 基本功吧。页面间传递参数是经常需要使用到的功能,有时还需要多个JSP页面间传递参数。下面介绍一下实现的方法。

HTTP是无状态的协议。Web页面本身无法向下一个页面传递信息,如果需要让下一个页面得知该页面中的值,除非通过服务器。因此,Web页面保持状态并传递给其它页面,是一个重要的技术。

Web页面之间传递数据,是Web程序的重要功能

URL传值;

(1)直接在URL请求后添加, url 链接后追加参数

如:< a href=“thexuan.jsp?action=transparams&detail=directe”>直接传递参数< /a>

优点:

简单性和平台支持的多样性(没有浏览器不支持URL)。

缺点:

1)传输的数据只能是字符串,对数据类型具有一定的限制;

2)传输数据的值会在浏览器地址栏里面被看到,从保密的角度讲,这是不安全的。特别是秘密性要求比较严格的数据,比如说密码。

特别的在使用response.sendRedirect做页面转向的时候,也可以用如下代码:

response.sendRedirect(“thexuan.jsp?action=transparams&detail=directe”),可以通过request.getParameter(name)获取参数

(2)jsp:param

它可以实现主页面向包含页面传递参数,如下:

1.2.3.4.5.

还可以实现在使用jsp:forward动作做页面跳转时传递参数,如下:

< /jsp:forward> 通过这种方式和一般的表单参数一样的,也可以通过request.getParameter(name)取得参数

设置session和request

Session方法

1、与前三种的区别:

前几种方法在传递数据时,有一个共同的问题就是内容保存在客户端里。因此,具有泄露的危险性。如果在不考虑服务器负载的情况下,将数据保存在服务端里,是一个比较好的方法,这就是session方法。

通过session.setAttribute(“num”,str);将str存到session中,通过session.getAttribute(“num”);从session中获取num

具体的session机制,可以查看该文章。点击查看session机制

2、服务器怎么知道要分配给它的是同一个 session 对象呢?

实际上,在客户进行第一次访问时,服务器端就给 session 分配了一个 sessionId,并且让客户端记住了这个 sessionId,客户端访问下一个页面时,又将 sessionId 传送给服务器端,服务器端根据这个 sessionId 来找到前一个页面用的 session,由此保证为同一个客户服务的 session 对象是同一个。

3、session 分配的具体过程为:

1)客户端访问服务器,服务器使用 session,首先检查这个客户端的请求里是否已包含了 sessionId;

2)如果有,服务器就在内存中检索相应 Id 的 session 来用;

3)否则服务器为该客户端创建一个 session 并且生成一个相应的 sessionId,并且在该次响应中返回给客户端保存。

4、session的应用:

session 经常用于保存用户登录状态。比如用户登录成功之后要访问好几个页面,但是每个页面都需要知道是哪个用户在登录,此时就可以将用户的用户名保存在 session 内。

session.setAttribute(name,value);

2.request.setAttribute(name,value

)

取参数

1.value=(value className)session.getAttribute(name);

2.value=(value className)request.getAttribute(name);

大家肯定已经注意到了,在取参数的时候,做了类型转换,这是因为放置在session和request中的对象的属性被看作 java.lang.Object类型的了,如果不转换,在将直付给value时会报classcastexception异常。

在多个JSP页面之间传递参数

1.怎么在多个JSP页面之间进行参数传递?需要使用JSP的内置作用域对象session。利用它的两个方法setAttribute(),getAttribute()

2.下面的这个实例实现了把第一个JSP页面的参数传递给第三个页面的功

防止以上因为 sessionId 泄露而造成的安全问题

1):在服务器端,可以在客户端登陆系统时,尽量不要使用单一的 sessionId 对用户登陆进行验证。可以通过一定的手段,不时地变更用户的 sessionId;

2):在客户端,应该在浏览器关闭时删除服务器端的 session,也就是说在关闭时必须通知服务器端。最简单的方法,可以用 Javascript 实现。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。