Servlet(Server Applet)是Java Servlet的简称,是为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。嘿嘿嘿,以上解释来自百度百科,感觉听了并没有什么屁用。一般类似如此的解释,看完上个厕所回来基本就忘掉了。容我以自己的方式来解释一下Servlet,联系到更多日常开发用到的东西,希望能比较容易记住。
public class TestServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doGet method");
PrintWriter pw = resp.getWriter();
pw.print("hello world");
pw.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("service method");
super.service(req, resp);
}
}
然后就新建一个类TestServlet来准备做一个hello world,既然要用Servlet来做,就让这个新建的类去继承HttpServlet。这样,我们新建的类就可以去实现HttpServlet的方法,这里我们先实现三个方法:service(), doGet(), doPost()。
TestServlet
TestServlet
TestServlet
/hello
首先,我在a)Servlet初始化对应Servlet的init方法:默认情况下只有当某客户端第一次请求某Servlet的时候,Servlet容器 才会创建这个Servlet对象的实例,这个时候Servlet容 器才会 毁掉Servlet的init方法。(有特殊情况如:通过配置元素更改)b)Servlet的请求处理对应Servlet的Service方法:Servlet根据http的请求类型将不同的http请求转发给不同的Servlet方法进行处理。c)Servlet的销毁阶段对应的Servlet的destroy方法:在Servlet销毁之前,由Servlet容器进行回调,主要是做一些资源的回收和清理的操作。
public class TestServlet extends HttpServlet {
@Override
public void destroy() {
System.out.println("destroy method");
}
@Override
public void init() throws ServletException {
System.out.println("init method");
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("doGet method");
PrintWriter pw = resp.getWriter();
pw.print("hello world");
pw.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("service method");
super.service(req, resp);
}
}
启动Tomcat并用浏览器发送一个本地的请求,间隔几秒钟再刷新一次,然后看控制台。