Java web笔记(二)

1.servlet

            1.Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。

             2.Servlet是Javaweb三大组件之一,作用是处理请求,服务器会把接收到的请求发送给servlet来处理,在servlet中通茶需要1.接收请求数据。2.处理请求。3.完成响应

             3.实现servlet的三种方式

                     (1)实现javax.servlet.Servlet接口

                     (2)继承javax.servlet.GenericServlet类

                     (3)继承javax.servlet.HttpServlet类

                       通常我们我们会选择第三种方法来完成servlet,但学习servlet还需要从javax.servlet.Servlet接口开始学习

              4.javax.servlet.Servlet

                        在这个接口中我们需要重写5个方法

                       (1)public void init(ServletConfig arg0) throws ServletException {
                                }

                                 它是生命周期方法,它会在servelet对象创建后马上执行,并且只执行一次!(出生后)

                       (2)public void destroy() {
                                }

                                它是生命周期方法,它会在servlet对象被销毁前调用,并且只会被调用一次!(遗言)

                       (3)public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
                                }

                                它是生命周期方法,他会被调用多次,每次处理请求都会调用这个方法

                        (4)public ServletConfig getServletConfig() {
                                    return null;
                                 }

                                 用来获取servlet的配置信息

                         (5)public String getServletInfo() {
                                       return null;
                                  }

                                 用来回去servlet的信息

                  5.如何让浏览器访问servlet

                             1.给servlet指定一个servlet路径(让servlet与一个路径绑定在一起)

                             2.浏览器访问一个servlet路径

                        * 给servlet配置路径,需要在web.xml中对servlet进行配置

                                 
                                      xxx   //xxx是servlet的名字,随便取
                                      com.tf.Servlet.AServlet  //必须写类的路径
                                   

  
                                  
                                       xxx  //和上面一样
                                        /AServlet  //servlet的路径,随便取,必须以/开头
                                   

                          配置好之后,在浏览器地址栏写上http://localhost:8080/Servlet/AServlet就可以访问我们的servlet了

                  6.servlet生命周期方法

                          (1)public void init(ServletConfig arg0) throws ServletException {
                                  }

                                 它是生命周期方法,它会在servelet对象创建后马上执行,并且只执行一次!(出生后)(1次)

                          (2)public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
                                  }

                                它是生命周期方法,它会在servlet对象被销毁前调用,并且只会被调用一次!(遗言)(1次)

                          (3)public void destroy() {
                                  }

                                它是生命周期方法,他会被调用多次,每次处理请求都会调用这个方法。(多次)

                    7.servlet特性

                           (1)单例,一个servlet类只有一个对象;当然可以存在多个servlet类

                           (2)线程不安全的,所以效率高

                           (3)servlet类由我们来写,但由服务器创建servlet类,并由服务器调用相应的方法

                    8.ServletConfig方法

                             1.一个ServletConfig对象,对应一段web.xml中的servlet配置信息

                             2.API:

                                    String GetServletName(),获取的是中的内容

                                    ServletContext GetSerletContext(),获取servlet上下文对象! 

                                    String getInitParamerter(String name),通过名称获取指定初始化参数的值

                                    Enumeration getInitParamerterNames():获取所有初始化参数的名称

                   9.让服务器在启动时就创建servlet

                                    在web.xml中的中添加一个非负数

                                    其中的非负数决定每一个servlet创建的次序,小的先创建

                   10.ServletContext(********)

                                 (1).一个项目只有一个ServletContext对象

                                 (2)我们可以在N多个servlet中来获取这唯一的对象,使用它可以给多个servlet传递数据

                                 (3)与天地同寿,这个对象在Tomcat启动时创建,在Tomcat关闭时死去

                                (4)ServletContext的作用是在所有web应用动态资源之间共享数据,例如在AServlet中向ServletContext对象中保存一个值,然后再BServlet中就可以获取这个值,这就是共享数据。

                                 (5)获取ServletContext

                                              ** ServletConfig#getServletContext();

                                              ** GenericServlet#getServletContext();

                                              ** HttpSession#getServletContext();

                                              ** ServletContexteEvent#getServletContext();

                                 (6)域对象

                                             * 域对象的作用就是在Servlet中传递数据

                                             * 域对象必须要有存数据和取数据功能

                                                        域对象内部其实有一个map

                                 (7)ServletContext方法

                                             void setAttribute(String name, Object value) 用来存储一个对象,也可以称之为存储一个域属性

                                             Object getAttribute(String name) 用来获取ServletContext中的数据

                                             void removeAttribute(String name) 用来移除ServletContext的域属性

                                             Enumeration getAttributeName() 获取所有域属性名称 

                               (8)使用ServletContext获取初始化参数

                                             ** servlet也可以获取初始化参数,但它是局部的参数,也就是说,一个servlet只可以获取自己的初始化参数,不能获取别人的,即初始化参数只为一个servlet准备

                                             ** 可以配置公共的初始化参数,为所有的servlet所用,用ServletContext获取

                                             配置

                                             
                                                 context-param
                                                 context-param
                                             

你可能感兴趣的:(Java web笔记(二))