学生与管理员的登陆界面
一.准备数据库
我用的数据库是Mysql,准备两个表student和manager
创建JAVA文件basicLogin.java
package Basic;
import Model.Student;
import java.awt.*;
import java.awt.Color;
import java.awt.event.*;
import java.awt.Image;
import javax.swing.*;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import java.net.URISyntaxException;
import java.sql.ResultSet;
import javax.swing.JOptionPane;
import java.net.URI;
import java.io.IOException;
import java.sql.SQLException;
import javax.swing.JButton;
public class basicLogin implements ActionListener,KeyListener,MouseListener, WindowListener
{
public static String student_ID;
JFrame f = new JFrame("登录");
JButton empty = new JButton("重置");
JTextField zhanghu = new JTextField("", 10);
JPasswordField mima = new JPasswordField("", 10);
JButton log_in = new JButton("登录");
JButton web_button = new JButton("管理员登录");
JLabel copyright = new JLabel("Copy Copyright © 2019 All rights reserved.");
ResultSet rst;
public ResultSet Log_in()
{
log_in.setBackground(Color.blue);
empty.setBackground(Color.blue);
log_in.setBounds(800,250,100,25);
Panel p=new Panel();
Panel logPanel=new Panel();
logPanel.setLayout(null);
ImageIcon icon =new ImageIcon(".\\pic\\背景1.png");
icon.setImage(icon.getImage().getScaledInstance(icon.getIconWidth(),
icon.getIconHeight(), Image.SCALE_DEFAULT));
JLabel l3=new JLabel();
JLabel l33=new JLabel("说明:【密码找回】 【解决无法登录问题】");
l33.setForeground(new Color(0,0,205));
JLabel l4=new JLabel("1.用户名:(1)教工用户名为职工号或别名,");
JLabel l44=new JLabel ("如工号有问题请咨询人事处。");
JLabel l5=new JLabel("(2)学生用户名为学号。2.密码:");
JLabel l55=new JLabel("(1)首次登录:初始密码为本人身份证号后六位(字母大写)。");
JLabel l6=new JLabel("(2)学生使用应用门户密码(即选课密码)登陆;");
JLabel l7=new JLabel("3.服务电话:学生86604835,教师86609104,或QQ");
l33.setBounds(740,300,400,20);
l4.setBounds(740,330,400,20);
l5.setBounds(740,360,400,20);
l55.setBounds(740,390,400,20);
l6.setBounds(740,420,400,20);
web_button.setBounds(0,500,300,15);
web_button.setBackground(Color.WHITE);
web_button.addActionListener(this);
copyright.setBounds(390,500,400,15);
copyright.setBackground(Color.GRAY);
l3.setBounds(0, 0, 697, 501);
l3.setHorizontalAlignment(0);
l3.setIcon(icon);
f.setSize(500,500);
log_in.setForeground(Color.white);
empty.setForeground(Color.white);
JLabel l=new JLabel("用户名");
JLabel l1=new JLabel("密码");
l.setBounds(800,100,40,25);
zhanghu.setBounds(850,100,150,25);
l1.setBounds(805,150,40,25);
mima.setBounds(850,150,150,25);
empty.setBounds(920,250,120,25);
logPanel.add(l);
logPanel.add(zhanghu);
logPanel.add(l1);
logPanel.add(mima);
logPanel.add(log_in);
logPanel.add(empty);
logPanel.add(l3);
logPanel.add(l33);
logPanel.add(l4);
logPanel.add(l44);
logPanel.add(l5);
logPanel.add(l55);
logPanel.add(l6);
logPanel.add(copyright);
logPanel.add(web_button);
f.add(logPanel);
f.pack();
f.setVisible(true);
log_in.addActionListener(this);
empty.addActionListener(this);
mima.addMouseListener(this);
zhanghu.addMouseListener(this);
f.setBounds(100,100,1100,550);
f.addWindowListener(this);
f.setResizable(false);
return rst;
}
@Override
public void windowActivated(WindowEvent e)
{
// TODO Auto-generated method stub
}
@Override
public void windowClosed(WindowEvent e)
{
// TODO Auto-generated method stub
}
@Override
public void windowDeactivated(WindowEvent e)
{
// TODO Auto-generated method stub
}
@Override
public void windowDeiconified(WindowEvent e)
{
// TODO Auto-generated method stub
}
@Override
public void windowIconified(WindowEvent e)
{
// TODO Auto-generated method stub
}
@Override
public void windowOpened(WindowEvent e)
{
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent e)
{
// TODO Auto-generated method stub
System.exit(0);
}
@Override
public void actionPerformed(ActionEvent arg)
{
// TODO Auto-generated method stub
boolean flag=true;
if(arg.getSource()==web_button)
{
Desktop desktop=Desktop.getDesktop();
try
{
desktop.browse(new URI("http://localhost:9000/real_six_war_exploded/loginForm.jsp"));
}
catch(URISyntaxException e)
{
e.printStackTrace();
}
catch(IOException e1)
{
e1.printStackTrace();
}
}
if(arg.getSource()==empty)
{
zhanghu.setText("");
mima.setText("");
}
else if(arg.getSource()==log_in)
{
String s1, s2;
s1 = zhanghu.getText().toString();
s2 = mima.getText().toString();
if (s1.equals("") || s2.equals(""))
{
JOptionPane.showMessageDialog(null, "账户或密码不能为空", "出错", JOptionPane.ERROR_MESSAGE);
zhanghu.setText("");
mima.setText("");
}
else
{
try
{
if(Student.login(s1,s2)== Student.SUCCEED)
{
JOptionPane.showMessageDialog(null, "登录成功");
student_ID=s1;
HomePage main = new HomePage();
main.SelectMenu();
}
else
{
JOptionPane.showMessageDialog(null, "账户和密码不匹配!");
}
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
}
@Override
public void mouseClicked(MouseEvent e)
{
// TODO Auto-generated method stub
if(e.getSource()==mima)
{
mima.setText(null);
}
else if(e.getSource()==zhanghu)
{
zhanghu.setText(null);
}
}
@Override
public void mouseEntered(MouseEvent e)
{
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e)
{
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent arg0)
{
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent arg0)
{
// TODO Auto-generated method stub
}
@Override
public void keyPressed(KeyEvent e)
{
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e)
{
// TODO Auto-generated method stub
}
@Override
public void keyTyped(KeyEvent e)
{
// TODO Auto-generated method stub
}
}
创建JAVA文件student.java
package Model;
import java.sql.*;
public class Student
{
private String studentid;
public String getStudentid()
{
return studentid;
}
public String getPassword()
{
return password;
}
public String getCollege()
{
return college;
}
public String getName()
{
return name;
}
public String getSex()
{
return sex;
}
public String getScore()
{
return score;
}
private String password;
private String college;
private String name;
private String sex;
private String score;
public static final int SUCCEED=0;
public static final int ID_ERROR=1;
public static final int PS_ERROR=2;
private static String url = "jdbc:mysql://localhost:3306/friend?useUnicode=true&characterEncoding=utf-8";
private static String user = "root";
private static String root_password = "123456";
//私有化构造函数,防止别人new本类的实例
public Student(String studentid,String password,String college, String name,String sex,String score)
{
this.studentid=studentid;
this.password=password;
this.college=college;
this.name=name;
this.sex=sex;
this.score=score;
}
//静态代码块,在类加载的时候执行,而且只执行一次
static
{
try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch (ClassNotFoundException e)
{
e.printStackTrace();
}
}
public static Connection getConn()
{
Connection conn = null;
try
{
conn = DriverManager.getConnection(url, user, root_password);
}
catch (SQLException e)
{
e.printStackTrace();
}
return conn;
}
public static void close(ResultSet rs, Statement stm, Connection conn)
{
if (rs != null)
{
try
{
rs.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
if (stm != null)
{
try
{
stm.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
if (conn != null)
{
try
{
conn.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
}
}
public static int login(String name,String password) throws SQLException
{
Connection conn=null;
Statement stm=null;
try
{
ResultSet rs=null;
conn = Student.getConn();
stm = conn.createStatement();
String sql = "select * from student";
rs = stm.executeQuery(sql);
while(rs.next())
{
if(name.equals(rs.getString(1)))
{
if(password.equals(rs.getString(2)))
{
return SUCCEED;
}
else
{
return PS_ERROR;
}
}
}
return ID_ERROR;
}
catch (SQLException e)
{
e.printStackTrace();
}
finally
{
Student.close(null,stm,conn);
}
return SUCCEED;
}
```创建管理员登陆文件loginForm.jsp
<%@ page import="java.util.Date" %>
<%@ page import="java.io.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body bgcolor="aqua">
<span style="font-size: xx-large; ">管理员</span>
<hr>
<span style="font-size: large; ">用户登录</span>
<%
String message= (String) request.getAttribute("message");
if(message!=null)
{
out.println(message);
}
%>
<form name="form2" action="LoginServlet" method="post">
<table align="center">
<tr>
<td>登录名称:<input type="text" name="ID" value=""></td>
</tr>
<tr>
<td>登录密码:<input type="text" name="password" value=""></td>
</tr>
<tr>
<td><input type="submit" name="" value="登录"></td>
<td><input type="reset" name="" value="重置"></td>
<td><a href="registerForm.jsp">注册</a>
</tr>
</table>
</form>
<hr>
<%
out.println("系统时间: "+new Date());
%>
<p><p>
<script>
</script>
</body>
</html>
运行结果
学生登陆界面管理员登陆界面