web容器在启动时,会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用
servletContext:整个应用范围:服务器范围,只要服务器不关闭,数据一致存在
共享数据
我在这个Servlet中保存的数据,可以在另外一个Servlet中拿到
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context = this.getServletContext();
context.方法;
}
获取初始化参数
web.xml
<context-param>
<param-name>username</param-name>
<param-value>root</param-value>
</context-param>
getServlet
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context = this.getServletContext();
String username = context.getInitparameter("username");
resp.getWriter().print(username);
}
请求转发和重定向
转发是服务器内部完成的 重点向是服务器返回新路径再由浏览器请求
转发路径不变,重定向路径发生变化
转发和重定向示意图:
请求转发代码
context.getRequestDispatcher("/gp").forward(rep,resp);