一、转发
转发的路劲是相对于web站点的根目录
request.setAttribute("name","帅哥")//设置需要传递的数据
request.getRequestDispatcher("/test.jsp").forward(request,respones)//转发数据
创建一个jsp文件来接收
<%=request.getAttribute("name")%>
运行结果
可以看到上方的路径是没有发生变化的
二、重定向
重定向的路径是相对于webapps的目录
重定向要传递带参数的值只能通过拼接的方式
response.senRedirect("/Web1/test.jsp?name=shuaige")
运行结果 可以看到地址是变了的
如果要传递带中文的参数就需要对URL进行编码处理,因为浏览器的URL它是识别的ASCII码
URLEncoder.encode("帅哥","UTF-8");//传递参数然后修改编码
运行结果
总结
1,转发的地址不会发生改变,重定向的地址会改变
2,转发的相对路径是web站点,重定向的相对路径是webapps
3,转发是一次请求,重定向是两次请求
JavaWeb转发和重定向的区别到这里就结束了,希望对你有帮助!!!