InputStream in=application.getResourceAsStream("/WEB-INF/users.properties");目录不对吧,把users.properties放到%approot%/WEB-INF/classes/下然后InputStream in=application.getResourceAsStream(/users.properties");

解决方案 »

  1.   

    你在前面写了一大堆html再运行sendRedirect肯定有问题
      

  2.   

    应该是读文件有错吧,你把读出来的内容out出来看看
      

  3.   

    没一个对的,我的程序在jbuider9下运行,users.properties也放在项目中的WEB-INF目录底下,望大家运行调试好再回贴好吗?我将在一周后结帖,如无正确答案,我只好把这一百分收回了,不好意思.
      

  4.   

    解狐不会这麽敏感吧,问题我已解决,只需用trim()就行了,百分我收回了,再次感谢大家的关注
      

  5.   

    你先看看在
    <%if(request.getMethod().equalsIgnoreCase("POST"))
    {String username=request.getParameter("username");
     String password=request.getParameter("password");
    if(userIsValid(request,application,username,password))
      {response.sendRedirect("post.jsp");
       return;}
    else
     {%>
      <h2>未通过验证</h2>
     <%}
    代码中取得用户名和密码之后能不能显示
    估计没有什么问题
    如果能则问题就出在
    <%!public boolean userIsValid(HttpServletRequest request,
                                  ServletContext application,
                                  String username,
                                  String password)
    throws java.io.IOException
    {Properties users=new Properties();
    InputStream in=application.getResourceAsStream("/WEB-INF/users.properties");
    try{
        users.load(in);
        String fullname=users.getProperty("username");
        System.out.println(fullname);
        System.out.println(users.getProperty(username+".+password"));
        if(fullname!=null&&password.equals(users.getProperty(username+".+password")))
         {request.getSession(true).setAttribute("fullname",fullname);
          return true;}
        else{return false;}
       }
    finally{in.close();}
    }
    %>
    这个函数里边