Servlet 学习总结(下)

本文详细介绍了Servlet的工作机制,特别强调了Servlet在浏览器首次访问时创建且仅创建一次的特点。讨论了避免全局变量导致的信息泄露风险,并阐述了如何在自定义Servlet中重写doGet和doPost方法。此外,文章解释了ServletConfig和servletContext对象的用途,以及如何通过配置文件和编程方式获取它们的内容,用于动态设置编码或其他参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注意: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);

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值