javaWeb核心技术一

来源:互联网 发布:steam mac 游戏推荐 编辑:程序博客网 时间:2024/06/06 02:53
JavaWeb的核心技术
 --------------------------------------------------------------------------------
(01)Servlet简介
      
      第一种:实现Servlet接口
      第二种:继承GenericSerlvet类
      -----------------------------------在任何协议下,都可开发Servlet
      第三种:继承HttpServlet类(重点)
      -----------------------------------只能专用于HTTP协议请求事响应
      如果客户端以GET方式提交数据--->doGet()来处理
      如果客户端以POST方式提交数据--->doPost()来处理,分而治之
 --------------------------------------------------------------------------------
(02)Servlet生命周期
      构造器()----1次
      init()-----1次
      service()/doGet()/doPost()--N次,每次访问Servlet,都会执行service()
      destroy()--1次,重新部署时或重新启动Tomcat时,都会销毁原来的Servlet
  
      因为Servlet是单例的,不要在service()/doGet/doPost中修改实例变量的值
 --------------------------------------------------------------------------------
(03)Servlet配置详解
      /WEB-INF/web.xml文件,是Web应用的一个标识性文件,它里面记录下:(我们只说学过的)
      1_欢迎列表文件<welcome-file-list>     
      2_Servlet配置信息
      <servlet>
  <servlet-name>Demo</servlet-name>[3]
           <servlet-class>cn.itheima.Demo01</servlet-class>[4]
      </servlet>
      <servlet-mapping>
           <servlet-name>Demo</servlet-name>[2]
           <url-pattern>/hello</url-pattern>[1]
      </servlet-mapping>
 --------------------------------------------------------------------------------
(04)访问Servlet路径分析
      1_配置Servlet自动加载
        在默认情况下,Servlet是第一次访问时,创建,初始化的
                     Servlet第二次,第N次,不创建,不初始化
        web.xml文件中
        <servlet>
            <load-on-startup>0</load-on-startup> 
        </servlet>
        要配正数,0,1,2,3,4...
        如果负数的话,相当于没配,第一次访问Servlet时才创建和初始化
        如果二个Servlet都配置了正数的话,数值小的,优先初Tomcat创建和初始化     
解决了:用户第一次访问慢的问题,将创建和初始化放入到了Tomcat启动时


      2_配置Servlet虚拟路径
当访问静态页面和访问动态Servlet的URL相同时,只访问动态Servlet
        <url-pattern>/*</url-pattern>
        *只适合于配置servlet映射路径
        一个Servlet可以配置多个url-pattern映射路径/虚拟路径
        思路:
        Demo01-----/abc
        Demo02-----/abc/*
        Demo03-----/*
        Demo04-----*.do
        *代示0个或N个字符
        访问先后顺序
        URL------>http://127.0.0.1:8080/day11/abc回车


      3_配置Servlet为默认
        如果某个Servlet设置为/的映射路径,那么这个Servlet就叫默认Servlet
        好处:你们访问的URL如果出错了,服务器返回给你们404页面,这个404页面就是这个默认Servlet来创建的
     
        如果我们也有一个默认的Servlet,那么会替代Tomcat中的默认Servlet  
        当web.xml文件中,没有一个Servlet来处理客户端请求时,就由默认的Servlet来处理           
 --------------------------------------------------------------------------------
(05)ServletConfig使用及获取Servlet初始化参数
      ServletConfig.getInitParameter("参数名")->返回参数值
      ServletConfig.getInitParameterNames("参数名")->返回枚举集合
 --------------------------------------------------------------------------------
06)ServletContext使用
      Tomcat启动时,会加载多个Web应用到内存,会为每一个Web应用创建一个ServletContext对象,
      这些ServletContext对象是相互独立的,但每一个Web应用中多个Servlet之间是共享这些
      ServletContext对象的。
      通常我们将ServletContext叫做域对象。
 --------------------------------------------------------------------------------
(07)获取WEB应用初始化参数
      一个Servlet可以配Servlet初始化参数,用ServletConfig来取
      一个WEB应用可以配WEB初始化参数,用ServletContext来取


        <!-- WEB应用初始化参数,在所有的Servlet外配置 -->
        <context-param>
<param-name>username</param-name>
<param-value>赵君</param-value>
</context-param>
<context-param>
<param-name>email</param-name>
<param-value>runsin0723@163.com</param-value>
</context-param>


在当前WEB应用,创建任何一个Servlet,均可取到上述WEB初始化参数
这证明了,ServletContext是初多个Servlet共享
 -------------------------------------------------------------------------------
(08)获取web资源--图片
      1_直接通过ServletContext获取图片的InputStream
      2_直接通过ServletContext获取图片在Tomcat服务器软件中的含盘符的路径
        可以间接创建InputStream对象了


      ServletContext何时创建:
      1_部署web应用到tomcat/webapps中
      2_启动tomcat服务器,那么由tomcat为day12应用创建唯一的ServletContext对象


      ServletContext何时销毁:  
      1_在不停止服务器的情况下,重新发部day12应用
      2_停止服务器
 --------------------------------------------------------------------------------















0 0
原创粉丝点击