在我的另一张帖中有注册的页面:
现在想做个登录的,用了3个jsp文件,如下:
(1)login.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>用户登录</title>
</head><body>
<form id="form1" name="form1" method="post" action="login_deal.jsp">
  用户名:
  <input name="username" type="text" id="username" />
  <br />
  <br />
  密&nbsp;&nbsp;码:
  <input name="pwd" type="text" id="pwd" />
  <br />
  <br />
  <input type="submit" name="Submit" value="提交" />
  <input type="reset" name="Submit2" value="重置" />
</form>
</body>
</html>
(2)login_deal.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>处理结果</title>
</head><body>
<%
request.setCharacterEncoding("gb2312");
String username=request.getParameter("UserID");
String pwd=request.getParameter("UserPWD");
if(!username.equals("") && !pwd.equals("")){
response.sendRedirect("login_ok.jsp");
}else{
response.sendError(500,"请输入登录验证信息");
}
%>
</body>
</html>
(3)login_ok.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>处理结果</title>
</head><body>
登录成功!
</body>
</html>

解决方案 »

  1.   

    String username=request.getParameter("UserID");
    String pwd=request.getParameter("UserPWD");
    if(!username.equals("") && !pwd.equals("")){看了这三行代码,我无语了。
    首先你的UserID你都没有,你怎么取值?你看看自己的定义<input name="username" type="text" id="username" />
     
    其次 (!username.equals("") && !pwd.equals(""))你这样比较就不对。username如果为null,那么你使用这个方法就是抛空指针异常。。
      

  2.   

    从健壮性上考虑,可以改下你代码,加个value=""<input name="username" type="text" id="username" value="" />
    <input name="pwd" type="text" id="pwd" value="" />真正不出结果,是你
    request.getParameter("UserID");有错误,入参应该是name="username"中的username,改成一下就OKString username=request.getParameter("username");
    String pwd=request.getParameter("pwd");
      

  3.   


    String username=request.getParameter("username");
    String pwd=request.getParameter("pwd");
      

  4.   

    我把注册页面改了下:
    <%@ page contentType="text/html;charset=GBK" %>
    <%
    request.setCharacterEncoding("GBK");
    String strUserName ="";
    String strUserPWD ="";
    String strUserSex="";
    String strUserBlood="";
    String strUserChar="";
    String strUserMemo="";
    String strUserCity="";
    strUserName=request.getParameter("UserID");
    strUserPWD=request.getParameter("UserPWD");
    session.setAttribute("a", request.getParameter("UserID"))
    session.setAttribute("b", request.getParameter("UserPWD"))
    strUserSex=request.getParameter("SEX");
    strUserBlood=request.getParameter("BLOOD");
    strUserChar=request.getParameter("CHATACTER");
    strUserMemo=request.getParameter("MEMO");
    strUserCity=request.getParameter("CITY");
    %>
    以下为您的信息<br>
    姓名:<%=strUserName%><br>
    密码:<%=strUserPWD%><br>
    性别:<%=strUserSex%><br>
    血型:<%=strUserBlood%><br>
    性格:<%=strUserChar%><br>
    简介:<%=strUserMemo%><br>
    城市:<%=strUserCity%><br><br>
    恭喜你成为本网站的用户,请<A href="login.jsp">登录</A>进入本站首页报告了错误
    org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 13 in the jsp file: /register.jsp
    Syntax error, insert ";" to complete Statement
    10: String strUserCity="";
    11: strUserName=request.getParameter("UserID");
    12: strUserPWD=request.getParameter("UserPWD");
    13: session.setAttribute("a", request.getParameter("UserID"))
    14: session.setAttribute("b", request.getParameter("UserPWD"))
    15: strUserSex=request.getParameter("SEX");
    16: strUserBlood=request.getParameter("BLOOD");
    login_deal.jsp页面也改了下:<%@ page contentType="text/html; charset=gb2312" language="java" errorPage="" %><html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>处理结果</title>
    </head><body>
    <%
    request.setCharacterEncoding("gb2312");
    String username=request.getParameter("username");
    String pwd=request.getParameter("pwd");
    if(session.getAttribute("a")=username&& session.getAttribute("b")=pwd){
    response.sendRedirect("login_ok.jsp");
    }else{
    response.sendError(500,"请输入登录验证信息");
    }
    %>
    </body>
    </html>
      

  5.   

    原来要改成这样啊
    if(session.getAttribute("a").equals(username)&& session.getAttribute("b").equals(pwd)){
    response.sendRedirect("login_ok.jsp");