zoukankan      html  css  js  c++  java
  • web后台运作过程

    一个web项目到底是怎么执行的,它的顺序是什么,了解清楚这些对我们的学习会有很大的帮助。

    首先 启动web项目后,web容器首先回去找web.xml文件,读取这个文件。 容器会创建一个 ServletContext servlet 上下文),整个web 项目的所有部分都将共享这个上下文。 容器将转换为键值对,并交给 servletContext 容器创建中的类实例,创建监听器。 容器加载filter,创建过滤器,要注意对应的filter-mapping一定要放在filter的后面。 容器加载servlet,加载顺序按照 Load-on-startup 来执行 因此它的完整加载顺序就是:ServletContext -> context-param -> listener-> filter -> servlet 不过有一点需要注意的是: spring容器的加载要在servlet之后,因此在有些过滤器当中需要提前用到spring bean的时候,就需要改成 Listener 的方式 org.springframework.web.context.ContextLoaderListener 。

    关于Servlet 一.‘’首先什么是servlet servletsun公司为开发动态web而提供的一门技术,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:

    1、编写一个Java类,实现servlet接口。   

    2、把开发好的Java类部署到web服务器中。按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet。  

     二.servlet的运行过程:

    1.浏览器发出请求,被web容器获取到。

    2.Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第步,否则,执行第步。

    3.装载并创建该Servlet的一个实例对象,调用Servlet实例对象的init()方法。

    4.创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servletservice()方法并将请求和响应对象作为参数传递进去。

    5.WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servletdestroy()方法。 一般情况,servlet是在被请求的时候才去创建的,但是当添加时,就会在初始化的时候创建它,利用这点特性,我们可以初始化创建数据库等等。 使用servlet时,一般都是继承httpServlet,然后分别实现doGet或者doPost方法,但是在这里面要注意的是,这servlet并不是线程安全的,多线程单实例执行的,当并发访问同一个资源的话,就有可能引发线程安全问题。

    详细参见:http://blog.sina.com.cn/s/blog_af5de6f90102xfwx.html

  • 相关阅读:
    web安全之XSS基础-常见编码科普
    Web安全之URL跳转科普
    防止CSRF跨站请求伪造
    Web渗透之mssql LOG备份getshell
    Web渗透之mssql2005 差异备份getshell
    Web渗透之mssql差异备份getshell
    Web安全之url跳转漏洞及bypass总结
    一次对php大马的后门的简单分析
    一些渗透测试基础面试题
    MySQL数据恢复和复制对InnoDB锁机制的影响
  • 原文地址:https://www.cnblogs.com/jjgo/p/8634166.html
Copyright © 2011-2022 走看看