首页 > 其他分享 >每日记录(ServletContext)

每日记录(ServletContext)

时间:2023-06-03 16:56:11浏览次数:29  
标签:初始化 String 记录 每日 getServletContext 获取 参数 ServletContext

Servlet三大域对象:

l ServletContext:范围最大,应用范围!

l HttpSession :会话范围!

l HttpServletRequest:请求范围!

域对象之一

域对象都有存取功能:

setAttribute(“attrName”, attrValue );//put

Object attrValue = getAttribute(“attrName”);//get

removeAttribute(“attrName”);//remove

1 ServletContext的作用

l 存取域属性,ServletContext是一个域对象;

l 可以用来获取应用初始化参数;

l 获取资源

ServletContext的生命周期

l ServletContext在容器启动时就被创建了;

l ServletContext在容器关闭时才会死!

l 一个项目只有一个ServletContext对象。

3 获取ServletContext

l 通过ServletConfig的getServletContext()方法来获取!

Ø ServletConfig是init()方法的参数,那只能在init()方法中获取了;

Ø GenericServlet代理了ServletConfig的所有方法,而且还提供了getServletConfig(),所以在GenericServlet的子类中可以使用如下方式来获取ServletContext对象:

² this.getServletContext()

² this.getServletConfig().getServletContext()

Ø HttpSession也有这个方法,session.getServletContext()。

4 域对象:ServletContext

l void setAttribute(String name, Object value):存储属性;

l Object getAttribute(String name):获取属性;

l void removeAttribute(String name):移除属性;

l Enumeration getAttributeNames():获取所有属性名称;

5 获取初始化参数

一个 项目不只是可以配置servlet的初始化参数,还可以配置应用初始化参数

下面就是在web.xml中配置应用的初始化参数,这些参数需要使用ServletContext来获取

<context-param>

<param-name>p1</param-name>

<param-value>v1</param-value>

</context-param>

<context-param>

<param-name>p2</param-name>

<param-value>v2</param-value>

</context-param>

l String getInitParameter(String name):通过参数名获取参数值;

l Enumeration getInitParameterNames():获取所有参数的名称;

6 获取资源

l 获取真实路径:getRealPath(String path):路径必须以“/”开头!它相对当前项目所在路径的。

l 获取指定路径下的所有资源路径:Set set = sc.getResourcePaths(“/xxx”)

l 获取资源流:InputStream in = sc.getResourceAsStream(“/xxx”)

7 Class和ClassLoader获取资源

User.class如何变成Class<User>的呢,由ClassLoader完成的!把硬盘上的User.class加载到内存,变成Class对象。

使用它们获取资源流!它们相对类路径(classpath)

标签:初始化,String,记录,每日,getServletContext,获取,参数,ServletContext
From: https://www.cnblogs.com/xiao-hong111/p/17454206.html

相关文章

  • 【React工作记录八十三】React+Hook+ts+antDesign实现table行编辑功能
    前言大家好我是歌谣今天要说的是antdesign实现表格行编辑的功能考虑问题的时候我们需要多看官方的api开发开始紧接着我们对照着api进行开发首先加一个table<TableonChange={onTableChange}rowKey="id"......
  • 算法刷题记录:[NOIP1999]回文数
    题目链接https://ac.nowcoder.com/acm/contest/19859/G题目分析高精度相加+进制转换+判断回文的模拟题。AC代码//Problem:[NOIP1999]回文数//Contest:NowCoder//URL:https://ac.nowcoder.com/acm/contest/19859/G//MemoryLimit:262144MB//TimeLimit:20......
  • 6-3|Python更新已有的记录
    >>>user.save() #save()returnsthenumberofrowsmodified.>>>user.id>>>user.save()>>>user.id>>>huey.save()>>>huey.id如果你更新多个记录,使用UPDATE插询。下列例子将更新Tweet多个满足如果是昨天之前发表的实例,将它们标示为已发表,Model.upda......
  • 基于LVM方式创建的swap分区的缩减记录
    场景:关于Linux系统下,需要将swap分区的大小由128GB,缩减调整到32GB(swap分区是一个LVM格式的分区)操作系统:RedHatEnterpriseLinuxServerrelease7.9(Maipo) 1、先看一下现状,当前系统是有占用swap分区的:[root@qq-5201351~]#free-mtotalused......
  • 算法刷题记录:素数五五
    题目链接https://ac.nowcoder.com/acm/contest/19859/E题目分析一道找规律的题,我们注意33,当33的长度一样,我们只要无脑添加4和8即可。4和8的关系与33的关系:有n个33,就有n-1个4或8。在此基础之上,因为会出现a和b的33长度不相同的情况,这时候我们只要统计a和b的33个数的差就行了......
  • 【蓝桥杯集训·每日一题】AcWing 1079. 叶子的颜色
    写在前面本人CSDN博客主页:这里一、题目1、原题链接1079.叶子的颜色2、题目描述给一棵有m个节点的无根树,你可以选择一个度数大于1的节点作为根,然后给一些节点(根、内部节点、叶子均可)着以黑色或白色。你的着色方案应保证根节点到各叶子节点的简单路径上都至少包含一个有色节点,哪......
  • 2023/6/2每日总结
        今天,上午上机,做了计算机网络的实验,将不同主机用交换机,vlan结合等等操作,后来做了一套概率论卷子,有点难,不会,下午考了个web,上完课再实验室学习了一会,晚上数学建模复习了一会,写了的英语演讲稿,明天考两科。......
  • C标准库中srand()和rand()关于随机数的记录
    首先需要说明,C标准库可以在C++中使用。srand()和rand()均来源于<cstdlib>中。因为这两个函数只能生成相对随机的伪随机数(有规律的随机数),这种不能直接实现“绝对随机”的函数一开始会给大家带来一些疑惑。下面记录了一些关于srand()和rand()的使用方法,以及如何实现伪随机数的“绝......
  • 6月2日 每日总结
    今天为应对web的期末测试对web的基础知识做了一个复习。学习了前端HTML的基本知识 学习了javascript的相关知识:函数的定义: ......
  • 6.2每日总结
    今天完成了计算机网络课程的第2个实验。虽然实验最后没有成功。但是从实验中学到了很多东西。比如网络配置等等等等。对软件工程这门课来说,一切都是需要联网的例如我们将数据库挂到云服务器上。这个地方就用到了IP地址。同样在计算机网络课程的理解上,使我能够更轻松的去理......