ServletConfig类是Servlet程序的配置信息类。
ServletConfig类的三大作用
1、可以获取Servlet程序的别名servlet-name的值
System.out.println("HelloServlet程序的别名"+servletConfig.getServletName());
2、获取初始化参数 init-param
System.out.println("初始化参数username的值是:"+servletConfig.getInitParameter("username"));
System.out.println("初始化参数url的值是:"+servletConfig.getInitParameter("url"));
3、获取ServletContext对象
System.out.println(servletConfig.getServletContext());
显示截图
补充说明
servlet程序和ServletConfig对象都是由Tomcat负责创建,我们负责使用。
Servlet程序默认是第一次访问的时候创建,ServletConfig是每个Servlet程序创建时,就创建一个对应的ServletConfig对象
重写init方法是,必须用super()继承父类。
ServletContext类
什么是ServletContext?
1、ServletContext是一个接口,它表示Servlet上下文对象
2、一个web工程,只有一个ServletContext对象实例
3、ServletContext对象是一个域对象
4、ServletContext是在web工程部署启动的时候创建,在web工程停止的时候销毁
什么是域对象?
域对象,是可以像Map一样存取数据的对象,叫域对象。
这里的域指的是存取对象的操作范围,整个web工程
ServletContext类的四个作用
1、获取web.xml中配置的上下文参数context-param
ServletContext context= getServletConfig().getServletContext();
String password=context.getInitParameter("password");
System.out.println("param"+password);
2、获取当前的工程路径,格式:/工程路径(如果为空,就是部署在了根目录上)
System.out.println("当前工程路径:"+context.getContextPath());
3、获取工程部署后在服务器硬盘上的绝对路径
System.out.println("工程部署的路径"+context.getRealPath("/"));
4、像Map一样存取数据
servlet1①
ServletContext context= getServletContext();
System.out.println("定义前域对象key1值:"+context.getAttribute("key1"));
context.setAttribute("key1","value1");
System.out.println("定义后域对象key1值:"+context.getAttribute("key1"));
servlet2②
ServletContext context=getServletContext();
System.out.println("servlet2域对象key1值:"+context.getAttribute("key1"));
先运行① 后运行②
null value1 value1
先运行② 在运行① 在运行②
null null value1 value1
标签:Javaweb,对象,ServletConfig,ServletContext,System,context,println,Servlet,out From: https://www.cnblogs.com/gbrr/p/17060984.html