Servlet

什么是Servlet

  1. Servlet是JavaEE规范之一。规范就是接口

  2. Servlet是JavaEE三大组件之一。三大组件分别是: Servlet程序 Filter过滤器、Listener监听器

  3. Servlet是运行在服务器上的一个Java小程序,可以接收客户端发送来的请求,并响应客户端请求。

 

手动实现Servlet

  1. 编写一个类去实现Servlet接口

  2. 实现service方法,处理请求,并响应数据 service方法就是专门处理请求相应的

  3. 到web.xml中配置Servlet程序的访问地址

 

Servlet的生命周期

  1. 执行Servlet的构造方法

  2. 执行init初始化方法

  3. 执行service方法

  4. 执行destroy销毁方法

 

通过继承HttpServlet实现Servlet程序

一般在实际项目开发中,都是继承HttpServlet类

  1. 编写一个类继承HttpServlet类

  2. 根据业务需要重写doGet或者doPost方法

  3. 到web.xml中配置程序的访问地址

 

ServletConfig类

servletConfig类从类名就可知道,就是Servlet程序的配置信息类

ServletConfig类的三大作用

  1. 可以获取servlet程序的别名

  2. 获取初始化参数init-param

    1. init-param是初始化参数,在<servlet-class>下面配置

  3. 获取ServletContext对象

一般在init中使用

// 1.获取servlet程序的别名
public void init(ServletConfig servletConfig) throws ServletException {
        // 获取servlet的别名
        System.out.println("程序的别名是:" + servletConfig.getServletName());
    }
// 2.获取初始化参数init-param
servletconfig.getInitParamter("username");

// 3.获取ServletContext对象
servletconfig.getServletContext();

  

servlet程序和servletConfig对象都是由Tomcat负责创建,我们负责使用。

servlet程序默认第一次访问的时候,ServletConfig是每个servlet程序创建时,就创建一个ServletConfig对象。

 

ServletContext类

什么是ServletCOntext?

  1. ServletContext是一个接口,它表示Servlet上下文对象

  2. 一个web工程,只有一个ServletContext对象实例

  3. ServletContext对象是一个域对象

常见的作用

  1. 获取web.xml中配置的上下文参数context-param

  2. 获取当前的工程路径,格式:/工程路径

  3. 获取工程部署后在服务器硬盘上的绝对路径

  4. 向Map一样存取数据

域对象方法

// 1. 存数据
setAttribute();
// 2.取数据
getAttribute();
// 3.删除数据
removeAttribute();

  

ServletContext context = getServletConfig().getServletContext();
//1. 获取web.xml中配置的上下文参数context-param
context.getInitParameter("username");
//2. 获取当前的工程路径,格式:/工程路径
context.getContextPath();
//3. 获取工程部署后在服务器硬盘上的绝对路径
context.getRealPath("/");

  

HttpServletRequest类

有什么作用

每次只要有请求进入Tomcat服务器,Tomcat服务器就会把请求过来的Http协议信息解析好封装到Requsst对象中。然后传递到service方法中给我们使用。我们可以通过HttpServletRequest对象,获取到所有请求的信息。

常用方法:

getRequestURI();	// 获取请求的资源路径
getRequestURL();	// 获取请求的统一资源定位符(绝对路径)
getRemoteHost();	// 获取客户端ip
getHeader();			// 获取请求头
getParameter();		// 获取请求参数
getParameterValues();	// 获取请求值
getMethod();			// 获取求情方法

  

请求转发

什么是请求转发?

请求转发是指。服务器收到请求后,从一次资源跳到另一个资源的操作叫请求转发。

请求转发的特点

  1. 浏览器地址栏没有变化

  2. 他们是一次请求

  3. 他们共享Request域中的数据

  4. 可以转发到WEB-INF文件夹下

  5. 不可以访问工程之外的资源

base标签

可以设置当前页面中所有相对路径工作时,参照那个路径进行跳转,base标签一般在<title>的后面,href属性就是参照的地址值

HttpServletResponse类

表示所有的相应的消息

两种流的说明

字节流 getOutputStream(); 常用于下载(传递二进制数据)

字符流 getWriter(); 常用于回传字符串

两个流只能使用一个

请求重定向

是指客户端向服务器发请求,然后客户端高速客户端说。我给你一个新地址,让你去新地址访问,叫请求重定向

请求重定向特点:
  1. 浏览器地址栏会发生变化

  2. 两次请求

  3. 不共享request中的数据

  4. 不能访问WEB-INF中的数据

  5. 可以访问外部的资源

posted @ 2020-10-10 13:11  呦啊哈  阅读(65)  评论(0)    收藏  举报