1、什么是servlet
servlet是Java语言编写的运行在tomcat上的程序,用来处理http请求。
servlet提供了一个接口(servlet),该接口规定了tomcat和servlet实例的契约,所以所有的servlet实例都必须实现该接口。
2、servlet入门案例
①、pom.xml
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
②servlet
package com.by.servlet;
import javax.servlet.*;
import java.io.IOException;
public class HelloServlet 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 {
servletResponse.setContentType("text/html;charset=utf-8");
servletResponse.getWriter().write("<h1>hello<h1>");
// System.out.println(12/0);
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
③web.xml
<servlet>
<!--两个servlet-name要保持一致,否则tomcat不知道”/hello“请求要调用哪个servlet实例-->
<servlet-name>hello</servlet-name>
<!--servlet的全类名-->
<servlet-class>com.by.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<!--浏览器发送的url-->
<url-pattern>/hello</url-pattern>
3、servlet生命周期
构造方法:第一次请求,tomcat通过反射创建servlet实例时调用,只掉一次
init():servlet实例创建之后调用,只调用一次
service():每次请求都调用
destroy():关闭tomcat时调用