目录
三、ServletConfig和ServletContext(难点)
前言:
学习目标:
重点难点:
1、掌握Servlet、HttpServlet的使用、ServletConfig和ServletContext对象的使用
2、熟悉使用Eclipse开发Servlet程序
3、了解Servlet虚拟路径的映射
一、Servlet开发入门(基础)
1、什么是Servlet(理解)
参考学习网站:Servlet 简介 | 菜鸟教程 (runoob.com)
Servlet(Server Applet)是java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态web内容。Servlet运行于支持Java的应用服务器中。
其中最重要的是javax.servlet.Servlet接口。简而言之,Servlet就是一种实现了Servlet接口的类,它是由web容器负责创建并调用,用于接收和响应用户的请求。
2、Servlet 架构
3、Servlet包
javax.servlet
和javax.servlet.http
包表示servlet api的接口和类
包名 | 含义 |
javax.servlet |
包含servlet或Web容器使用的许多接口和类,这些接口不是特定于任何协议。 |
javax.servlet.http |
包含仅用于负责http 请求的接口和类。 |
javax.servlet包中有许多接口:
Servlet接口主要有五个抽象方法
其中以下三个为Servlet的生命周期
- Servlet 初始化后调用 init () 方法。
- Servlet 调用 service() 方法来处理客户端的请求。
- Servlet 销毁前调用 destroy() 方法。
import javax.servlet.*;
import java.io.IOException;
/**
* @Description: 测试servlet$
* @Author: dyq
* @Date: 2022.03.10$
*/
public class servlet implements Servlet {
@Override
public void init(ServletConfig config) throws ServletException {
// 负责servlet初始化工作,容器建好servlet对象后,就会调用此方法
}
@Override
public ServletConfig getServletConfig() {
// 返回容器调用init(ServletConfig config)方法时传递给servlet的ServletConfig对象
return null;
}
@Override
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
//负责响应用户的请求,当容器接收到客户端访问servlet对象请求时,就会调用此方法,
}
@Override
public String getServletInfo() {
// 返回一个字符串,其中包含了关于servlet的信息,例如作者,版本和版权等信息
return null;
}
@Override
public void destroy() {
// 负责释放servlet对象占用的资源,当servlet对象被销毁时,容器会调用此方法
}
}
4、创建servlet
创建servlet
有三种不同的方法。
- 通过实现
Servlet
接口- 扩展
GenericServlet
类- 通过扩展
HttpServlet
类
例如:1、通过实现servlet接口实现
package entry;
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 helloserver implements Servlet {
@Override
public void init(ServletConfig arg0) throws ServletException {
System.out.println("servlet正在初始化!");
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return null;
}
@Override
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
//专门向客服端提供响应的方法
System.out.println("Servlet正在提供服务");
}
@Override
public void destroy() {
System.out.println("servlet销毁");
}
}
启动tomcat
2、扩展GenericServlet
类
web.xml中配置映射关系
<?xml version=&#