我的提交页面为:
<%@ 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();
%>
提交过去页面没反映,就是空白一片,如果提交的页面是其他页面都行,不知道我代码到底什么问题··谢谢了
<%@ 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();
%>
提交过去页面没反映,就是空白一片,如果提交的页面是其他页面都行,不知道我代码到底什么问题··谢谢了
request.setCharacterEncoding("gb2312");
String username=request.getParameter("username");
String pwd=request.getParameter("pwd");
if(username==null||pwd==null)
{
out.println("```");
return;
}
也没有反映··只有跳转,然后空白一片··
rs=st.executeQuery(sql); 执行出来 如果你数据库中不存在用户名=username这条数据的话。还是一样的
·第一次显示过去为null··第二次我再重新登录就对了··
以前一直都这样登录的但就空白··
,代码是分明真的没问题滴嘛···
郁闷郁闷··这种难道是错误????什么错误·哦?
嗨,不懂··还是谢谢楼上的提醒总算弄出来了
第一次显示为null后,后来我就把那句注释掉了··
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();
%>
response.sendRedirect();是在浏览器端跳转不传参数的样你用request.getRequestDispatcher("").forward(request,response)试试
你也可以用jsp+javaBean+servlet来做分离
代码到没撒问题你的indext.jsp里有内容不