Servlet

来源:互联网 发布:淘宝联盟登不了怎么办 编辑:程序博客网 时间:2024/06/05 17:52
Servlet
    *Servlet用于处理客户端发出的请求,Servlet由我们自己编写,但是对象由服务器来创建,
     并且由服务器调用相应的方法。

    *在servlet中需要:
        *接受请求数据
        *处理请求
        *完成相应
    *每个servlet需要实现javax。servlet.Servlet接口。实现接口需要实现5个方法
        *3个生命周期方法
            //此为“出生方法”即在对象创建时调用,并且只调用一次
            public void init(ServletConfig servletConfig) throws ServletException {}
            // * 它是生命周期方法,它会被调用多次,每次处理请求都是在调用这个方法!
            public void service(ServletRequest request, ServletResponse response)
            throws ServletException, IOException {}
            // 它也是生命周期方法,它会在Servlet被销毁之前调用,并且它只会被调用一次!
            public void destroy() {}
        *2个非生命周期方法(不由服务器来调用)
            //用来获取Servlet的配置信息
            public ServletConfig getServletConfig() { return null;}
            //获取Servlet的信息
            public String getServletInfo() {return null;}
    
    *在web.xml中配置servlet
        <servlet>
  //servlet类名(随意)    <servlet-name>XXX</servlet-name>
  //servlet类的地址    <servlet-class>cn.cf.web.AServlet</servlet-class>
          <init-param>
              <param-name>p1</param-name>
              <param-value>v1</param-value>
 //初始化参数    </init-param>
          <init-param>
              <param-name>p2</param-name>
              <param-value>v2</param-value>
          </init-param>
          </servlet>
          <servlet-mapping>
              <servlet-name>XXX</servlet-name>
 //客户端请求的url    <url-pattern>/AServlet</url-pattern>    
          </servlet-mapping>
    
    *关于ServletConfig对象
        
        **ServletConfig对象对应web.xml文件中的<servlet>元素
        **ServletConfig对象是由服务器创建的,然后传递给Servlet的init()方法,你可以在init()方法中使用它!
        
        **String getServletName():获取Servlet在web.xml文件中的配置名称,即<servlet-name>指定的名称;

?          ServletContext getServletContext():用来获取ServletContext对象。

        ?String getInitParameter(String name):用来获取在web.xml中配置的初始化参数,通过参数名来获取参数值;

        ?Enumeration getInitParameterNames():用来获取在web.xml中配置的所有初始化参数名称;
                               在<servlet>元素中还可以配置初始化参数:

    **域对象之ServletContext

        *如何获取: ServletContext context = this.getServletContext();
        *该对象方法:
            *void setAttribute(String name, Object value)用来存储一个对象,也可以称之为存储一个域属性
            *Object getAttribute(String name):用来获取ServletContext中的数据
            *void removeAttribute(String name):用来移除ServletContext中的域属性,如果参数name指定的域属性不存在,
                                那么本方法什么都不做
            *Enumeration getAttributeNames():获取所有域属性的名称

            
    **该域对象可以获取设置公共属性:
            
        *在web.xml中设置公共参数:
            <context-param>
                <param-name>paramName1</param-name>
                <param-value>paramValue1</param-value>      
              </context-param>

0 0