Servlet小结

Servlet小结
 
一、Servlet的init()和构造方法仅仅调用一次,仅仅会在第一次请求时候被调用一次,或者当Servlet配置为启动时候最早加载则会在启动时候调用,配置方法是:<load-on-startup>0</load-on-startup>
 
二、因为Servlet只会调用构造方法一次,所以Servlet是单例的,在Servlet容器中,一个Servlet类只有一个Servlet实例存在。
 
三、Servlet处理请求是方式是多线程的,也就是说,一个请求会开启一个独立线程来处理。所以,在Servlet的处理方法应该注意线程安全。
 
四、Servlet能够配置参数,在Servlet类里能够读取参数。
 
     < init-param >
     < param-name >n1 </ param-name >
     < param-value >v1 </ param-value >
     </ init-param >
     < init-param >
     < param-name >n2 </ param-name >
     < param-value >v2 </ param-value >
     </ init-param >
 
    ServletConfig cfg = getServletConfig();
    String p1 = cfg.getInitParameter( "n1");
    String p2 = cfg.getInitParameter( "n2");
 
五、Servlet有输出流,输出流分两种,一种是字节流,一种是字符流,也能够获取输入流,好比上传文件时候就有输入流,输入流的只能是字节流。
    ServletOutputStream os = response.getOutputStream();
    PrintWriter out = response.getWriter();
    
    ServletInputStream is = request.getInputStream();
 
六、一个Servlet的配置对象ServletConfig对象只有一个,配置的参数也只读一次,在调用init()时候读取Servlet配置,并构建ServletConfig对象。
 
七、ServletConfig对象只能在Servlet中访问,不能被JSP访问。ServletContext对象能够被JSP访问。
 
八、一个Servlet有且只有一个ServletConfig对象,一个Web应用有且仅有一个ServletContext对象,ServletContext对象在JSP中经过application内置对象来访问。
 
九、ServletContext也可也配置本身参数,在web.xml中配置,在任何JSP或Servlet中均能获取到。
< context-param >
     < param-name >cn1 </ param-name >
     < param-value >cv1 </ param-value >
</ context-param >
< context-param >
     < param-name >cn2 </ param-name >
     < param-value >cv2 </ param-value >
</ context-param >
 
    ServletContext ctx= getServletContext();
    String c1 = ctx.getInitParameter( "cn1");
    String c2 = ctx.getInitParameter( "cn2");
相关文章
相关标签/搜索