Servlet 学习总结(下)

注意:servlet只有在浏览器第一次访问的时候创建,而且只创建一次;如果在servlet里面定义一个全局变量:

private String username;

这个变量是全局的,不同的用户去访问的时候,会造成信息泄露,所以在servlet里面尽量不要创建全局变量,要创建局部变量!!!


实际开发 中一般自己定义的servlet extends httpservlet
值需要在自定义servlet里面重写doGet和doPost方法,因为在httpservlet里面的的service方法 里面有做判断,根据不同的请求方法分别调用doGet和doPost方法!!!


servletConfig

Servlet 学习总结(下)_第1张图片
**servletConfig 是一个对象。javaee规范中定义的一个对象。要求web服务器(tomcat),创建一个servlet的同时,也要去创建一个servletConfig对象。还要给servlet去使用。
serlvetConfig 是我们servlet 一些的配置信息。如果一个servlet 使用的过程中需要一些参数信息。这些参数信息,可以配置到servletConfig中。 之后servlet去使用**

1.如何在配置文件中配置servletConfig的配置信息

Servlet 学习总结(下)_第2张图片

2.如何去获取servletConfig

ServletConfig servlet = getServletConfig();

3.如何去获取servletConfig中的内容

String config = servlet.getInitParameter(key);
// key就是XML文件里面的配置信息的 param-name

4.servletConfig配置信息的作用:

比如我们需要在servlet中动态的去设置编码,可以把编码放在xml配置文件中去,通过getInitParameter(“charset”);去动态的获取设置!!


servletContext

Servlet 学习总结(下)_第3张图片
1.servletContext:一个对象。代表了当前项目、当前应用。包含了一些的项目相关的信息。
servletContext:可以通过servletConfig这个对象来获取到。
每一个web工程,只有一个servletContext对象

2、servletContext对象,在里面可以存放一些内容。 这些内容,其他的servlet都可以使用。servletContext—理解成一个map(key,value)
servletContext是web应用的全局对象

servletContext是项目级别的,每个项目**有且仅有有一个**servletContext;每个servlet都可以去使用servletConetext;
servletContext是web应用的全局对象!!!

应该:统计网站的浏览次数等,不同的servlet都需要统计,所以需要一个公用的变量去保存当前的访问数量,这个就可以利用servletContext了!!

// ServletConfig config = getServletConfig();
// ServletContext context = config.getServletContext()

//获取servletContext,本身提供的方法,链式编程调用了
ServletContext context = this.getServletContext();
//拿到servletContext里面的值
Integer count = 
            (Integer)context.getAttribute("count");
//设置servletContext里面的值
 context.setAttribute("count", count);

Servlet 学习总结(下)_第4张图片

你可能感兴趣的:(JAVAWEB基础)