1.servlet 跳转方式
1.1 request中参数丢失
- response.sendRedirect(url);
1.2 服务器内部跳转,浏览器地址不改变
- ServletContext application = this.getServletContext();
- RequestDispatcher rd = application.getRequestDispatcher(url);
- rd.forward(request, response);
2.jsp跳转方式
2.1<jsp:forward page="/servlet/QueryAll"></jsp:forward> 浏览器地址不改变
2.2response.sendRedirect(url);
3.路径问题
3.1<jsp:forward=url>
url:加‘/’ 代表项目目录下
3.2RequestDispatcher.forward(url);
3.3 RequestDispatcher.forward
url:加‘/’ 代表项目目录下
redirect可以重定向到外部的资源
3.3sendRedirect(url)
url:加‘/’ 代表服务器目录下
3.4 对所有
什么都不加,表示当前目录下
加‘./’ 也表示当前目录下
加‘../’ 表示上级目录下
4. jsp路径: http://localhost:8080/TestProject/TestPath.jsp
request.getContextPath() = /TestProject
request.getServletPath() = /TestPath.JSP
request.getRequestURI() = /TestProject/TestPath.jsp
request.getRequestURL() = http://localhost:8080/TestProject/TestPath.jsp
request.getRealPath("/") = C:TomcatWebappsTestProject
5. 获得ServletContext ----application
- javax.servlet.http.HttpSession.getServletContext();
- javax.servlet.jsp.PageContext.getServletContext();
- javax.servlet.ServletConfig.getServletContext();