public class ParamServlet extends HttpServlet {
String enc,enc2;
@Override
public void init() throws ServletException {
//【A】读取初始化参数
enc = this.getInitParameter("enc");
//【B】读取全局参数
enc2 = this.getServletContext().getInitParameter("enc2");
System.out.println("初始化参数:"+enc+"--全局参数:"+enc2);
}
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset="+enc);
}
}
读取参数的作用
[A]方便了后期的更改,不需要更改java代码
[B]方便了后期的维护
<servlet>
<servlet-name>ParamServlet</servlet-name>
<servlet-class>com.bjsxt.servlet.ParamServlet</servlet-class>
<!--初始化参数 只可以被当前的servlet进行读取-->
<init-param>
<param-name>enc</param-name>
<param-value>utf-8</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ParamServlet</servlet-name>
<url-pattern>/servlet/ParamServlet</url-pattern>
</servlet-mapping>
<!--全局参数 所有的servlet都可以进行参数读取-->
<context-param>
<param-name>enc2</param-name>
<param-value>GBK</param-value>
</context-param>