login.jsp :
<%@page contentType="text/html;charset=gbk" %>
<%@page language="java" import="java.util.*" %>
<%@page language="java" %>
<%
String sUsername = (String)session.getAttribute("username");
if ( sUsername == null )
{
sUsername = "";
}
String sRole = (String)session.getAttribute("role");
if ( sRole == null )
{
sRole = "0";
}
%>
<html>
<head>
<title>请登录选课系统</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="JAVASCRIPT" src="common/cmnScript.js"></script>
<script language="JAVASCRIPT" src="login.js"></script>
<link rel="stylesheet" type="text/css" href="common\cmnStyle.css" TITLE="common"></link>
<script language="JAVASCRIPT">
<%
if ( session.getAttribute("errMsg") != null )
{
%>
var sErrMsg = "<%=session.getAttribute("errMsg")%>";
<%
}
else
{
%>
var sErrMsg = "";
<%
}
%>
</script>
</head>
<body>
<table border=0 cellpadding=0 cellspacing=0 height=100>
<tr>
<td>
</td>
</tr>
</table>
<form name="form_main" action="Login" method="post"
οnsubmit="return checkInput();" οnreset="resetForm()">
<table border=0 cellpadding=0 cellspacing=2 bgcolor="#000000" align=center>
<tr>
<td>
<table border=0 cellpadding=0 cellspacing=0 bgcolor="#ffffff" width=300>
<tr>
<td>
<br> 请输入用户名和密码并选择用户种别:
</td>
</tr>
<tr>
<td height=5></td>
</tr>
<tr>
<td align=center>
<table border=0 cellpadding=0 cellspacing=0 bgcolor="#ffffff">
<tr>
<td align=right>用户名:</td>
<td>
<input type="text" name="username" length=10 maxlength=20 value="<%=sUsername%>"></input>
</td>
</tr>
<tr>
<td align=right>密码:</td>
<td>
<input type="password" name="password" length=10 maxlength=20></input>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height=5></td>
</tr>
<tr>
<td align=center>
<input type="radio" name="role" value="0" style="border-width: 0px;"
<%
if( sRole.equals("0") )
{
%>
checked
<%
}
%>
>学生
<input type="radio" name="role" value="1" style="border-width: 0px;"
<%
if( sRole.equals("1") )
{
%>
checked
<%
}
%>
>教师
</td>
</tr>
<tr>
<td height=5></td>
</tr>
<tr>
<td align=center>
<input type="submit" value="登录"></input>
<input type="reset" value="清除"></input>
</td>
</tr>
<tr>
<td height=10></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</body>
</html>
--------------------------------------------
login.js
window.onload = windowLoad;
//---------------------------------
//ҳ������ʱ����
function windowLoad()
{
cmnWindowLoad();
form_main.username.focus();
}
//��reset��ʱ����Ҫ���������
function resetForm()
{
form_main.username.focus();
}
//��¼ǰ�ļ��
function checkInput()
{
//����û���
if ( form_main.username.value.length < 1 )
{
form_main.username.focus();
form_main.username.select();
alert("�û�������Ϊ�գ�");
return false;
}
if ( getLength(form_main.username.value)>20 )
{
form_main.username.focus();
form_main.username.select();
alert("�û������Ȳ��ܳ���20����dz��ȡ�");
return false;
}
//�������
if ( form_main.password.value.length < 1 )
{
form_main.password.focus();
form_main.password.select();
alert("���벻��Ϊ�գ�");
return false;
}
if ( getLength(form_main.password.value)>20 )
{
form_main.password.focus();
form_main.password.select();
alert("���볤�Ȳ��ܳ���20����dz��ȡ�");
return false;
}
return true;
}
--------------------------------------------------------
package com.lyq;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import java.sql.*;
/**
* Servlet implementation class Common
*/
@WebServlet("/Common")
public class Common extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Common() {
super();
// TODO Auto-generated constructor stub
}
public Connection getDBConnection()
{
//尝试连接数据库
try
{
Class.forName("com.mysql.jdbc.Driver");
// 数据库连接字符串
String url = "jdbc:mysql://localhost:3306/db_1";
// 数据库用户名
String username = "root";
// 数据库密码
String password = "";
// 创建Connection连接
Connection conn = DriverManager.getConnection(url,username,password);
return conn;
}
catch(Exception ex)
{
ex.printStackTrace();
return null;
}
}
}
------------------------------------
servlet类:
package com.lyq;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.*;
import java.util.Hashtable;
import java.sql.*;
/**
* Servlet implementation class Login
*/
@WebServlet("/Login")
public class Login extends Common {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Login() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//设置提交表单的中文编码
request.setCharacterEncoding("GBK");
HttpSession mySession = request.getSession(true);
//清空错误消息
mySession.setAttribute("errMsg","");
//是否进入默认页面
if ( !request.getParameterNames().hasMoreElements() )
{
response.sendRedirect("../login.jsp");
return;
}
//得到用户输入信息
String sUsername = request.getParameter("username");
String sPassword = request.getParameter("password");
String sRole = request.getParameter("role");
//如果用户是提交表单
if ( sUsername != null && sUsername.length() > 0 )
{
//校验用户输入信息
String sRealname = getUserRealname( sUsername, sPassword, sRole );
if ( sRealname == null )
{
//出错了设置变量并重新显示
mySession.setAttribute( "errMsg", "登录失败!请重新输入相关信息!" );
mySession.setAttribute( "username", sUsername );
mySession.setAttribute( "role", sRole );
response.sendRedirect("../login.jsp");
return;
}
else
{
mySession.setAttribute( "username", sUsername );
mySession.setAttribute( "realname", sRealname );
//根据用户角色的不同决定迁移到哪个页面
if ( sRole.equals( "0" ) )
{
//学生角色则迁移到选课一览页面
response.sendRedirect( "../question_1.1.jsp" );
// 不可以用 response.sendRedirect( "question_1.1.jsp" );
//可以用 request.getRequestDispatcher("../question_1.1.jsp").forward(request, response);
}
else
{
//教师角色则迁移到选课结果一览页面
response.sendRedirect( "../Adminst_charutimu_1.jsp" );
}
return;
}
}
//如果用户非法进入这个页面
else
{
response.sendRedirect("../login.jsp");
return;
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet( request, response );
}
private String getUserRealname(String sUsername, String sPassword, String sRole)
{
//获得数据库连接
Connection conn = this.getDBConnection();
if ( conn == null )
{
return null;
}
Statement stmt = null;
ResultSet rs = null;
try
{
stmt = conn.createStatement();
//执行SQL语句
String sQuery = "select * from user where username='" + sUsername + "' "
+ "and password='" + sPassword + "' and role='" + sRole + "' ";
rs = stmt.executeQuery( sQuery );
String sRealname = null;
if ( rs.next() )
{
sRealname = rs.getString( "realname" );
}
return sRealname;
}
catch(Exception e)
{
e.printStackTrace();
return null;
}
finally
{
try
{
rs.close();
stmt.close();
conn.close();
}catch(Exception ex)
{
}
}
}
}
------------------------------------------