JavaWeb常用类、接口及其方法

本文详细介绍了JavaWeb开发中常用的Servlet接口、ServletConfig、ServletContext、HttpServletRequest和HttpServletResponse。Servlet接口提供了HTTP请求处理的基础,HttpServlet是其实现类,通常用于处理HTTP请求。ServletConfig接口用于获取Servlet的配置信息,ServletContext接口封装了Web应用信息,可以读取资源文件。HttpServletRequest接口封装HTTP请求,提供获取请求行、头和参数的方法,而HttpServletResponse则用于封装响应,包括设置状态码、响应头和消息体。
摘要由CSDN通过智能技术生成

Servlet中常用的接口、类、方法

      Sun 公司提供了一系列的接口和类用于 Servlet 技术的开发,其中最重要的接口是javax.servlet.Servlet。

      1.Servlet接口

     接口声明: public abstract interface Servlet

方法声明

功能描述

void init(ServletConfig config)

容器在创建好 Servlet 对象后,就会调用此方法。该方法接收一个 ServletConfig 类型的参数,Servlet 容器通过该参数向 Servlet 传递初始化配置信息

ServletConfig getServletConfig ()

用于获取 Servlet 对象的配置信息,返回 Servlet 的 ServletConfig 对象

String getServletInfo()

返回一个字符串,其中包含关于 Servlet 的信息,如作者、版本和版权等信息

void service (ServletRequest request,ServletResponse response)

负责响应用户的请求,当容器接收到客户端访问 Servlet 对象的请求时,就会调用此方法。
容器会构造一个表示客户端请求信息的 ServletRequest 对象和一个用于响应客户端的 ServletResponse 对象作为参数传递给 service() 方法。
在 service() 方法中,可以通过 ServletRequest 对象得到客户端的相关信息和请求信息,在对请求进行处理后,调用 ServletResponse 对象的方法设置响应信息

void destroy()

负责释放 Servlet 对象占用的资源。当服务器关闭或者 Servlet 对象被移除时,Servlet 对象会被销毁,容器会调用此方法

     针对 Servlet 的接口,Sun 公司提供了两个默认的接口实现类:GenericServlet 和 HttpServlet。其中,GenericServlet 是一个抽象类,该类为 Servlet 接口提供了部分实现,它并没有实现 HTTP 请求处理。

     public abstract class GenericServlet implements javax.servlet.Servlet,      javax.servlet.ServletConfig, java.io.Serializable {
     HttpServlet 是 GenericServlet 的子类,它继承了 GenericServlet 的所有方法,并且为 HTTP 请求中的 GET 和 POST 等类型提供了具体的操作方法。通常情况下,编写的 Servlet 类都继承自      HttpServlet,在开发中使用的也是 HttpServlet 对象。
     public abstract class  HttpServlet  extends GenericServlet {

     HttpServlet 类中包含两个常用方法

方法声明

功能描述

protected void doGet (HttpServletRequest req, HttpServletResponse resp)

用于处理 GET 类型的 HTTP 请求的方法

protected void doPost(HttpServletRequest req, HttpServletResponse resp)

用于处理 POST 类型的 HTTP 请求的方法

例如:

package com.wangxing.servlet;

import java.io.IOException;

import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class TestServlet implements Servlet{

	@Override
	public void destroy() {
		System.out.println("销毁Servlet对象的方法");
		
	}

	@Override
	public ServletConfig getServletConfig() {
		System.out.println("得到ServletConfig对象");
		return null;
	}

	@Override 
	public String getServletInfo() {
		System.out.println("得到包含Servlet信息的字符串");
		return null;
	}

	@Override
	public void init(ServletConfig arg0) throws ServletException {
		System.out.println("Servlet初始化方法");
		
	}

	@Override
	public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
		System.out.println("处理请求做出响应的方法");
		
	}

}

配置web.xml

  <servlet>
  	<servlet-name>test</servlet-name>
  	<servlet-class>com.wangxing.servlet.TestServlet</servlet-class>
  </servlet>
  <servlet-mapping>
  	<servlet-name>test</servlet-name>
  	<url-pattern>/test</url-pattern>
  </servlet-mapping>

      2.ServletConfig接口

          public  abstract  interface  ServletConfig

          在运行 Servlet 程序时,可能需要一些辅助信息,例如,文件使用的编码、使用 Servlet 程序的共享信息等,这些信息可以在 web.xml 文件中使用一个或多个 <init-param> 元素进行配置。当           Tomcat 初始化一个 Servlet 时,会将该 Servlet 的配置信息封装到 ServletConfig 对象中,此时可以通过调用 init(ServletConfig config)方法将 ServletConfig 对象传递给 Servlet。

          ServletConfig就是封装Servlet运行时的辅助信息的接口。

          ServletConfig 接口中定义了一系列获取配置信息的方法。

方法说明

功能描述

String getInitParameter(String name)

根据初始化参数名返回对应的初始化参数值

ServletContext getServletContext()

返回一个代表当前 Web 应用的 ServletContext 对象

String getServletName()

返回 Servlet 的名字,即 web.xml 中 <servlet-name>元素的值

          ServletConfig接口对象我们不需要自己手动获取,servlet接口的init方法已经传递有了。

          例如:通过ServletConfig接口对象得到web.xml文件中配置的初始化参数值,和配置的

package com.wangxing.servlet;


import java.io.IOException;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ConfigServlet extends HttpServlet{
	//得到initconfig对象的两种方法
//	@Override
//	public void init(ServletConfig config) throws ServletException {
//		//String getInitParameter(String name) 根据初始化参数名返回对应的初始化参数值
//		//参数就是web.xml中param-name标记的值
//		String name = config.getInitParameter("name");
//		String pass = config.getInitParameter("pass");
//		System.out.println("name=="+name+"   "+"pass=="+pass);
//	}
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doPost(req, resp);
	}

	@Override
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值