JSP疑问!

来源:百度知道 编辑:UC知道 时间:2024/09/18 06:11:44
if(result > 0){
request.getRequestDispatcher("success.jsp").forward(request,response);
}else{
request.getRequestDispatcher("error.jsp").forward(request,response);
}

我想问下:
getRequestDispatcher("success.jsp") 和 forward(request,response);

这两句分别是什么意思啊 尤其是forward后边的两个参数有什么作用?
请详细说明下 谢谢!

getRequestDispatcher("success.jsp") 这句话是告诉虚拟机,你将要跳转到
success.jsp这个页面
forward(request,respose)则是执行跳转操作

request则是页面向后台发送请求的对象里面包含了从页面向后台传送的数据
response则是用后台禹页面响应数据的对象

forward后跟这二个参数就是要把你原来页面的这二个请求对象传给你跳转到的页面,其实也就是为了和redirect区分开

getRequestDispatcher("success.jsp") 的意思就是服务器内部的跳转 意思就是服务器内部帮你找到success.jsp 并跳转过去 整个请求过程只有一次对服务器的请求 和他相反的就是response.sendR*&&*(忘了··) 这个是两次的请求 forward(request,response) 这个还是比较有用的 他是把你当前的请求给传递到下个页面去 比如说你这里在跳转到错误页面的时候 加上这么一句
else{
request.setAttribute("message","这里可以写上一些错误信息");
request.getRequestDispatcher("error.jsp").forward(request,response);
}

a这样以后就把信息存到了request域里面了 然后传递给error页面

然后在error页面就可以通过request。getAttribute(“message”);获取到错误信息了 就这样 还不明白HI我啊 嘿嘿

request.getRequestDispatcher("success.jsp").forward(request,response);
内部跳转到success.jsp页面

其中getRequestDispatcher是设定跳转页面,
forward方法则将request