511.txt

来自「java学习的点滴」· 文本 代码 · 共 70 行

TXT
70
字号
在java程序中,实现页面跳转有两种方法:


一个是转发请求,它的特点是无论跨越多少页面,是同一请求;

public class S1 extends HttpServlet{
	
	protected void service(HttpServletRequest request,HttpServletResponse response)
	throws ServletException,IOException{
		
		String userName=request.getParameter("username");
		
		String passWord=request.getParameter("password");
		
		request.setAttribute("txt1",userName);
	
				
		HttpSession session=request.getSession();

		session.setAttribute("txt2",passWord);
			
		String []arr=request.getParameterValues("c1");
				
		request.setAttribute("check",arr);
	
		String  aa="aaaaaa";
		
		request.setAttribute("2",aa);
		
		/*是转发请求,上面的值会在传到跳转的页,在跳转的页用getAttribute()方法可以得到数据,用的是同一个请求。*/
		RequestDispatcher rd=request.getRequestDispatcher("/jsp/s1.jsp");
							
		rd.forward(request,response);
		}

}


另一个是重定项

public class S1 extends HttpServlet{
	
	protected void service(HttpServletRequest request,HttpServletResponse response)
	throws ServletException,IOException{
		
		String userName=request.getParameter("username");
		
		String passWord=request.getParameter("password");
		
		request.setAttribute("txt1",userName);
	
				
		HttpSession session=request.getSession();

		session.setAttribute("txt2",passWord);
			
		String []arr=request.getParameterValues("c1");
				
		request.setAttribute("check",arr);
	
		String  aa="aaaaaa";
		
		request.setAttribute("2",aa);
		
		/*重定项,相当于又重新发出一个请求,在跳转的页面上的request与上面的request不是同一个请求,所以传不过去值,如在跳转的页面上调用request.getAttribute("txt1"),结果为null*/
		response.sendRedirect("/jsp/s1.jsp");
		}

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?