创建maven web项目,导入Servlet依赖坐标:
javax.servlet
javax.servlet-api
4.0.1
provided
同时在pom.xml文件里配置tomcat插件:
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
9090
/
创建一个类,实现Servlet接口,重写方法(service),添加访问路径:
package org.example;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
@WebServlet(value = "/demo1")//访问路径
public class demo1 implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("Servlet成功访问..");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
如果成功访问Servlet,控制台输出service方法下的信息。
运行并访问路径:
此时控制台输出:
Servlet由Web服务器创建,由Web服务器调用。
加载和实例化:默认情况,Servlet第一次被访问,有容器创建Servlet对象;
初始化:实例化之后,容器调用init初始化对象,完成一些配置工作,该方法只使用一次;
请求处理:每次请求Servlet,容器都会调用service方法对请求进行处理;
服务终止:当需要释放内存或容器关闭时,容器会调用service方法完成资源释放。
新建一个类,完成下列方法:
package org.example;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import java.io.IOException;
@WebServlet(value = "/demo2")//访问路径
public class demo2 implements Servlet {
/**
* 初始化方法 默认情况下第一次被访问调用 只调用一次
* @param servletConfig
* @throws ServletException
*/
@Override
public void init(ServletConfig servletConfig) throws ServletException {
System.out.println("初始化..");
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("Servlet成功访问..");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
System.out.println("销毁中..");
}
}
运行服务器..
第一次访问,控制台输出,同时调用service方法:
第二次访问,控制台输出:
这里init方法只调用一次,可以使用
* loadOnStartup:控制次此方法调用的时机
重新启动服务器,控制台输出:
关闭服务器,控制台输出:
Servlet从3.0以后开始支持注解配置,3.0版本只支持XML配置文件的配置方式
编写Servlet类:
package org.example;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class demo0 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("get..");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("post..");
}
}
在web.xml配置Servlet:
demo0
org.example.demo0
demo0
/demo0
启动tomcat服务器,开启访问:
控制台输出:
部分代码: