⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 login.java

📁 一个关于mysql、jsp、servlet的在线选课系统
💻 JAVA
字号:
/*
 * This product includes software developed by the
 * Apache Software Foundation (http://www.apache.org/).
 */
package ch04.servlet;

import java.io.*;
import java.util.Hashtable;
import java.sql.*;

import javax.servlet.*;
import javax.servlet.http.*;

import ch04.*;

/**
 * 针对登录页面的Servlet
 * @author ShenYK
 * @version 1.0
 */
public class Login extends Common
{
    public 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( "../servlet/ChooseCourse" );
                }
                else
                {
                    //教师角色则迁移到选课结果一览页面
                    response.sendRedirect( "../servlet/CourseList" );
                }
                return;
            }
        }
        //如果用户非法进入这个页面
        else
        {
            response.sendRedirect("../login.jsp");
            return;
        }
    }
    
    public 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)
            {
            }
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -