美文网首页
ServletContext之Api详解

ServletContext之Api详解

作者: Mon7ey | 来源:发表于2017-11-14 12:13 被阅读14次

引入

ServletContext对象,叫做Servlet的上下问对象,表示一个当前的Web应用环境.包含整个web.xml的全部信息.一个web应用中只有一个ServletContext对象

创建时间: 加载Web应用时创建对象

得到对象:通过ServletConfig对象的getServletContext() 方法获得

ServletContext对象核心Api:

获取当前Web应用的路径**

String getContextPath();
request.getContextPath(); // 该方法和上面的方法等价

获得web应用的初始化参数**

String getinitParameter(String name);
Enumeration getInitParameterNames();
Context配置参数

域对象有关的方法**

void setAttribute(String name, Object object);
Object getAttribute(String name);
void removeAttribute(String name);

转发(类似于重定向)

RequestDispatcher getRequestDispatcher(String path);
request.getRequestDispacher("路径").forward(request,response); // 该方法等价于上面的方法
// 实例代码
RequestDispatcher rds = this.getServletContext().getRequestDispatcher("/index.html");
rds.forward(request, response);

重定向和转发区别
转发:

1. 地址栏不会改变    
2. 只能转发到当前web应用内的资源
3. 在转发过程中可以把数据保存在request对象中传递

重定向:

1.  地址栏会改变,变化为从定向的目标地址
2. 可以跳转到web应用内资源,或者其他web应用,甚至其他外部域名
3. 在重定向过程中,不能把数据保存在request对象中进行传递

总结: 如果要使用request域对象进行数据共享,只能用"转发"技术.

得到Web应用的资源文件

String getRealPath(String path)
InputStream getResourceAsStream(String path);

相关文章

网友评论

      本文标题:ServletContext之Api详解

      本文链接:https://www.haomeiwen.com/subject/ycazmxtx.html