config.getInitParameter()无法得到参数值
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
ServletConfig config=getServletConfig();
//创建ServletConfig对象
String value=config.getInitParameter("name");
System.out.println("value的值"+value);
//获得路径
Properties properties=new Properties();
//加载文本 获得流资源
properties.load(config.getServletContext().getResourceAsStream(value));
// 获得属性文件中的name和pass的值
String name=properties.getProperty("name");
String pass=properties.getProperty("pass");
// 从界面中获取用户输入的值
String username=request.getParameter("Username");
String password= request.getParameter("password");
// 将获得的值与属性文件的值进行比较
if(username.equals(name)&&password.equals(pass))
{
request.getRequestDispatcher("adminMain.jsp").forward(request,response);
}
else
{
request.getRequestDispatcher("admin/adminfaild.jsp").forward(request,response);
}
}
<span style="font-size:18px;"> String value=config.getInitParameter("name");</span>
为什么这句,得到的是null呢,下面我们看原因?它说找不到这个文件,那么看配置,的确少了。
解决:必须在web.xml中加载这个资源,正如这样
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>AdminServlet</servlet-name>
<servlet-class>com.cn.zhu.servlet.AdminServlet</servlet-class>
<init-param>
<param-name>name</param-name>
<param-value>/WEB-INF/config.properties</param-value>
</init-param>
</servlet>