获取登录名和密码的问题

ssssdddddddddddd 2009-07-30 05:25:36
我的提交页面为:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<form name="form2" method="post" action="check.jsp"/>
   <a href="index.jsp">雨过天晴首页</a>         
用户名 <input type="text" name="username" size="10" />  
密 码 <input type="password" name="pwd" size="10" /> 
<input type="submit" value="登录" />
</form>
</html>


我的check.jsp页面为:
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%
//获取提交的用户名和密码
request.setCharacterEncoding("gb2312");
String username=request.getParameter("username");
String pwd=request.getParameter("pwd");
Connection conn=null;
Statement st=null;
ResultSet rs=null;
String driver="com.mysql.jdbc.Driver";
String dbUrl="jdbc:mysql://localhost:3306/UserDB";
String dbUser="root";
String dbpwd="12345678";
Class.forName(driver);
conn=DriverManager.getConnection(dbUrl,dbUser,dbpwd);
st=conn.createStatement();
String sql="select pwd from userinfo where username='"+username+"'";
rs=st.executeQuery(sql);
//判断用户是否存在
while(rs.next())
{
if(pwd.equals(rs.getString("pwd")))
{
session.setAttribute("name",username);
response.sendRedirect("index.jsp");
}
else
{
out.println("用户名或密码错误!!请重新<a href=index.jsp>登录</a>");
}
}
//关闭 结果集 会话 和 连接
rs.close();
st.close();
conn.close();
%>


提交过去页面没反映,就是空白一片,如果提交的页面是其他页面都行,不知道我代码到底什么问题··谢谢了
...全文
221 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
longtenggdf 2009-07-30
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yehuai1990 的回复:]
我给你做一个给你参考你看行不咯

实体类
Class User{
  private String name;
  private String pwd;

  生成Get和Set方法
}

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<form name="form2" method="post" action="check.jsp"/>
   <a href="index.jsp">雨过天晴首页 </a>         
用户名 <input type="text" name="username" size="10" />  
密  码 <input type="password" name="pwd" size="10" /> 
<input type="submit"  value="登录"  />
</form>
</html>


<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%
//获取提交的用户名和密码
request.setCharacterEncoding("gb2312");
String username=request.getParameter("username");
String pwd=request.getParameter("pwd");
Connection conn=null;
Statement st=null;
ResultSet rs=null;
String driver="com.mysql.jdbc.Driver";
String dbUrl="jdbc:mysql://localhost:3306/UserDB";
String dbUser="root";
String dbpwd="12345678";
Class.forName(driver);
conn=DriverManager.getConnection(dbUrl,dbUser,dbpwd);
st=conn.createStatement();
String sql="select pwd from userinfo where username='"+username+"'";
rs=st.executeQuery(sql);
//判断用户是否存在
while(rs.next())
{
User user=new User();
  if(username.equals(user.getName()))
  {
  session.setAttribute("name",username);
request.getRequestDispatcher("index.jsp").forward(request, response);  }
else
{
    out.println("用户名或密码错误!!请重新 <a href=index.jsp>登录 </a>");
}
}
//关闭 结果集 会话 和 连接
rs.close();
st.close();
conn.close();
%>

[/Quote]

你这里面写个实体类是想干什么呢,都没见你把数据库取出来数据封装进去。
ssssdddddddddddd 2009-07-30
  • 打赏
  • 举报
回复
嗯,谢谢楼上的,我的问题解决了的,·
我那代码后来就可以了,代码是没有错的··
具体原因我上面说了··我也不是很清楚
roger_lmj 2009-07-30
  • 打赏
  • 举报
回复
我记得】
response.sendRedirect();是在浏览器端跳转不传参数的样

你用request.getRequestDispatcher("").forward(request,response)试试
你也可以用jsp+javaBean+servlet来做分离
代码到没撒问题你的indext.jsp里有内容不


peng__luo 2009-07-30
  • 打赏
  • 举报
回复
代码修改之后,都要重新部署一下,得到空值,每次都得到空值,可能是没部署
lyfzwx 2009-07-30
  • 打赏
  • 举报
回复
强悍
yehuai1990 2009-07-30
  • 打赏
  • 举报
回复
我给你做一个给你参考你看行不咯

实体类
Class User{
private String name;
private String pwd;

生成Get和Set方法
}

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<form name="form2" method="post" action="check.jsp"/>
   <a href="index.jsp">雨过天晴首页 </a>         
用户名 <input type="text" name="username" size="10" />  
密 码 <input type="password" name="pwd" size="10" /> 
<input type="submit" value="登录" />
</form>
</html>



<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<%
//获取提交的用户名和密码
request.setCharacterEncoding("gb2312");
String username=request.getParameter("username");
String pwd=request.getParameter("pwd");
Connection conn=null;
Statement st=null;
ResultSet rs=null;
String driver="com.mysql.jdbc.Driver";
String dbUrl="jdbc:mysql://localhost:3306/UserDB";
String dbUser="root";
String dbpwd="12345678";
Class.forName(driver);
conn=DriverManager.getConnection(dbUrl,dbUser,dbpwd);
st=conn.createStatement();
String sql="select pwd from userinfo where username='"+username+"'";
rs=st.executeQuery(sql);
//判断用户是否存在
while(rs.next())
{
User user=new User();
if(username.equals(user.getName()))
{
session.setAttribute("name",username);
request.getRequestDispatcher("index.jsp").forward(request, response); }
else
{
out.println("用户名或密码错误!!请重新 <a href=index.jsp>登录 </a>");
}
}
//关闭 结果集 会话 和 连接
rs.close();
st.close();
conn.close();
%>
ssssdddddddddddd 2009-07-30
  • 打赏
  • 举报
回复
嗯,什么都没改,就是对页面就行刷新而已·
第一次显示为null后,后来我就把那句注释掉了··
wzju64676266 2009-07-30
  • 打赏
  • 举报
回复
那你修改后有没有重新启动web服务器啊
ssssdddddddddddd 2009-07-30
  • 打赏
  • 举报
回复
我在最开始加了句out.println(request.getParameter("username"));·
·第一次显示过去为null··第二次我再重新登录就对了··
以前一直都这样登录的但就空白··
,代码是分明真的没问题滴嘛···
郁闷郁闷··这种难道是错误????什么错误·哦?
嗨,不懂··还是谢谢楼上的提醒总算弄出来了
minglois 2009-07-30
  • 打赏
  • 举报
回复
问题解决没有啊,关注学习下
longtenggdf 2009-07-30
  • 打赏
  • 举报
回复
String sql="select pwd from userinfo where username='"+username+"'";
rs=st.executeQuery(sql);

执行出来 如果你数据库中不存在用户名=username这条数据的话。还是一样的
longtenggdf 2009-07-30
  • 打赏
  • 举报
回复
应该是楼上说的原因。遇到这种问题你可以在代码里面加一些打印语句,看到底提交过去没有。用Eclipse的话可以debug一下,就能很快找出问题的所在了。
ssssdddddddddddd 2009-07-30
  • 打赏
  • 举报
回复
嗯,前提是满足条件···我原本还有这样的语句
request.setCharacterEncoding("gb2312");
String username=request.getParameter("username");
String pwd=request.getParameter("pwd");
if(username==null||pwd==null)
{
out.println("```");
return;
}
也没有反映··只有跳转,然后空白一片··
fightbackbaby 2009-07-30
  • 打赏
  • 举报
回复
while(rs.next())这句不满足的话,if跟else里面的代码就都不会执行了,也就没有结果了

81,116

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧