登录页面:
<form action="logon/Validate" method="post">
<table align="center" width="280" border="1">
<tr>
<td colspan="2" align="center">文 件 管 理 系 统</td>
</tr>
<tr>
<td width="80" align="right">用户类型:</td>
<td>学生:<input type="radio" name="type" value="0" checked="checked">
教师:<input type="radio" name="type" value="1"></td>
</tr>
<tr>
<td align="right">用 户 名:</td>
<td><input type="text" name="username" size="20"></td>
</tr>
<tr>
<td align="right">用户密码:</td>
<td><input type="password" name="password" size="21"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="提交">
<input type="reset" value="重置">
</td>
</tr>
<tr>
<td colspan="2"><font color="#ff0000"><a href="/logon/register.jsp">注册新用户</a></font>
</td>
</table>
</form>
Servlet:
import java.io.IOException;
import com.Conn;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Validate extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
response.setContentType("text/html;charset=UTF-8");
String type=request.getParameter("type");
String username=request.getParameter("username");
String password=request.getParameter("password");
Conn con=new Conn();
//执行判断转向
if(con.judge(username, password, type)==1&&type.equals("1")){
request.setAttribute("username", username);
response.sendRedirect("teacher.jsp");
}
else if(con.judge(username, password, type)==1&&type.equals("0")){
request.setAttribute("username", username);
response.sendRedirect("student.jsp");
}
else{
response.sendRedirect("../error.htm");
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request,response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request,response);
}
}
javabean:
import java.sql.*;
public class Conn {
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
int pd=0;
public int judge(String username,String password,String type){
String sql="SELECT * FROM user where username='"+username+"' and password='"+password+"' and type='"+type+"'";
try {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://210.32.83.249:3306/fileup";
Connection conn=DriverManager.getConnection(url,"root","123456");
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
if(rs.next()){
pd=1;
}
} catch (Exception e) {
e.printStackTrace();
}
try {
rs.close();
stmt.close();
conn.close();
}
catch (Exception e) {
e.getMessage();
}
return pd;
}}
<form action="logon/Validate" method="post">
<table align="center" width="280" border="1">
<tr>
<td colspan="2" align="center">文 件 管 理 系 统</td>
</tr>
<tr>
<td width="80" align="right">用户类型:</td>
<td>学生:<input type="radio" name="type" value="0" checked="checked">
教师:<input type="radio" name="type" value="1"></td>
</tr>
<tr>
<td align="right">用 户 名:</td>
<td><input type="text" name="username" size="20"></td>
</tr>
<tr>
<td align="right">用户密码:</td>
<td><input type="password" name="password" size="21"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="提交">
<input type="reset" value="重置">
</td>
</tr>
<tr>
<td colspan="2"><font color="#ff0000"><a href="/logon/register.jsp">注册新用户</a></font>
</td>
</table>
</form>
Servlet:
import java.io.IOException;
import com.Conn;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Validate extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
response.setContentType("text/html;charset=UTF-8");
String type=request.getParameter("type");
String username=request.getParameter("username");
String password=request.getParameter("password");
Conn con=new Conn();
//执行判断转向
if(con.judge(username, password, type)==1&&type.equals("1")){
request.setAttribute("username", username);
response.sendRedirect("teacher.jsp");
}
else if(con.judge(username, password, type)==1&&type.equals("0")){
request.setAttribute("username", username);
response.sendRedirect("student.jsp");
}
else{
response.sendRedirect("../error.htm");
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request,response);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request,response);
}
}
javabean:
import java.sql.*;
public class Conn {
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
int pd=0;
public int judge(String username,String password,String type){
String sql="SELECT * FROM user where username='"+username+"' and password='"+password+"' and type='"+type+"'";
try {
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://210.32.83.249:3306/fileup";
Connection conn=DriverManager.getConnection(url,"root","123456");
stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
if(rs.next()){
pd=1;
}
} catch (Exception e) {
e.printStackTrace();
}
try {
rs.close();
stmt.close();
conn.close();
}
catch (Exception e) {
e.getMessage();
}
return pd;
}}
if(con.judge(username, password, type)==1&&type.equals("0"))没进去
说明con.judge(username, password, type)的返回值不是1,或type.equals("0")返回为假
或type.equals("0")返回为假,一步一步往前推就知道错误在什么地方了。。
System.out.println(con.judge(username, password, type));
System.out.println(type);
request.setAttribute("username", username);
response.sendRedirect("teacher.jsp");
}
else if(con.judge(username, password, type)==1&&type.equals("0"))
{
request.setAttribute("username", username);
response.sendRedirect("student.jsp");
}
else{
response.sendRedirect("../error.htm");
}
在红色部分输出到控制台看看con.judge(username, password, type)和type的值到底是什么就知道了!!!