response.sendRedirect(url);:对服务器的响应进行重定向。当server作出响应后,client客户端的请求的生存周期就终止了。这个时候再用request.getparameter()或request.getattribute()得到的只能是null。 request.getRequestDispatcher(url).forward(request,response); :它则可以认为是对client的请求(request) 进行传递,在server没有进行响应前,即没有response一直可以进行传递--重定向。网友:alexlovejava 前者是的跳转是的客户端,后者是在服务器端,后者在跳转的时候可以传request对象,前者只能通过?穿参数,后者是forword(),这两者在流转的时候url的路径不一样,在ie地址栏显示的路径也不一样,
String dirPath = request.getSession().getServletContext().getRealPath("/templates/html");
<head> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; String url = basePath+"/templates/html/index.html"; %> </head> <body> var url = '<%basePath%>'; </body>