注意:servlet只有在浏览器第一次访问的时候创建,而且只创建一次;如果在servlet里面定义一个全局变量:
private String username;
这个变量是全局的,不同的用户去访问的时候,会造成信息泄露,所以在servlet里面尽量不要创建全局变量,要创建局部变量!!!
实际开发 中一般自己定义的servlet extends httpservlet
值需要在自定义servlet里面重写doGet和doPost方法,因为在httpservlet里面的的service方法 里面有做判断,根据不同的请求方法分别调用doGet和doPost方法!!!
servletConfig
**servletConfig 是一个对象。javaee规范中定义的一个对象。要求web服务器(tomcat),创建一个servlet的同时,也要去创建一个servletConfig对象。还要给servlet去使用。
serlvetConfig 是我们servlet 一些的配置信息。如果一个servlet 使用的过程中需要一些参数信息。这些参数信息,可以配置到servletConfig中。 之后servlet去使用**
1.如何在配置文件中配置servletConfig的配置信息
2.如何去获取servletConfig
ServletConfig servlet = getServletConfig();
3.如何去获取servletConfig中的内容
String config = servlet.getInitParameter(key);
// key就是XML文件里面的配置信息的 param-name
4.servletConfig配置信息的作用:
比如我们需要在servlet中动态的去设置编码,可以把编码放在xml配置文件中去,通过getInitParameter(“charset”);去动态的获取设置!!
servletContext
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);