在web.xml中配置Servlet时,可以配置一些初始化参数。而在Servlet中可以通过ServletConfig接口提供的方法来获取这些参数。(其实还可以通过ServletContext来获得参数,只不过ServletConfig获得的参数是容器启动的时候就初始化的,而ServletConfig是Servlet类调用init()函数的时候才初始化的)。
因为我们的初始哈参数是配置在servlet里面的,所以我们这里以username为例,我们假设要在我们的moonlit servlet中添加一个初始化属性username,我们可以在web.xml中对应的servlet中添加init-param属性,如下:
username
moonlit
完整的web.xml文件:
WebProject
moonlit
com.moonlit.MoonlitServlet
username
moonlit
moonlit
/getinit.do
然后我们就可以在moonlit servlet对应的类中通过getParameter()方法获得username这个初始化参数对应的值,如下:
String username = this.getInitParameter("username");
完成的MoonlitServlet类:
packagecom.moonlit;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class MoonlitServlet extendsHttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException {
PrintWriter out =resp.getWriter();
String username = this.getInitParameter("username");
out.println(""
+ "
moonlit servlet"+ "
" + username + ""+ "");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException {
this.doGet(req, resp);
}
}
然后我们可以通过对应的url-pattern访问到这个servlet对应的网页。
效果如下: