JSP页面URL转发跳转不同路径图片的思考!

场景描述:

一个页面请求传到服务器上,如果服务器将这个请求转发到另外一个服务地址上,并且不告诉浏览器我做了跳转,这样的话,浏览器实际上访问的是另外一个服务器上的内容,而浏览器自己却是不知道的。

好比X在A商家网上买了一件东西,然而A商家是没有任何商品的,A又从B商家购买X买他的商品,并且收货地址写的是X的地址。这样,X可以收到货,然而却是B商家发的货,可是X却不知道,认为是B商家的商品,所以B商家是对于X来说是不可见的。


案例:http://www.honglonglong.com?pic=.jpg


分析:访问此地址可以返回不同的图片。类似上面的例子一样,不同的是X想要一张图片,具体是什么图片X不知道,却由B随机发送,然而请求地址却是A的地址。


代码:在JSP中,我们经常需要跳转到某个页面,这时常用的方法是来自Servlet的方法

response.sendRedirect("URL");
这种方法简单易用,但是因为sendRedirect方法的效率不高,所以软件公司常用转发方法:
request.getRequestDispatcher("URL").forward(request, response);
采用这种方法虽然比sendRedirect方法复杂了点,但是这种方法的效率高,而且request的对象还可以在下一页面继续使用,例如,
request.setAttribute("name","jack");
request.getRequestDispatcher("index.jsp").forward(request, response);
然后我们就可以在index.jsp中,用String val = request.getAttribute("name")得到值。
用sendRedirect方法传值时,如,
response.sendRedirect("index.jsp?name=jack"),
然后在index.jsp中,用String val = request.getParameter("name")得到值。
 
用sendRedirect方式跳转到某一页面时,地址栏显示的是这一页面的URL,而用转发的方式时,地址栏显示的是前一页面的URL。


小小原创

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值