Servlet小结
Servlet小结
1、Servlet的init()和构造方法仅仅调用一次,仅仅会在第一次请求时候被调用一次,或者当Servlet配置为启动时候最先加载则会在启动时候调用,配置方法是:0
2、由于Servlet只会调用构造方法一次,因此Servlet是单例的,在Servlet容器中,一个Servlet类只有一个Servlet实例存在。
3、Servlet处理请求是方式是多线程的,也就是说,一个请求会开启一个独立线程来处理。因此,在Servlet的处理方法应该注意线程安全。
4、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>
<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");
String p1 = cfg.getInitParameter("n1");
String p2 = cfg.getInitParameter("n2");
5、Servlet有输出流,输出流分两种,一种是字节流,一种是字符流,也可以获取输入流,比如上传文件时候就有输入流,输入流的只能是字节流。
ServletOutputStream os = response.getOutputStream();
PrintWriter out = response.getWriter();
ServletInputStream is = request.getInputStream();
PrintWriter out = response.getWriter();
ServletInputStream is = request.getInputStream();
6、一个Servlet的配置对象ServletConfig对象只有一个,配置的参数也只读一次,在调用init()时候读取Servlet配置,并构建ServletConfig对象。
7、ServletConfig对象只能在Servlet中访问,不能被JSP访问。ServletContext对象可以被JSP访问。
8、一个Servlet有且只有一个ServletConfig对象,一个Web应用有且仅有一个ServletContext对象,ServletContext对象在JSP中通过application内置对象来访问。
9、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>
<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");
String c1 = ctx.getInitParameter("cn1");
String c2 = ctx.getInitParameter("cn2");
扫描二维码推送至手机访问。
版权声明:本文由学无止境-开拓创新-ipvb学习网发布,如需转载请注明出处。