Servlet

0x01 概述

Jsp的前身就是Servlet。Servlet是在服务器上运行的小程序,它就是一个java类,并且可以通过请求-响应编程模型来访问的这个驻留在服务器内存里的serlvet程序。

0x02 Tomcat容器等级

Tomcat容器分为四个等级,Servlet的容器管理Context容器,一个Context对应一个Web工程。

0x03 编写Servlet

  1. 继承HttpServlet
  2. 重写doGet()或者doPost()方法
  3. 在web.xml中注册Servlet

Servlet编写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import javax.servlet.http.HttpServlet
import java.io.PrintWriter


public class HelloServlet extends HttpServlet {

protected void doGet (HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

System.out.println("Get request");
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<strong>HelloServlet!</strong><br>");
out.flush();
out.close();
}

protected void doPost (HttpServletRequest, req, HttpServletResponse resp) throws ServletException, IOException {

System.out.println("Post request");
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
out.println("<strong>HelloServlet</strong>");
out.flush();
out.close();
}
}

配置web.xml

1
2
3
4
5
6
7
8
<servlet>
<servlet-name>HelloServlet<servlet-name>
<servlet-class>servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/servlet/HelloServlet</url-pattern>
</servlet-mapping>

在上面web.xml里,标签中的servlet.HelloServlet是我们编写的Servlet中的类名

中的url-pattern是要访问的url路径

0x04 Servlet与九大内置对象

1
2
3
4
5
6
7
8
9
10
内置对象                                                      怎样获得
out resp.getWriter()
request service方法的req参数
response service方法的resp参数
session req.getSession()函数
application getServletContext()函数
exception Throwable
page this
pageContext PageContext
Config getServletConfig()函数

0x05 Servlet执行顺序

  1. 构造方法
  2. init初始化方法
  3. service方法 –> doGet()和doPost()方法
  4. destroy方法

本文标题:Servlet

文章作者:Pino-HD

发布时间:2018年05月30日 - 18:05

最后更新:2018年05月30日 - 18:05

原始链接:https://pino-hd.github.io/2018/05/30/Servlet/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!