尚硅谷Java-web学习:Sevlet 2 - ServletConfig类
二、ServletConfig类
ServletConfig类从类名上来看,就知道是Servlet程序的配置信息类。
Servlet程序和ServletConfig对象都是由Tomcat负责创建,我们负责使用。ServletConfig是在init()方法的对象。
Servlet程序默认是第一次访问的时候创建,ServletConfig是每个Servlet程序创建时,就创建一个对应的ServletConfig对象。
1)ServletConfig类的三大作用
1.可以获取Servlet程序的别名servlet-name的值
2.获取初始化参数init-param
先配置web.xml: 在<servlet></servlet>便签中(<servlet-name>标签后)配置(可配置多个):
3.获取ServletContext对象
2)web.xml和Servlet程序源码
<!-- servlet 标签给 Tomcat 配置 Servlet 程序 --> <servlet> <!--servlet-name 标签 Servlet 程序起一个别名(一般是类名) --> <servlet-name>HelloServlet</servlet-name> <!--servlet-class 是 Servlet 程序的全类名--> <servlet-class>com.atguigu.servlet.HelloServlet</servlet-class> <!--init-param 是初始化参数--> <init-param> <!--是参数名--> <param-name>username</param-name> <!--是参数值--> <param-value>root</param-value> </init-param> <init-param> <!--是参数名--> <param-name>url</param-name> <!--是参数值--> <param-value>jdbc:mysql://localhost:3306/project1</param-value> </init-param> </servlet> <!--servlet-mapping 标签给 servlet 程序配置访问地址--> <servlet-mapping> <!--servlet-name 标签的作用是告诉服务器,我当前配置的地址给哪个 Servlet 程序使用--> <servlet-name>HelloServlet</servlet-name> <!-- url-pattern 标签配置访问地址 / 斜杠在服务器解析的时候,表示地址为:http://ip:port/工程路径 /hello 表示地址为:http://ip:port/工程路径/hello --> <url-pattern>/hello</url-pattern> </servlet-mapping>
@Override public void init(ServletConfig servletConfig) throws ServletException{ System.out.println("2、init初始化方法"); //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()); }
【注意】重写init方法时,一定要调用父类的init(ServletConfig)操作