(1)为什么要在配置文件(如web.xml)设置参数?
若参数写定在程序中,这称为“硬编码”。用这种方法修改参数,需要修改源程序,重新编译。
在web.xml设置参数,web容器可以自动读取,成本较低。
(2)参数的种类及设定
参数种类:有2种
全局参数:所有Servlet都可以访问
局部参数:只有相应的Servlet才能访问
在Web.xml中配置全局参数(独立于Servlet):
<context-param>
<param-name>参数名</param-name>
<param-value>参数值</param-value>
</context-param>
全局参数的获取方法:
ServletContext application = this.getServletContext();
application.getInitParameter("参数名称");
在Web.xml中配置局部参数:
<servlet>
<servlet-name>Servlet 名称</servlet-name>
<servlet-class>Servlet 类路径</servlet-class>
<init-param>
<param-name>参数名</param-name>
<param-value>参数值</param-value>
</init-param>
</servlet>
局部参数的获取方法:
this.getInitParameter("参数名称");
说明:此处的 this 是指 Servlet 本身
使用注解在Servlet中配置局部参数:
@WebServlet(
initParams={
@WebInitParam(name="url", value="jdbc:mysql://localhost:3306/javaee"),
@WebInitParam(name="user", value="sue"),
@WebInitParam(name="pass", value="123456")
}
)