java web 中实现页面跳转

页面跳转(request.getRequestDispatcher and sendRedirect)

	/**
	 web跳转页面:
	 	1、请求转发(站内跳转)
	 	2、请求重定向(站外跳转)
	 	
	  地址栏:
	  	请求转发(站内跳转):地址不变
	  	请求重定向(站外跳转):显示跳转路径的名字
	取值:
		请求转发(站内跳转):可以获取保存在request中的数据
		请求重定向(站外跳转):不能获取保存在request中的数据
	请求次数:
		请求转发(站内跳转):仅一次,所以可以获取到request中的数据
		请求重定向(站外跳转):多次,所以不能获取到request中的数据
	效率:
		请求转发(站内跳转)》请求重定向(站外跳转)
	 */
	//1、请求转发(站内跳转)
		request.getRequestDispatcher("/路径").forward(request, response);//  这里的/表示的是项目根路径
    //2、请求重定向(站外跳转)
		response.sendRedirect(request.getContextPath()+"/路径");//  这里的/表示的是Tomcat服务器的根路径,如果要在项目里面跳转,就要在前面加request.getContextPath()获取项目名,这样就跟站内跳转的路径一样了。
	//3、为什么还叫站外和站内?
		request.getRequestDispatcher("http://www.baidu.com").forward(request, response);//不能访问,它会在项目根路径下查找这个路径
		response.sendRedirect("http://www.baidu.com");//可以访问
		
   //4、如果使用sendRedirect想要取参数怎么办?
		String username = request.getParameter("username");
		response.sendRedirect(request.getContextPath()+"/路径?username="+username);
		

实在抱歉之前的重定向一直都是错的。
这里的获取参数和存储参数在上一篇。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值