Servlet实现的三种方式
什么是Servlet?
- servlet是java EE 中规范。—>文档
2. Servlet本质上就是一个接口
3. Servlet表示一个可以被浏览器访问到java类(程序)
4. Servlet实现类直接或者间接(继承)实现接口的实现类
5. servlet接口存放tomcat/lib/servlet-api.jar
Servlet技术可以扩展服务器端的功能,让java代码在服务器端也能成为一种资源(动态资源),客户端浏览器可以通过指定的资源地址(URI),来访问这个java代码(Servlet),同时在Servlet代码中,还可以使用IO流把结果写回给浏览器。
按照Servlet规范要求,编写一个Servlet程序,只需要让自己的类实现 javax.servlet.Servlet 接口就可以了,但是该接口也有一些默认的实现类,所以除了实现接口的方式之外,我们也可以继承它默认的几个实现类,并且重写指定方法,也同样可以完成Servlet程序的编写。
javax.servlet.Servlet
它是Servlet技术的核心接口,所有的Servlet程序,都必须是该接口的实现类。
//Servlet接口
package javax.servlet;
import java.io.IOException;
public interface Servlet {
//初始化servlet对象的时候被调用
public void init(ServletConfig config) throws ServletException;
//返回ServletConfig对象,该对象封装了Servlet的配置信息
public ServletConfig getServletConfig();
//访问servlet对象的时候被调用(最重要的方法)
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException;
//返回servlet相关信息,比如作者、版本、版权等
public String getServletInfo();
//销毁servlet对象的时候被调用
public void destroy();
}
项目创建:Dynamic Web project
java Resources/src目录下编写代码
ps:三种方式都直接间接的实现了Servlet接口
* 客户端访问servlet
* url——请求行--访问Tomcat--读取web.xml--找到对应的Servlet程序
- –>创建一个Servlet对象 创建一次–>自动调用service方法
- url<–>java类
- 映射关系: web.xml文件形式或者(注解方式)
- 配置web.xml:建立映射关系
- 提供一个映射的逻辑
- 编写一个HTTP相应报文内容
- 主要添加相应正文
- 每次请求,自动调用一次service方法
方式一(直接实现 Interface: Servlet)
package com.briup.web.day02;
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{
public TestServlet() {
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public ServletConfig getServletConfig() {
// TODO Auto-generated method stub
return null;
}
@Override
public String getServletInfo() {
// TODO Auto-generated method stub
return