• Servlet


    Servlet:是一门动态网页技术,是一门运行在服务端的java小程序,通过http协议接收来自客户端请

        请求并发出响应。

        

      Servlet中的方法:

              public void services(ServletRequest req,ServletResponse res){

               }throws ServletException,java.io.IOException

            

            说明:ServletRequest req:代表请求对象,该对象中有http协议的请求部分的所有内容。它的实现类由服务器提供,封装数据也是服务器来做

                ServletResponse res:代表响应对象 ,该对象中由我们写数据(http协议的响应部分)进去。它的实现类同样是服务器提供。

            service:有服务器调用,每次请求都会调用一次。服务器采用的是多线程机制。

      Servlet的执行过程:

      Servlet生命周期:1.第一次访问servlet时服务器调用servlet构造方法,掉init()方法,创建servlet.一旦创建就一直存在在内存中,除非服务器停止工作(只有第一次访问创建

                Servlet)

               2.创建请求和响应对象。

               3.调用service方法(无论是get请求还是post请求都会先调用service方法,之后再根据get请求还是post请求来调用doget()或者dopost())

              4.服务器停止工作,执行destroy方法(),servlet被杀死。

      ServletConfig:由服务器创建,用来获取<init-param>标签中的<param-value>的值。

                  例如:<init-param>

                          <param-name>

                                  AAA

                          </param-name>

                          <param-value>

                                  BBB

                          </param-value>

                     </init-param>

                  ServletConfig config =getServletConfig();

                  System.out.println(config.getInitParameter("AAA"));//就可打印BBB。前提是init()方法没有被覆盖。 

       ServletContext:

              生命周期:

                    诞生:应用被加载时就有容器创建好

                    活着:应用不挂就一直活着

                    死亡:应挂了,就挂了

            

          通过ServletContext获取<context-param>标签里的<param-value>的值代码如下:

     <context-param>
          <param-name>
              encoding
          </param-name>
          <param-value>
              utf-8
          </param-value>
      
      </context-param>
    
    
    ServletContext context = getServletContext();
    String str = context.getInitParameter("encoding");
    System.out.println(str);

    执行结果:utf-8

       

  • 相关阅读:
    linux嵌入式系统交叉开发环境
    Codeforces Round #208 E. Dima and Kicks
    mvn 编译错误java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter. <init>(Z)V
    黑马程序员_<<TCP>>
    微信/易信公共平台开发(四):公众号调试器 (仿真微信平台,提供PHP源码)
    用pdb调试OpenStack Havana
    MySql Odbc等驱动下载地址分享下
    导入exce表格中的数据l到数据库
    关闭数据备份信息写入数据库日志
    SQL Server之RAID简介
  • 原文地址:https://www.cnblogs.com/huxuebing/p/5806572.html
Copyright © 2020-2023  润新知