Servlet (二)
一、ServletContext类
(一)、什么是ServletConfig对象
-
ServletContext是一个接口
-
ServletContext是一个域对象
-
一个web工程,Tomcat只会创建出一个ServletContext对象。
(二)、什么是域对象
域对象是可以像Map集合一样存储的对象(域就是指作用范围)这里的域对象中的域,是指保存在与对象中的数据的有效操作范围,ServletContext与对象它的数据操作有效的范围是整个Web工程。
|
Map集合 |
域对象 |
保存数据 |
put() |
setAttribute() |
获取数据 |
get() |
getAttribute() |
(三)、ServletContext类的四个作用
-
获取在web.xml中配置的上下文参数<context-param>
-
获取当前工程的工程路径
-
获取工程发布到服务器上之后,资源或目录在服务器磁盘上的句对路径。
-
可以像map一样存储数据。
(四)、实例演示
1、获取ServletContext类对象
1 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
2 // 获取ServletContext对像
3 // 方法一
4 ServletConfig config = getServletConfig();
5 ServletContext context = config.getServletContext();
6 // 方法二 通常都会用这种
7 ServletContext context1 = getServletContext();
8
9 }
2、具体作用实现
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 创建一个ServletContext对象
ServletContext context = getServletContext();
// 获取web.xml中的配置参数<context-param>
System.out.println("上下文参数url的值:"+context.getInitParameter("url"));
// 获取当前工程的工程路径
System.out.println("工程路径:"+context.getContextPath());
/*
* 获取工程发布到服务器上之后,资源或目录在服务器磁盘上的句对路径。
* 在getRealPath()中的参数"/"就是把路径映射到工程的WebContent文件夹下
* */
System.out.println("服务器磁盘上的绝对路径:"+context.getRealPath("/"));
// 获取img中的图片
System.out.println("获取img中的图片路径:"+context.getRealPath("/img/servlet.PNG"));
}
4、ServletContext对象存储数据
1 protected void doGet(HttpServletRequest request, HttpServletResponse response)
2 throws ServletException, IOException {
3 ServletContext context = getServletContext();
4 // 用setAttribute()存储数据
5 context.setAttribute("abc","abcValue");
6 // 用getAttribute()取出数据
7 System.out.println("从ServletContext域对象中获取数据abc的值:"+context.getAttribute("abc"));
8 }
一、
二、HTTP协议相关内容
(一)GET的请求协议
1、请求行信息
2、请求体
(二)POST的请求协议
1、请求行信息:
2、请求头信息
3、请求体信息
(二)、响应的HTTP协议格式
(三)、页面中那些是GET请求。那些是POST请求
1、GET请求
- 在浏览器地址栏中输入请求地址,然后敲回车
- a标签
- Script、link、img、iframe引入
- form标签 method=GET
2、POST请求就只有form标签下method="post"这种状态下
(三)、常用的响应码
200 |
表示请求成功 |
302 |
表示请求跳转 |
404 |
表示服务器已接收到请求,但是你的请求的资源不足 |
500 |
表示服务器已接收到请求,但是服务器内部错误(代码) |