0x01 概述
Jsp的前身就是Servlet。Servlet是在服务器上运行的小程序,它就是一个java类,并且可以通过请求-响应编程模型来访问的这个驻留在服务器内存里的serlvet程序。
0x02 Tomcat容器等级
Tomcat容器分为四个等级,Servlet的容器管理Context容器,一个Context对应一个Web工程。
0x03 编写Servlet
- 继承HttpServlet
- 重写doGet()或者doPost()方法
- 在web.xml中注册Servlet
Servlet编写
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
<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>标签中的servlet.HelloServlet是我们编写的Servlet中的类名
<servlet-mapping>中的url-pattern是要访问的url路径
0x04 Servlet与九大内置对象
内置对象 怎样获得
out resp.getWriter()
request service方法的req参数
response service方法的resp参数
session req.getSession()函数
application getServletContext()函数
exception Throwable
page this
pageContext PageContext
Config getServletConfig()函数
0x05 Servlet执行顺序
- 构造方法
- init初始化方法
- service方法 --> doGet()和doPost()方法
- destroy方法
网友评论