1、什么是servlet?
servlet是用Java编写的运行在web服务器中的程序,它可以调用服务器端的类,也可以被调用。它自己本身就是一个类。
JSP页面在编写完成后,在web引擎中运行前也会被编译器先转换为servlet,再编译成字节码文件,因此servlet和JSP页面是一一对应的。
注意区分:servlet,JavaScript,和javaApplet是有区别的。
servlet是运行在服务器端的程序,JavaScript是运行在客户端浏览器中的脚本程序,javaApplet是运行在客户端的Java小程序。
1.1 servlet的工作原理。
servlet由web服务器引擎负责编译执行,客户端浏览器访问servlet时,服务器将启动一个线程来响应。
web服务器中的servlet被请求访问时,此servlet被加载到Java虚拟机中,在servlet中要接受HTTP请求并做相应处理。
1.2 servlet的生命周期
生命周期有以下三个部分:
(1)servlet初始化,servlet是一个类,当第一次客户端被请求时,web服务器引擎首先生成这个类的对象,并加载这个对象,通过这个对象的init() 方法完成初始化的工作。
(2)生成的servlet类的对象调用service() 方法来响应请求。
(3)servlet类的对象自第一次生成后常驻内存直到web服务器关闭。再次请求时,从内存中取出对象响应请求,web服务器被关闭,将调用servlet对象的destroy()方法消除对象。
注:init() 方法只会在第一次请求时被调用一次,只被调用一次。service()方法在每次servlet被请求时都会被执行。
2、怎么部署servlet
如果是在eclipse里面编辑servlet的话,要先设置tomcat的路径。
找到tomcat的安装目录,在我的电脑——属性——高级设置——环境变量里面,在系统变量classpath后面这样设置:d:\tomcat7\lib\servlet-api.jar
在src里面你新建一个包,然后新建class文件,在calss文件里面编辑你的servlet。
这是编辑的一个servlet实例:
package userPage;
import java.io.*;
import java.util.Date;
import javax.servlet.*;
import javax.servlet.http.*;
//import jdk.nashorn.internal.ir.RuntimeNode.Request;
public class TestServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
//super.doGet(req, resp);
doPost(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
//super.doPost(req, resp);
System.out.println("收到一个请求消息是:"+new Date());
}
}
类编译后,要将字节码文件.classs复制到当前的“WEB-INF\classes”文件夹下,但是eclipse里面的classes文件夹没有在WEB-INF目录下面,实际上是在build那个文件夹里面,你可以在工作区间里面查到里面的classes文件夹,里面有已经生成的.class文件。
然后接下来,要配置web.xml文件,这个文件是在WEB-INF目录下的,可能有人发现这个文件也没有。
问题是你在新建web project时没有选择默认创建该文件,在新建的时候选上就好了。
接下来,点开web.xml在里面进行配置。
<web-app>
<servlet>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>userPage.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FirstServlet</servlet-name>
<url-pattern>/FirstServlet</url-pattern>
</servlet-mapping>
</web-app>

web.xml其实就是servlet的一个配置文件,通过这个配置文件来寻找对应的servlet处理业务
到这里就设置完成了,运行一下。
记得启动tomcat服务器。
输入地址:http://localhost:8080/userPage/TestServlet
运行结果如下: