跳转的几种方式

 
 
服务器内部跳转
1、地址栏中的地址不变
2、同一个请求
req.getRequestDispatcher("path").forward(req,resp);
springmvc:
return "forward:path"
客户端重定向
1、地址栏中的地址变
2、浏览器重新发请求
resp.sendRedirect("path");
return "redirect:path";
package com.briup.web.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

//跳转问题
@Controller
public class DispatcherController {
	@RequestMapping("/disb.action")
	public String disB() {
		System.out.println("in dispatchercontroller b...");
		return "index";
	}

	@RequestMapping("/disc.action")
	public void disC(HttpServletRequest req, HttpServletResponse resp) {
		try {
			System.out.println("in dis c...");
			req.getRequestDispatcher("/WEB-INF/jsp/index.jsp").forward(req,
					resp);
			// 客户端重定向访问不到web-INF下的jsp页面
			// resp.sendRedirect("/WEB-INF/jsp/index.jsp");
			// resp.sendRedirect("disb.action");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	@RequestMapping("/disa.action")
	public String disA() {
		System.out.println("in dis a...");
//		return "index";
		return "redirect:disb.action";
//		return "forward:disb.action";
	}

}


猜你喜欢

转载自blog.csdn.net/fantastic_y/article/details/80509893