主题:JSP登陆页无法登陆跳转?帮帮我啊
我的数据库有两个studentdb(学号,密码)和teacherdb(教师号,密码)
登陆页login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312" errorPage="error/error.jsp"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<table width="100%" height="80" border="0" align="center">
<tr>
<td width="100%" height="74" colspan="0" align="center" valign="middle">上传实验报告从这里开始。。。。<br></td>
</tr>
</table>
<form name="form1" method="post" action="logincheck.jsp">
<table width="320" height="*" border="0" align="center" cellspacing="0">
<tr align="center">
<td height="50" align="right">用户名:</td>
<td width="39" align="left">
<input type="text" name="username"/>
</td>
</tr>
<tr align="center">
<td height="50" align="right">密 码:</td>
<td width="39" align="left">
<input type="password" name="password"></td>
</tr>
<tr align="center">
<td height="50" align="right">角 色:</td>
<td height="39" align="left">
<input type="radio" name="role" value="xuesheng">学生<input type="radio" name="role" value="jiaoshi" checked="checked">教师 </td>
</tr>
<tr>
<td height="27" colspan="2" align="center" > <input name="Submit" type="submit" value="登录">
</tr>
</table>
</form>
</body>
</html>
在logincheck.jsp页面中做判断。如果我选择的是学生这个权限,那么就选择studentdb并判断用户名和密码是否正确,假如是正确的,那么跳转到studentmain.jsp页面,否则给出提示。 如果选择的教师,那么就选择teacherdb并判断用户名和密码是否正确,假如正确,那没跳转到teachermain.jsp页面。否则给出提示。
我做了好久,也看了书,但就是做不出来,高手帮帮我啊。小弟在此先谢谢了!
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<jsp:useBean id="dcm" class="test.util.DBConnectionManager"></jsp:useBean>
<%
String userid=(String)request.getParameter("userid"); //定义要获取的用户名
String userpwd=(String)request.getParameter("userpwd"); //定义要获取的密码
String role=(String)request.getParameter("role"); //定义角色
String sql="";
int flag=0;
//定义一个断点,并付初值
try{
Connection conn = dcm.getConnection(); //数据库连接
Statement stmt=conn.createStatement();
if(role.equals("xuesheng")){
sql="select 学号,密码 from studentdb";
ResultSet rs=stmt.executeQuery(sql);
//查询数据库
while(rs.next()){ //判断输入的值与数据库中的值是否一致
if(userid.equals(rs.getString(1))&&userpwd.equals(rs.getString(2)))
flag=1;
}
}
else
if(role.equals("jiaoshi")){
sql="select 教师号,密码 from teacherdb";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){ //判断输入的值与数据库中的值是否一致
if(userid.equals(rs.getString(1))&&userpwd.equals(rs.getString(2)))
flag=1; //如果获取的用户名和密码跟输入的值一致则跳转断点
}
}
}
catch(Exception e){
e.printStackTrace();
}
if(flag==1&&role.equals("xuesheng")){
session.putValue("userid",userid);
session.putValue("userpwd",userpwd);
session.putValue("role",role);
//跳转到index.jsp页面
%>
<jsp:forward page="studentmain.jsp"></jsp:forward>
<%
}
else if(flag==1&&role.equals("jiaoshi")){
session.putValue("userid",userid);
session.putValue("userpwd",userpwd);
session.putValue("role",role);
%>
<jsp:forward page="teachermain.jsp"></jsp:forward>
<%
}
else{
session.setAttribute("error","请检查您的用户名和密码!");
%>
<jsp:forward page="error/errorpage.jsp"></jsp:forward>
<%
}
%>
登陆页login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gb2312" errorPage="error/error.jsp"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<table width="100%" height="80" border="0" align="center">
<tr>
<td width="100%" height="74" colspan="0" align="center" valign="middle">上传实验报告从这里开始。。。。<br></td>
</tr>
</table>
<form name="form1" method="post" action="logincheck.jsp">
<table width="320" height="*" border="0" align="center" cellspacing="0">
<tr align="center">
<td height="50" align="right">用户名:</td>
<td width="39" align="left">
<input type="text" name="username"/>
</td>
</tr>
<tr align="center">
<td height="50" align="right">密 码:</td>
<td width="39" align="left">
<input type="password" name="password"></td>
</tr>
<tr align="center">
<td height="50" align="right">角 色:</td>
<td height="39" align="left">
<input type="radio" name="role" value="xuesheng">学生<input type="radio" name="role" value="jiaoshi" checked="checked">教师 </td>
</tr>
<tr>
<td height="27" colspan="2" align="center" > <input name="Submit" type="submit" value="登录">
</tr>
</table>
</form>
</body>
</html>
在logincheck.jsp页面中做判断。如果我选择的是学生这个权限,那么就选择studentdb并判断用户名和密码是否正确,假如是正确的,那么跳转到studentmain.jsp页面,否则给出提示。 如果选择的教师,那么就选择teacherdb并判断用户名和密码是否正确,假如正确,那没跳转到teachermain.jsp页面。否则给出提示。
我做了好久,也看了书,但就是做不出来,高手帮帮我啊。小弟在此先谢谢了!
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<jsp:useBean id="dcm" class="test.util.DBConnectionManager"></jsp:useBean>
<%
String userid=(String)request.getParameter("userid"); //定义要获取的用户名
String userpwd=(String)request.getParameter("userpwd"); //定义要获取的密码
String role=(String)request.getParameter("role"); //定义角色
String sql="";
int flag=0;
//定义一个断点,并付初值
try{
Connection conn = dcm.getConnection(); //数据库连接
Statement stmt=conn.createStatement();
if(role.equals("xuesheng")){
sql="select 学号,密码 from studentdb";
ResultSet rs=stmt.executeQuery(sql);
//查询数据库
while(rs.next()){ //判断输入的值与数据库中的值是否一致
if(userid.equals(rs.getString(1))&&userpwd.equals(rs.getString(2)))
flag=1;
}
}
else
if(role.equals("jiaoshi")){
sql="select 教师号,密码 from teacherdb";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){ //判断输入的值与数据库中的值是否一致
if(userid.equals(rs.getString(1))&&userpwd.equals(rs.getString(2)))
flag=1; //如果获取的用户名和密码跟输入的值一致则跳转断点
}
}
}
catch(Exception e){
e.printStackTrace();
}
if(flag==1&&role.equals("xuesheng")){
session.putValue("userid",userid);
session.putValue("userpwd",userpwd);
session.putValue("role",role);
//跳转到index.jsp页面
%>
<jsp:forward page="studentmain.jsp"></jsp:forward>
<%
}
else if(flag==1&&role.equals("jiaoshi")){
session.putValue("userid",userid);
session.putValue("userpwd",userpwd);
session.putValue("role",role);
%>
<jsp:forward page="teachermain.jsp"></jsp:forward>
<%
}
else{
session.setAttribute("error","请检查您的用户名和密码!");
%>
<jsp:forward page="error/errorpage.jsp"></jsp:forward>
<%
}
%>