学习笔记——ServletConfig,ServletContext
2022-10-29
一、web中的两个接口:
(1)ServletConfig:
说明:每当有一个servlet对象时,就会有唯一 一个servletConfig配置文件对象
功能:能获得Servlet名称(该名称是web.xml中配置的servlet-name的值),使用方法:如下,可写在
创建该类的“init”方法中
String servletName = servletConfig.getServletName();
System.out.println("servletName = " + servletName);
能获取全局上下文ServletContext对象;
ServletContext servletContext = servletConfig.getServletContext();
System.out.println("servletContext = " + servletContext);
获取Servlet初始化参数
首先先设置ServletConfig的初始化参数:
位置:在“web.xml”(web Application项目)文件中的“<servlet>”中,初始化参数的位置也是有要求的,要放置在<load-on-startup>自启动标签的上面。
如:
<init-param> <param-name>path</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param>
之后获得Servlet初始化参数
// 初始化参数 String path = servletConfig.getInitParameter("path"); System.out.println("path = " + path); Enumeration<String> initParameterNames = servletConfig.getInitParameterNames(); while(initParameterNames.hasMoreElements()){ System.out.println(initParameterNames.nextElement()); }
之后,启动服务器
点击运行按钮。
运行的结果:
(2)ServletContext(全局上下文对象)
说明:一个web项目只有一个ServletContext对象。
所有的servlet(每次有一个新的功能就会有一个servlet对象)共享一个ServletContext对象。
ServletContext对象是由服务器启动的时候,Tomcat来创建的。
获取ServletContext对象的方式:
通过ServletConfig来获取
通过request来获取(常用)
ServletContext servletContext = servletRequest.getServletContext();
System.out.println("servletContext = " + servletContext);
ServletContext的功能:
获取项目的上下文路径
String contextPath = servletContext.getContextPath();
System.out.println("contextPath = " + contextPath);
获取虚拟路径所映射的本地真实路径(由相对路径得到绝对路径)
String realPath = servletContext.getRealPath("/haha"); System.out.println("realPath = " + realPath);
获取WEB应用程序的全局初始化参数
首先,先创建全局初始化参数,设置的位置在“web.xml”中的跟结点下,例如:
<context-param> <param-name>servletContextInitParamKey</param-name> <param-value>servletContextInitParamValue</param-value> </context-param>
调用全局初始化参数的函数,如下:
String servletContextInitParamKey = servletContext.getInitParameter("servletContextInitParamKey"); System.out.println("servletContextInitParamKey = " + servletContextInitParamKey); Enumeration<String> initParameterNames = servletContext.getInitParameterNames(); while (initParameterNames.hasMoreElements()){ System.out.println("initParameterNames.nextElement() = " + initParameterNames.nextElement()); }
作为域对象共享数据:
域对象:在一定的作用域(范围)能够被共享数据的对象。
相关文章
- 文件上传接入阿里云OSS
- SpringBoot接入阿里云oss
- pycharm注释出错的原因是什么
- pycharm中进行文档查询
- pycharm怎样在书签上加备注?
- 语法限制在pycharm中解除
- pycharm中添加动作或者分隔符
- 关于pycharm断点调试的两个方法
- pycharm界面中有哪些功能?
- 断点在pycharm中有哪些类型
- pycharm中表达式的值查看
- pycharm调试模块的功能有哪些
- pycharm中单步调试的按键有哪些?
- pycharm中debug调试进入有哪些方法?
- pycharm中如何添加函数及参数?
- pycharm中如何在文件头设置路径?
- 如何下载安装pycharm并将其汉化?
- python Matplotlib有哪些图形画法?
- java StringBuilder是什么
- 微软发布Windows11第一个ISO文件