1.转发(服务器跳转)
地址栏没有发生变化
请求了一次
转发可以将属性值带到下一次请求界面,转发一次之后就失效了,可以转发任何内容
转发可以转发到WEB-INF目录下
request.getRequestDispatcher("/WEB-INF/main.html").forward(request,response);
实现方法
request.getRequestDispatcher("/WEB-INF/main.html").forward(request,response);
2.重定向(客户端跳转)
地址栏发生变化
请求了两次
重定向想要传递参数,只能地址栏传递参数,而且只能传递字符串
重定向不可以到WEB-INF目录下,因为WEB-INF这个目录对于客户端是隐藏的
重定向想下一个界面传递信息时,不能识别UTF-8,需要转换成ISO-8859-1浏览器识别的编码
username = new String(username.getBytes("utf-8"),"ISO-8859-1");
在接收方将编码转化回来即可
String username = new String(name.getBytes("ISO-8859-1"),"utf-8");
实现方法
response.sendRedirect("main.html");