深入浅析Servlet在Java中的运行原理-创新互联
深入浅析 Servlet 在Java中的运行原理?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联是一家集网站建设,漳平企业网站建设,漳平品牌网站建设,网站定制,漳平网站建设报价,网络营销,网络优化,漳平网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。1 Servlet基本执行过程
Web容器(如Tomcat)判断当前请求是否第一次请求Servlet程序 。
如果是第一次,则Web容器执行以下任务:
- 加载Servlet类。
- 实例化Servlet类。
- 调用init方法并传入ServletConfig对象
如果不第一次执行,则:
- 调用service方法,并传入request和response对象
Web容器在需要删除Servlet时(例如,在停止服务器或重新部署项目时)将调用destroy方法。
2 Web容器如何处理Servlet请求
Web容器负责处理请求。让我们看看它如何处理请求。
- 将用户请求与web.xml文件中的Servlet进行映射。
- 创建请求和响应对象
- 创建新的线程,并在该线程上调用Servlet的service方法
- 在public的service方法内部调用protected的service方法
- protected的service方法根据请求的类型调用doGet方法。
- doGet方法生成响应并将其传递给客户端。
- 发送响应后,Web容器将删除请求和响应对象。该线程是继续留在线程池中还是被删除取决于服务器实现。
3 public的service方法部分源码
public的service方法将ServletRequest对象转换为HttpServletRequest类型,而ServletResponse对象转换为HttpServletResponse类型。然后,调用传递这些对象的服务方法。让我们看一下内部代码:
public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { HttpServletRequest request; HttpServletResponse response; try { request = (HttpServletRequest)req; response = (HttpServletResponse)res; } catch(ClassCastException e) { throw new ServletException("non-HTTP request or response"); } service(request, response); }
分享名称:深入浅析Servlet在Java中的运行原理-创新互联
转载来源:http://ybzwz.com/article/cejiej.html