Servlet

 

Servle:
1).Servlet 是 JavaEE 规范之一。 规范就是接口
2). Servlet 就 JavaWeb 三大组件之一。 三大组件分别是: Servlet 程序、 Filter 过滤器、 Listener 监听器。
3). Servlet 是运行在服务器上的一个 java 小程序, 它可以接收客户端发送过来的请求, 并响应数据给客户端。

 

Servlet 类的继承体系

 

ServletConfig 类
一.定义
1).ServletConfig 类从类名上来看, 就知道是 Servlet 程序的配置信息类。
2).Servlet 程序和 ServletConfig 对象都是由 Tomcat 负责创建, 我们负责使用。
3).Servlet 程序默认是第一次访问的时候创建, ServletConfig 是每个 Servlet 程序创建时, 就创建一个对应的 ServletConfig 对象。
二.作用:
1).可以获取 Servlet 程序的别名 servlet-name 的值
2). 获取初始化参数 init-param
3). 获取 ServletContext 对象
代码:
xml中配置代码:

1  <init-param>
2             <param-name>username</param-name>
3             <param-value>1332131xasda</param-value>
4   </init-param>

servlet中测试代码:

1 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
2         ServletConfig servletConfig = getServletConfig();
3         String username = servletConfig.getInitParameter("name");
4         System.out.println("名字:"+username);
5     }

ServletContext 类
一.定义:
1). ServletContext 是一个接口, 它表示 Servlet 上下文对象>
2). 一个 web 工程, 只有一个 ServletContext 对象实例。
3). ServletContext 对象是一个域对象。
4). ServletContext 是在 web 工程部署启动的时候创建。 在 web 工程停止的时候销毁。
二.域对象:
域对象, 是可以像 Map 一样存取数据的对象, 叫域对象。
这里的域指的是存取数据的操作范围, 整个 web 工程。
存数据                取数据                 删除                     数据
Map                 put()                   get()                   remove()
域对象      setAttribute()      getAttribute()       removeAttribute();
三.作用:
1).获取 web.xml 中配置的上下文参数 context-param
2). 获取当前的工程路径, 格式: /工程路径
3). 获取工程部署后在服务器硬盘上的绝对路径
4). 像 Map 一样存取数据
代码:
xml中配置代码:

1     <context-param>
2         <param-name>name</param-name>
3         <param-value>王余阳</param-value>
4     </context-param>

servlet中测试代码:

 1  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 2         ServletContext servletContext = getServletConfig().getServletContext();
 3         //1、 获取 web.xml 中配置的上下文参数 context-param
 4         String name = servletContext.getInitParameter("name");
 5         // 结果: context-param的name值: 王余阳
 6         System.out.println("context-param的name值: "+name);
 7         //2、 获取当前的工程路径, 格式: /工程路径
 8         String contextPath = servletContext.getContextPath();
 9         //结果:当前工程路径:/Day_06
10         System.out.println("当前工程路径:"+contextPath);
11         //3、 获取工程部署后在服务器硬盘上的绝对路径
12         /**
13          *      / 是斜杠被服务器解析地址为:http://ip:port/工程名/ 映射到 IDEA 代码的 web 目录<br/>
14          */
15         String realPath = servletContext.getRealPath("/");
16         //结果:工程部署的路径是:C:\Users\WangYuYang\IdeaProjects\JavaWeb\out\artifacts\Day_06_war_exploded\
17         System.out.println("工程部署的路径是:"+realPath);  //
18     }

 

posted @ 2020-03-17 21:25  王余阳  阅读(192)  评论(0)    收藏  举报