Servlet接口、类
一、Servlet体系结构
二、Servlet接口、类
1.Servlet接口
-
Servlet接口概述
- 定义了所有Servlet需要实现的方法
-
Servlet接口的常用方法
2.ServletConfig接口
- ServletConfig概述
- 在Servlet初始化过程中获取配置信息
- 一个Servlet只有一个ServletConfig对象
- ServletConfig的常用方法
3.GenericServlet抽象类
- GenericServlet概述
- 提供了Servlet与ServletConfig接口的默认实现方法
- GenericServlet的常用方法
4.HttpServlet抽象类
- HttpServlet概述
- 继承于GenericServlet
- 处理HTTP协议的请求和响应
- HttpServlet的常用方法
请求、响应相关接口
- HttpServletRequest是ServletRequest的子接口
- HttpServletResponse是ServletResponse的子接口
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,开发人员通过这个对象的相关方法,即可以获得客户的这些信息。
servletRequest是接口,httpServletRequest是实现,但是有些方法是httpServletRequest独有的,比如getSession().。
HttpServletRequest接口是继承自ServletRequest接口的。增加了和HTTP相关的一些方法。而所谓request(在JSP中使用的)其实只是规范中的一个名称而已。它当然是一个对象,但并不是SUN提供的,这是由各个不同的Servlet提供商编写的,SUN只是规定这个类要实现HttpServletRequest接口,并且规定了各个方法的用途,但具体是什么类是由各个提供商自己决定的。
5.ServletRequest接口
- ServletRequest概述
- 获取客户端的请求数据
- ServletRequest的常用方法
6.HttpServletRequest接口
- HttpServletRequest概述
- 除了继承servletRequest接口中的方法,还增加了一些用于读取请求信息的方法
- HttpServletRequest的常用方法
7.ServletResponse接口
- ServletResponse概述
- 向客户端发送响应数据
- ServletResponse接口的常用方法
8.HttpServletResponse接口
- HttpServletResponse概述
- 除了继承ServletResponse接口中的方法,还增加了新的方法
- HttpServletResponse的常用方法
9.ServletContext接口
- ServletContext概述
- 获取Servlet上下文
- ServeltContext的常用方法
三、Servlet与JSP内置对象的关系
四、Servlet的配置
1.Servlet初始化参数配置
<web-app>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>org.jbit.servlet.HelloServlet</servlet-class>
<init-param>
<param-name>initParam</param-name>
<param-value>Hello Servlet</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/HelloServlet</url-pattern>
</servlet-mapping>
</web-app>
获取:
通过实现的getInitParameter(String name)方法来获取初始化参数
getInitParameterNames()返回所以的参数名称
2.配置Servlet上下文
<web-app>
<context-param>
<param-name>contextParam</param-name>
<param-value>Hello Servlet</param-value>
</context-param>
<!--省略其他配置-->
</web-app>
读取Servlet上下文:
public class HelloServlet extends HttpServlet {
// …省略其他代码
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("处理请求时,doGet()方法被调用。");
String initParam = getInitParameter("initParam");
String contextParam = this.getServletContext().getInitParameter("contextParam");
System.out.println("Servlet初始化参数" + initParam);
System.out.println("系统初始化参数" + contextParam);
}
}