Servlet容器

2017-08-14  本文已影响0人  一颗奋发向上的蛋

1 容器

如果Web服务器应用得到一个指向servlet的请求,此时服务器不是把请求交给servlet本身,而是交给部署该servlet的容器。要由容器想servlet提供HTTP请求和相应,而且要由容器调用servlet的方法,如doPost()或doGet()。

1.1 容器提供什么
1.2 容器如何处理请求
  1. 用户点击一个链接,其URL指向一个servlet。
  2. 容器创建请求和响应对象:HttpServletResponse、HttpServletRequest。
  3. 容器根据请求中的URL找到正确的servlet,为这个请求创建或分配一个线程,并把请求和响应对象传递给这个servlet线程。
  4. 容器调用servlet的service()方法。根据请求的类型,service()方法会调用doGet()或doPost()方法。
  5. 以Http GET请求为例: doGet()方法生成动态页面,并把这个页面填入响应对象。
  6. 线程结束,容器吧响应对象转换为一个HTTP响应,把它发回给客户,然后删除请求和响应对象。
    /**
     * 一个servlet例子
     */
    public class ServletEXP extend HttpServlet {
        public void doGet(HttpServletRequest reque, HttpServletResponse response) throws IOException{
            // 在servlet从容器得到的响应对象中,可以拿到一个PrintWriter。
            // 使用这个PrintWriter能够将HTML文本输出到响应对象。
            PrintWriter out = response.getWriter();
            Date today = new Data();
            out.println("<html> " + "<body>" 
                        + "<h1>DanDan's ServletEXP</h1>"
                        + today
                        + "<body><html>")
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读