Servlet
Servlet是使用Java语言编写的运行在服务器端的程序,Servelt的指任何实现了这个Servlet接口的类。
Servlet由Servlet容器提供,Servlet容器将Servlet动态地加载到服务器上,使HTTP请求和HTTP响应与客户端进行交互。
Servlet特点:
方便
跨平台
灵活性和拓展性
Servlet简单使用
1.一个web工程,一个服务器
2.测试运行web工程
3.新建一个类,实现Servlet接口
4.配置Servlet,告诉服务器,应用有的Servlet
先给出Servlet在web.xml配置文件的代码
<?xml version="1.0" encoding="UTF-8"?> JavaWeb_1 index.html index.htm index.jsp default.html default.htm default.jsp qq cw.Servlet.Servlet01 qq /a kk cw.Servlet.Servlet02 kk /b mm cw.Servlet.Servlet03 mm /c gg cw.Servlet.Servlet04 2 gg /d hh cw.Servlet.Servlet05 add haiK add2 haiK2 add3 haiK3 hh /e1.Servlet的通用写法:
Servlet是一个接口,GenericServlet是一个实现Servlet的类,HttpServlet是GenericServlet的子类。HttpServlet用于处理http的请求,可以定义一个类,继承HttpServlet复写doGet和doPost.
Servlet01.java
package cw.Servlet;
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 Servlet01 implements Servlet{
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
System.out.println("hello world");
}
public void destroy() {
}
public ServletConfig getServletConfig() {
return null;
}
public String getServletInfo() {
return null;
}
public void init(ServletConfig arg0) throws ServletException {
}
}
Servlet02.java
package cw.Servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Servlet02 extends HttpServlet{
//Get请求会来这个方法
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("get.....");
}
//Post请求会来这个方法
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("Post.....");
}
}
2.Servlet的生命周期
生命周期:从创建到销毁的一段时间
生命周期的方法:从创建到销毁,所调用的方法
1)创建该servlet的实例时,就执行该方法,默认情况是访问该servlet,就会创建实例.一个servlet只会初始化一次,init()方法只会执行一次
2)只要客户端来了一个请求,那么就执行service方法,该方法可以被执行很多次.一次请求,对应一次service方法的调用.
3)servlet销毁时,会调用该方法.该项目从tomcat的里面移除会调用;正常关闭tomcat就会执行shutdown.bat.
Servlet03.java
package cw.Servlet;
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 Servlet03 implements Servlet{
/*
1.创建该servlet的实例时,就执行该方法,默认情况是访问该servlet,就会创建实例.
一个servlet只会初始化一次,init()方法只会执行一次
/
public void init(ServletConfig arg0) throws ServletException {
System.out.println(“Servlet初始化”);
}
/
2.只要客户端来了一个请求,那么就执行这个方法
该方法可以被执行很多次,一次请求,对应一次service方法的调用
/
public void service(ServletRequest arg0, ServletResponse arg1)
throws ServletException, IOException {
System.out.println("++service方法被调用");
}
/
3.servlet销毁时,会调用该方法.
1)该项目从tomcat的里面移除会调用
2)正常关闭tomcat就会执行shutdown.bat
*/
public void destroy() {
}
public ServletConfig getServletConfig() {
return null;
}
public String getServletInfo() {
return null;
}
}
吃得苦中苦 方为人上人