在servlet页面request转发一个List集合到另一个jsp页面,该页面怎样去接收啊?

在servlet页面request转发一个List集合到另一个jsp页面,该页面怎样去接收啊?,第1张

servlet页面 requestsetAttribuate("list",list); jsp页面List list=(List)requestgetAttribuate("list");手写单词可能有错误

servlet中的请求转发主要有三种方式:
1, 转发:是指转发,将当前请求和响应对象保存,重新指定的网址处理。并没有表示页面的替换,所以地址栏的地址不会发生改变。
2, 重定向:是指重定向,包含两次浏览器请求,浏览器根据网址请求一个新的页面,所有的业务处理都转到下一个页面,地址栏的地址会变发生改变。
3, 包括:意为包含,即包含url中的内容,进一步理解为,将url中的内容包含进来的servlet中间来,并用当前servlet的请求和放置来执行url中的内容处理业务。所以不会发生页面的扩展,地址栏地址不会发生改变。
还不明白的话可以找找教程视频来看,觉得动力节点servlet的教程中讲的更详细一些

Forward和Redirect代表了两种请求转发方式:直接转发和间接转发。
直接转发方式(Forward),客户端和浏览器只发出一次请求,Servlet、HTML、JSP或其它信息资源,由第二个信息资源响应该请求,在请求对象request中,保存的对象对于每个信息资源是共享的。
间接转发方式(Redirect)实际是两次>相同点:都能实现页面跳转或者是服务器资源的跳转;
不同点:1、sendRedirect(“目的地”) 是response 对象的方法,forward(request,response)是requestgetRequestDispatcher("目的地") 方法 返回的对象 requestDispatcher 的方法;
2、sendRedirect() 在客户端运行,会产生新的请求,地址栏显示新地址,forward()在服务端运行,地址栏的地址不变;
3、sendRedirect() 跳转之后,不能获取request中的对象,而forward()可以获取;
4、forward()速度更快。

在servlet里写下面的语句
requestsetAtrribute("message","修改成功!!");
然后设置跳转页面:假设跳转回首页indexjsp页面
requestgetRequestDispatcher("/indexjsp")forward(request, response);
然后在indexjsp页面用requestgetAtrribute("message");获取上面的“修改成功”的提示,然后用javascript的alertd出来就行了。当然用其他方法把修改成功显示出来也行。

转发与重定向的区别如下:

转发是服务器行为,重定向是客户端行为

1转发在服务器端完成的;重定向是在客户端完成的

2转发的速度快;重定向速度慢

3转发的是同一次请求;重定向是两次不同请求

4转发不会执行转发后的代码;重定向会执行重定向之后的代码

5转发地址栏没有变化;重定向地址栏有变化

6转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成

在servlet中调用转发、重定向的语句如下:

requestgetRequestDispatcher("newjsp")forward(request,
response);//转发到newjsp

responsesendRedirect("newjsp");//重定向到newjsp

转发过程:客户浏览器发送>

重定向过程:客户浏览器发送>

重定向,其实是两次request

第一次,客户端request
A,服务器响应,并response回来,告诉浏览器,你应该去B。这个时候IE可以看到地址变了,而且历史的回退按钮也亮了。重定向可以访问自己web应用以外的资源。在重定向的过程中,传输的信息会被丢失。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13356447.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-20
下一篇 2023-07-20

发表评论

登录后才能评论

评论列表(0条)

保存