欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

如何实现多个servlet之间的跳转和传递数据

程序员文章站 2024-03-15 10:38:47
...

1.实现多个servlet间的跳转(forward)
request.getRequestDispatcher("/servlets/BServlet").forward(request, response);
2.多个servlet间的数据传递
(1)request作用域的方式传输数据
存储数据
request.setAttribue(“name”,object);
(2)取数据
request.getAttribue(“name”);
可以传递一切需要传递的内容。

ASservlet

public class AServlet extends HttpServlet{
	public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
		System.out.println("嘿嘿");
		
		String name="依依";
		request.setAttribute("name", name);//存数据
		
		request.getRequestDispatcher("/servlets/BServlet").forward(request, response);	
	}

}

BServlet

public class BServlet extends HttpServlet{
	public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
			System.out.println("嘚嘚");
	//取数据,强制类型转换
	String name=(String)request.getAttribute("name");
	System.out.println("name:"+name);
	}
}

(3)重定向
response.sendRedirect("/应用名/网名");
重定向传输数据
不能使用setAttribute只能使用地址栏拼接的方式
存数据
response.sendRedirect("/Servlet_day /d?name=yiyi")
取数据
String name =Request.getParameter(“name”);

AServlet

public class AServlet extends HttpServlet{
	public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
		System.out.println("嘿嘿");
		
		//request只适用于一次传递数据
		//String name="依依";
		//request.setAttribute("name", name);//存数据
		//存数据
		response.sendRedirect("/My/servlets/BServlet?name=yiyi");
	}

}

BServlet

public class BServlet extends HttpServlet{
	public void service(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{
			System.out.println("嘚嘚");
	//取数据,强制类型转换
	//String name=(String)request.getAttribute("name");
	
	String name = request.getParameter("name");
	
	System.out.println("name:"+name);
	}
}

有数据的话用forward,没有数据的话用重定向。
forward和redirect的区别
(1)forward:地址栏不会发生变化,一次请求。(服务器内部跳转)(client-c-d)
redirect:地址栏会发生变化,两次和多次请求,不能使用request作用域传递数据。(client-c-client-d)

相关标签: java