ServletConfig类的说明
Servlet程序和ServletConfig对象都是由Tomcat负责创建,我们负责使用。
servlet
程序默认是第一次访问的时候创建,servletConfig
是每个Servlet
程序创建时,就创建一个对应的ServletConfig
对象,然后这个对象就会传到init这个方法里面供我们使用
作用:
config的意思即为配置,所以我们可以从名字上看出来这个类就是用来配置servlet的
它有三大作用:
可以获取Servlet程序配置的servlet-name的值
获取初始化参数init-param
获取SevletContext对象
他是出现在我们实现Servlet接口中的init方法里面的
获取Servlet程序配置的servlet-name的值
通过servletConfig
的getServletName()
方法,即servletConfig.getServletName()
这个东西会返回我们当前配置的servlet-name
值
获取初始化参数init-param
需要用到servletConfig的getInitParameter()方法
来,我们先来配置一个init-param标签,即初始化参数
在下图中param-name是用来配置参数名的,param-value是用来配置参数值的我们在servlet-name为hello_servlet的程序配置里面配置init-servlet,我们这里设置参数名为url参数值设置为jdbc:mysql:localhost:3306/test
然后成功打印出我们的结果
获取SevletContext对象
用servletConfig的getServletContext()方法
ServletConfig类在其他地方的使用
当然我们不止能在init的方法里面是引用,我们还可以在其他地方使用这个类
我们需要用到先使用getServletConfig()
这个方法来获取到ServletConfig对象
来,我们先换一个我们的类来操作操作
这个类是通过继承HttpServlet对象来实现的Servlet程旭,我们在doGet方法里面16行先获取一个servletConfig对象,然后后面我们就可以用这个对象了
这是我们hello_servlet2的配置
注意:
我们一个类的servletConfig的对象只能用于自身的类,不能访问到别的类上面也不能用到别的类上面
重写init方法
注意一个问题
在我们重写init的方法的时候记得在init方法里面的代码前面加上super.init(config);
这一句,不要忘了
来我搞个东西,我们还是在我们这个类里面,我们按Ctrl+O来选择我们的init方法进行重写
注意一开始的init方法是这个样子的注意这里有一个
super.init(config);
这一句,然后我们重写
重写后运行,可以看到虽然init里面的东西打印了但是页面却出现问题了,上面说24行出问题了,就是doGet里面的东西没法正常运行了
其实这就是super.init(config);
的问题,如果我们把这一句加在我们重写代码的前面就什么问题都会没有了