欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

j2ee爬坑行之一:web容器

发布时间:2025/4/14 编程问答 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 j2ee爬坑行之一:web容器 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

什么是容器?

servlet没用main方法,它们受控于另一个java应用程序,这个应用程序就称为容器。
tomcat就是这样一个容器。当web服务器得到一个指向某servlet的请求,此时服务器不是直接将请求交给该servlet本身,而是交由部署该servlet的容器,由容器向servlet提供HTTP请求和响应,而且要由容器调用servlet的方法,如doPost()或doGet()。容器主要提供一下几个支持:

  • 通信支持:利用容器提供的方法,你能轻松的让servlet 与web服务器对话,无需自己建立与web服务器之间的通信
  • 生命周期管理:控制servlet的生命周期:servlet的加载、实例化和初始化servlet、调用servlet方法,并使servlet能被垃圾回收器回收
  • 多线程支持:容器会自动为它接受的每个请求创建一个新的java线程来处理此请求
  • 声明方式实现安全:使用XML部署描述文件来配置安全性
  • jsp支持
  • 容器处理请求过程

  • 用户点击一个链接,其url指向一个servlet而不是指向一个静态页面
  • 容器根据url解析出对应的servlet,并为该请求创建两个对象:1)HttpServletResponse 2)HttpServletRequest
  • 容器根据请求中的url找到正确的servlet,为这个请求创建或分配一个线程,并把该请求和响应传递给这个servlet线程
  • 容器调用servlet的service()方法。根据请求的不同类型,service()方法会调用doGet()或doPost()方法。
  • do**()方法生成动态页面,并把这个页面注入响应对象。
  • 线程结束,容器把响应对象转换为一个http响应,并返回给客户,然后删除请求和响应对象。
  • 下面是一个servlet示例:

    public class HelloWoldServlet extends HttpServlet{
    @Override
    public void doGet(HttpServletRequest request,
    HttpServletResponse response)
    throws IOException{
    PrintWriter out = response.getWriter();
    out.println("Hello World!");
    }
    }

    转载于:https://www.cnblogs.com/graph/p/4545088.html

    总结

    以上是生活随笔为你收集整理的j2ee爬坑行之一:web容器的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。