<context-param>
<param-name>param1</param-name>
<param-value>value1</param-value>
</context-param>
<context-param>
<param-name>param2</param-name>
<param-value>value2</param-value>
</context-param>
这些初始化参数便是整个servletContext的初始化参数,可以有多个,在整个web项目中都可以进行使用,现在一个servlet如果想用到这些初始化参数,只要用servletContext对象的getInitParameter()方法便可以得到这个servletContext的初始化参数
在MYservlet.java文件中可以通过这样的方式获得值:
public class MyServlet extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
ServletContext context=this.getServletContext(); //因为它继承自GenericServlet这个类,依据Tomcat版本不同,可能获取的方法会有些差异
String value1=context.getInitParameter("param1"); //通过.getInitParameter(String param)获取初始化参数值
System.out.println("context value1"+value1);
}
}
-------------------------------------------------------------------------------
</servlet>
<servlet-mapping>
<!--同上-->
<servlet-name>MyServlet</servlet-name>
<!--url指定访问时的路径,这里的/指的是相对于本项目,在浏览器进行访问时,URI 是:http://localhost:8080/servlet/myServlet-->
//端口号8080/servlet是我的项目名
<url-pattern>/myServlet</url-pattern>
</servlet-mapping>
在servlet.java中访问方式跟获取context-param中的参数可以比较:
//this指代当前对象
String uri=this.getInitParameter("uri"); //获取init-param中的value值
String driver=this.getInitParameter("driver"); //获取init-param中的value值
System.out.println("uri="+uri+" "+"driver="+driver); //打印输出
综上所述:
注意: context-param跟init-param里面的参数值只能有一个,多个会报错。
当我们想要整个web项目中的servlet都要用某一个value值时,可以将它设置成Context-param,这样可以简化代码;如果是单个servlet用的参数,设置成init-param,按需求来定。