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>