TeacherManager
教师信息管理类,实现教师信息的增加,查看,删除。
package com.sjsq.service; import com.sjsq.model.Teacher; import com.sjsq.util.DB; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.sql.*; import java.util.ArrayList; import java.util.List; public class TeacherManager { public static boolean save(Teacher te) { Connection conn = DB.getConn(); String sql = null; boolean b = false; sql = "insert into teacher_info values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; PreparedStatement pstmt = DB.prepare(conn, sql); try { pstmt.setString(1, te.getNumber()); pstmt.setString(2, te.getName()); pstmt.setString(3, te.getSex()); pstmt.setString(4, te.getDept()); pstmt.setString(5, te.getDegree()); pstmt.setString(6, te.getTitle()); pstmt.setShort(7, te.getRight()); pstmt.setString(8, te.getPhone()); pstmt.setString(9, te.getEmail()); pstmt.setString(10, te.getGroup()); pstmt.setString(11, te.getPassword()); pstmt.execute(); b = true; } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(pstmt); DB.close(conn); } return b; } public static int getTeachers(List<Teacher> teachers, int pageNo, int pageSize) { int totalRecords = -1; Connection conn = DB.getConn(); String sql = null; sql = "select * from teacher_info limit " + (pageNo - 1) * pageSize + "," + pageSize; Statement stmt = DB.getStatement(conn); ResultSet rs = DB.getResultSet(stmt, sql); Statement stmtCount = DB.getStatement(conn); ResultSet rsCount = null; rsCount = DB.getResultSet(stmtCount, "select count(*) from teacher_info"); try { rsCount.next(); totalRecords = rsCount.getInt(1); while (rs.next()) { Teacher teacher = new Teacher(); teacher.setEmail(rs.getString("temail")); teacher.setGroup(rs.getString("tgroup")); teacher.setName(rs.getString("tname")); teacher.setNumber(rs.getString("tno")); teacher.setPassword(rs.getString("tpassword")); teacher.setPhone(rs.getString("ttel")); teacher.setDept(rs.getString("tdept")); teacher.setSex(rs.getString("tsex")); teacher.setDegree(rs.getString("tdegree")); teacher.setRight(rs.getShort("tright")); teacher.setTitle(rs.getString("ttitle")); teachers.add(teacher); } } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rsCount); DB.close(stmtCount); DB.close(rs); DB.close(stmt); DB.close(conn); } return totalRecords; } public static boolean deleteByTno(String id) { boolean b = false; Connection conn = DB.getConn(); String sql = null; sql = "delete from teacher_info where tno = '" + id + "'"; Statement stmt = DB.getStatement(conn); try { DB.executeUpdate(stmt, sql); b = true; } catch (Exception e) { e.printStackTrace(); } finally { DB.close(stmt); DB.close(conn); } return b; } public static Teacher check(String num, String password) throws UserNotFoundException, PasswordNotCorrectException { Teacher teacher = null; Connection conn = DB.getConn(); String sql = null; sql = "select * from teacher_info where tno = '" + num + "'"; Statement stmt = DB.getStatement(conn); ResultSet rs = DB.getResultSet(stmt, sql); try { if (!rs.next()) { throw new UserNotFoundException("用户不存在:" + num); } else { if (!password.equals(rs.getString("tpassword"))) { throw new PasswordNotCorrectException("密码不正确!"); } } teacher = new Teacher(); teacher.setEmail(rs.getString("temail")); teacher.setGroup(rs.getString("tgroup")); teacher.setName(rs.getString("tname")); teacher.setNumber(rs.getString("tno")); teacher.setPassword(rs.getString("tpassword")); teacher.setPhone(rs.getString("ttel")); teacher.setDept(rs.getString("tdept")); teacher.setSex(rs.getString("tsex")); teacher.setDegree(rs.getString("tdegree")); teacher.setRight(rs.getShort("tright")); teacher.setTitle(rs.getString("ttitle")); } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rs); DB.close(stmt); DB.close(conn); } return teacher; } public static Teacher getByTno(String num) { Connection conn = DB.getConn(); String sql = null; sql = "select * from teacher_info where tno='" + num + "'"; Statement stmt = DB.getStatement(conn); ResultSet rs = DB.getResultSet(stmt, sql); Teacher teacher = null; try { if (rs.next()) { teacher = new Teacher(); teacher.setEmail(rs.getString("temail")); teacher.setGroup(rs.getString("tgroup")); teacher.setName(rs.getString("tname")); teacher.setNumber(rs.getString("tno")); teacher.setPassword(rs.getString("tpassword")); teacher.setPhone(rs.getString("ttel")); teacher.setDept(rs.getString("tdept")); teacher.setSex(rs.getString("tsex")); teacher.setDegree(rs.getString("tdegree")); teacher.setRight(rs.getShort("tright")); teacher.setTitle(rs.getString("ttitle")); } } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rs); DB.close(conn); } return teacher; } public static boolean update(Teacher te) { Connection conn = DB.getConn(); String sql = null; boolean b = false; sql = "update teacher_info set tpassword=?, tgroup=?, tname=?, tsex=?, ttel=?, temail=?, tdept=?, ttitle=?, tright=?, tdegree=? where tno = ?"; PreparedStatement pstmt = DB.prepare(conn, sql); try { pstmt.setString(1, te.getPassword()); pstmt.setString(2, te.getGroup()); pstmt.setString(3, te.getName()); pstmt.setString(4, te.getSex()); pstmt.setString(5, te.getPhone()); pstmt.setString(6, te.getEmail()); pstmt.setString(7, te.getDept()); pstmt.setString(8, te.getTitle()); pstmt.setShort(9, te.getRight()); pstmt.setString(10, te.getDegree()); pstmt.setString(11, te.getNumber()); pstmt.executeUpdate(); b = true; } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(pstmt); DB.close(conn); } return b; } public static int query(List<Teacher> teachers, int pageNo, int pageSize, String dept, String num, String name) { int totalRecords = -1; Connection conn = DB.getConn(); String sql = null; if (dept == null) dept = ""; if (name == null) name = ""; if (num == null) num = ""; sql = "select * from teacher_info where tdept like '%" + dept + "%' and tname like '%" + name + "%' and tno like '%" + num + "%'"; sql += "limit " + (pageNo - 1) * pageSize + "," + pageSize; Statement stmt = DB.getStatement(conn); ResultSet rs = DB.getResultSet(stmt, sql); Statement stmtCount = DB.getStatement(conn); ResultSet rsCount = null; rsCount = DB.getResultSet(stmtCount, "select count(*) from teacher_info where tdept like '%" + dept + "%' and tname like '%" + name + "%' and tno like '%" + num + "%'"); try { rsCount.next(); totalRecords = rsCount.getInt(1); while (rs.next()) { Teacher teacher = new Teacher(); teacher.setEmail(rs.getString("temail")); teacher.setGroup(rs.getString("tgroup")); teacher.setName(rs.getString("tname")); teacher.setNumber(rs.getString("tno")); teacher.setPassword(rs.getString("tpassword")); teacher.setPhone(rs.getString("ttel")); teacher.setDept(rs.getString("tdept")); teacher.setSex(rs.getString("tsex")); teacher.setDegree(rs.getString("tdegree")); teacher.setRight(rs.getShort("tright")); teacher.setTitle(rs.getString("ttitle")); teachers.add(teacher); } } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rsCount); DB.close(stmtCount); DB.close(rs); DB.close(stmt); DB.close(conn); } return totalRecords; } public static List<String> adds(String file) { Connection conn = DB.getConn(); Workbook info; List<String> tnumber = new ArrayList<String>(); String sql = "insert into teacher_info values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; try { info = Workbook.getWorkbook(new FileInputStream(file)); Sheet sheet = info.getSheet(0); int size = sheet.getRows(); for (int i = 1; i < size; i++) { Cell c = sheet.getCell(0, i); if (TeacherManager.getByTno(c.getContents().trim()) != null) { tnumber.add(c.getContents().trim()); continue; } PreparedStatement pstmt = DB.prepare(conn, sql); for (int j = 0; j < 11; j++) { c = sheet.getCell(j, i); if (j != 6) { pstmt.setString(j + 1, c.getContents().trim()); } else pstmt.setShort(j + 1, Short.parseShort(c.getContents())); } pstmt.execute(); } } catch (BiffException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IndexOutOfBoundsException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return tnumber; } }
TopicManager
选题信息管理,实现选题新的增加,修改,查看,删除。
package com.sjsq.service; import com.sjsq.model.Topic; import com.sjsq.util.DB; import java.sql.*; import java.util.ArrayList; import java.util.List; public class TopicManager { public static boolean save(Topic t) { Connection conn = DB.getConn(); String sql = null; boolean b = false; sql = "insert into topic_info values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; PreparedStatement pstmt = DB.prepare(conn, sql); try { pstmt.setString(1, t.getNumber()); pstmt.setString(2, t.getName()); pstmt.setString(3, t.getType()); pstmt.setString(4, t.getKind()); pstmt.setString(5, t.getSource()); pstmt.setString(6, t.getStatus()); pstmt.setString(7, t.getContent()); pstmt.setString(8, t.getResult()); pstmt.setString(9, t.getDirection()); pstmt.setString(10, t.getTnumber()); pstmt.setString(11, t.getSnumber()); pstmt.execute(); b = true; } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(pstmt); DB.close(conn); } return b; } public static int getTopics(List<Topic> topics, int pageNo, int pageSize) { int totalRecords = -1; Connection conn = DB.getConn(); String sql = null; sql = "select * from topic_info limit " + (pageNo - 1) * pageSize + "," + pageSize; Statement stmt = DB.getStatement(conn); ResultSet rs = DB.getResultSet(stmt, sql); Statement stmtCount = DB.getStatement(conn); ResultSet rsCount = null; rsCount = DB .getResultSet(stmtCount, "select count(*) from topic_info"); try { rsCount.next(); totalRecords = rsCount.getInt(1); while (rs.next()) { Topic topic = new Topic(); topic.setContent(rs.getString("hcontent")); topic.setDirection(rs.getString("direction")); topic.setKind(rs.getString("hkind")); topic.setName(rs.getString("hname")); topic.setNumber(rs.getString("hno")); topic.setResult(rs.getString("hresult")); topic.setSnumber(rs.getString("sno")); topic.setSource(rs.getString("hsource")); topic.setStatus(rs.getString("hstatus")); topic.setType(rs.getString("htype")); topic.setTnumber(rs.getString("tno")); topics.add(topic); } } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rsCount); DB.close(stmtCount); DB.close(rs); DB.close(stmt); DB.close(conn); } return totalRecords; } public static boolean deleteByHno(String hno) { boolean b = false; Connection conn = DB.getConn(); String sql = null; sql = "delete from topic_info where hno = '" + hno + "'"; Statement stmt = DB.getStatement(conn); try { DB.executeUpdate(stmt, sql); b = true; } catch (Exception e) { e.printStackTrace(); } finally { DB.close(stmt); DB.close(conn); } return b; } public static boolean check(String tno, String hname) { boolean b = false; Connection conn = DB.getConn(); String sql = null; sql = "select * from topic_info where tno = '" + tno + "'"; Statement stmt = DB.getStatement(conn); ResultSet rs = DB.getResultSet(stmt, sql); try { if (rs.next()) b = true; } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rs); DB.close(stmt); DB.close(conn); } return b; } public static boolean update(Topic t) { Connection conn = DB.getConn(); String sql = null; boolean b = false; sql = "update topic_info set htype=?, tno=?, hname=?, hsource=?, hkind=?, hstatus=?, hresult=?, sno=?, direction=?, hcontent=? where hno = ?"; PreparedStatement pstmt = DB.prepare(conn, sql); try { pstmt.setString(1, t.getType()); pstmt.setString(2, t.getTnumber()); pstmt.setString(3, t.getName()); pstmt.setString(4, t.getSource()); pstmt.setString(5, t.getKind()); pstmt.setString(6, t.getStatus()); pstmt.setString(7, t.getResult()); pstmt.setString(8, t.getSnumber()); pstmt.setString(9, t.getDirection()); pstmt.setString(10, t.getContent()); pstmt.setString(11, t.getNumber()); pstmt.executeUpdate(); b = true; } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(pstmt); DB.close(conn); } return b; } public static Topic getByNum(String num) { Connection conn = DB.getConn(); String sql = null; sql = "select * from topic_info where hno='" + num + "'"; Statement stmt = DB.getStatement(conn); ResultSet rs = DB.getResultSet(stmt, sql); Topic topic = null; try { if (rs.next()) { topic = new Topic(); topic.setContent(rs.getString("hcontent")); topic.setDirection(rs.getString("direction")); topic.setKind(rs.getString("hkind")); topic.setName(rs.getString("hname")); topic.setNumber(rs.getString("hno")); topic.setResult(rs.getString("hresult")); topic.setSnumber(rs.getString("sno")); topic.setSource(rs.getString("hsource")); topic.setStatus(rs.getString("hstatus")); topic.setType(rs.getString("htype")); topic.setTnumber(rs.getString("tno")); } } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rs); DB.close(conn); } return topic; } public static List<Topic> getByTno(String num) { Connection conn = DB.getConn(); String sql = null; List<Topic> topics = new ArrayList<Topic>(); sql = "select * from topic_info where tno='" + num + "'"; Statement stmt = DB.getStatement(conn); ResultSet rs = DB.getResultSet(stmt, sql); Topic topic = null; try { while (rs.next()) { topic = new Topic(); topic.setContent(rs.getString("hcontent")); topic.setDirection(rs.getString("direction")); topic.setKind(rs.getString("hkind")); topic.setName(rs.getString("hname")); topic.setNumber(rs.getString("hno")); topic.setResult(rs.getString("hresult")); topic.setSnumber(rs.getString("sno")); topic.setSource(rs.getString("hsource")); topic.setStatus(rs.getString("hstatus")); topic.setType(rs.getString("htype")); topic.setTnumber(rs.getString("tno")); topics.add(topic); } } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rs); DB.close(conn); } return topics; } public static int query(List<Topic> topics, int pageNo, int pageSize, String str, String kind, String name) { int totalRecords = -1; Connection conn = DB.getConn(); String sql = null; if (str == null) str = ""; if (kind == null) kind = ""; if (name == null) name = ""; sql = "select * from topic_info where hname like '%" + name + "%' and htype like '%" + str + "%' and hkind like '%" + kind + "%'"; sql += "limit " + (pageNo - 1) * pageSize + "," + pageSize; Statement stmt = DB.getStatement(conn); ResultSet rs = DB.getResultSet(stmt, sql); Statement stmtCount = DB.getStatement(conn); ResultSet rsCount = null; rsCount = DB .getResultSet(stmtCount, "select count(*) from topic_info where hname like '%" + name + "%' and htype like '%" + str + "%' and hkind like '%" + kind + "%'"); try { if (rsCount != null) rsCount.next(); totalRecords = rsCount.getInt(1); while (rs.next()) { Topic topic = new Topic(); topic.setContent(rs.getString("hcontent")); topic.setDirection(rs.getString("direction")); topic.setKind(rs.getString("hkind")); topic.setName(rs.getString("hname")); topic.setNumber(rs.getString("hno")); topic.setResult(rs.getString("hresult")); topic.setSnumber(rs.getString("sno")); topic.setSource(rs.getString("hsource")); topic.setStatus(rs.getString("hstatus")); topic.setType(rs.getString("htype")); topic.setTnumber(rs.getString("tno")); topics.add(topic); } } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rsCount); DB.close(stmtCount); DB.close(rs); DB.close(stmt); DB.close(conn); } return totalRecords; } public static List<Topic> getByStatus(String num) { Connection conn = DB.getConn(); List<Topic> topics = new ArrayList<Topic>(); String sql = null; sql = "select * from topic_info where hstatus='" + num + "'"; Statement stmt = DB.getStatement(conn); ResultSet rs = DB.getResultSet(stmt, sql); Topic topic = null; try { while (rs.next()) { topic = new Topic(); topic.setContent(rs.getString("hcontent")); topic.setDirection(rs.getString("direction")); topic.setKind(rs.getString("hkind")); topic.setName(rs.getString("hname")); topic.setNumber(rs.getString("hno")); topic.setResult(rs.getString("hresult")); topic.setSnumber(rs.getString("sno")); topic.setSource(rs.getString("hsource")); topic.setStatus(rs.getString("hstatus")); topic.setType(rs.getString("htype")); topic.setTnumber(rs.getString("tno")); topics.add(topic); } } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rs); DB.close(conn); } return topics; } public static Topic getBySnum(String num) { Connection conn = DB.getConn(); String sql = null; sql = "select * from topic_info where sno='" + num + "'"; Statement stmt = DB.getStatement(conn); ResultSet rs = DB.getResultSet(stmt, sql); Topic topic = null; try { if (rs.next()) { topic = new Topic(); topic.setContent(rs.getString("hcontent")); topic.setDirection(rs.getString("direction")); topic.setKind(rs.getString("hkind")); topic.setName(rs.getString("hname")); topic.setNumber(rs.getString("hno")); topic.setResult(rs.getString("hresult")); topic.setSnumber(rs.getString("sno")); topic.setSource(rs.getString("hsource")); topic.setStatus(rs.getString("hstatus")); topic.setType(rs.getString("htype")); topic.setTnumber(rs.getString("tno")); } } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rs); DB.close(conn); } return topic; } public static Topic getByTnumAndHname(String tnum, String hname) { Connection conn = DB.getConn(); String sql = null; sql = "select * from topic_info where tno='" + tnum + "' and hname='" + hname + "'"; Statement stmt = DB.getStatement(conn); ResultSet rs = DB.getResultSet(stmt, sql); Topic topic = null; try { if (rs.next()) { topic = new Topic(); topic.setContent(rs.getString("hcontent")); topic.setDirection(rs.getString("direction")); topic.setKind(rs.getString("hkind")); topic.setName(rs.getString("hname")); topic.setNumber(rs.getString("hno")); topic.setResult(rs.getString("hresult")); topic.setSnumber(rs.getString("sno")); topic.setSource(rs.getString("hsource")); topic.setStatus(rs.getString("hstatus")); topic.setType(rs.getString("htype")); topic.setTnumber(rs.getString("tno")); } } catch (SQLException e) { e.printStackTrace(); } finally { DB.close(rs); DB.close(conn); } return topic; } }
DB
数据库连接类
package com.sjsq.util; import java.sql.*; /** * * 对数据库连接的封装 * */ public class DB { /** * 获得对要用的数据库的连接 * @return 返回数据库的连接 */ public static Connection getConn() { Connection conn = null; try { Class.forName("com.mysql.cj.jdbc.Driver");//数据库的驱动类 若数据库为sqlserver 应为: ("com.microsoft.sqlserver.jdbc.SQLServerDriver") conn = DriverManager.getConnection("jdbc:mysql://localhost/jsp_select_topic?serverTimezone=UTC","root","admin"); //jdbc:myseql数据库的类型 localhost:3306本机3306端口 select_course 数据库名 user=root 用户名为root password=root 用户密码为root // 若是sqlserver应为("jdbc:sqlserver://localhst:1422;databaseName=select_course", "root", "root"); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } /** * 获得多数据库的预编译的 SQL 语句的对象 * @param conn 数据库的连接 * @param sql 要执行的SQL语句 * @return 返回预编译的 SQL 语句的对象 */ public static PreparedStatement prepare(Connection conn, String sql) { PreparedStatement pstmt = null; try { if(conn != null) { pstmt = conn.prepareStatement(sql); } } catch (SQLException e) { e.printStackTrace(); } return pstmt; } /** * * @param conn 数据库的连接 * @return 返回执行静态 SQL 语句对象 */ public static Statement getStatement(Connection conn) { Statement stmt = null; try { if(conn != null) { stmt = conn.createStatement(); } } catch (SQLException e) { e.printStackTrace(); } return stmt; } /** * * @param stmt 执行静态SQl语句的对象 * @param sql 要执行的SQL语句 * @return 执行后的结果集 */ public static ResultSet getResultSet(Statement stmt, String sql) { ResultSet rs = null; try { if(stmt != null) { rs = stmt.executeQuery(sql); } } catch (SQLException e) { e.printStackTrace(); } return rs; } /** * * @param stmt 静态执行sql语句的对象 * @param sql 要执行的SQL语句 */ public static void executeUpdate(Statement stmt, String sql) { try { if(stmt != null) { stmt.executeUpdate(sql); } } catch (SQLException e) { e.printStackTrace(); } } /** * 关闭数据库的连接 * @param conn 数据库的连接 */ public static void close(Connection conn) { try { if(conn != null) { conn.close(); conn = null; } } catch (SQLException e) { e.printStackTrace(); } } /** * 关闭Statement * @param stmt */ public static void close(Statement stmt) { try { if(stmt != null) { stmt.close(); stmt = null; } } catch (SQLException e) { e.printStackTrace(); } } /** * 关闭ResultSet * @param rs */ public static void close(ResultSet rs) { try { if(rs != null) { rs.close(); rs = null; } } catch (SQLException e) { e.printStackTrace(); } } }
Login.jsp
登录前端页面,实现用户登录,判断用户类型,调用登录函数。
<%@ page language="java" import="com.sjsq.model.Student" pageEncoding="UTF-8" %> <%@ page import="com.sjsq.model.Teacher" %> <%@ page import="com.sjsq.service.PasswordNotCorrectException" %> <%@ page import="com.sjsq.service.StudentManager" %> <%@ page import="com.sjsq.service.TeacherManager" %> <%@ page import="com.sjsq.service.UserNotFoundException" %> <% String username = request.getParameter("user_no").trim(); String password = request.getParameter("user_pass").trim(); int type = Integer.parseInt(request.getParameter("u_type").trim()); try { if (type == 1) { Student student = StudentManager.check(username, password); session.setAttribute("user", student); session.setAttribute("type", type); response.sendRedirect("student/student.jsp"); } if (type == 2) { Teacher teacher = TeacherManager.check(username, password); session.setAttribute("user", teacher); session.setAttribute("type", type); response.sendRedirect("teacher/teacher.jsp"); } if (type == 3) { Teacher teacher = TeacherManager.check(username, password); if (teacher.getRight() == 0) { session.setAttribute("user", teacher); session.setAttribute("type", type); response.sendRedirect("admin/admin.jsp"); } else { out.println("您没有管理员权限!"); return; } } } catch (UserNotFoundException e) { out.println(e.getMessage()); return; } catch (PasswordNotCorrectException e) { out.println(e.getMessage()); return; } %>
index.jsp
用户登录界面
<%@page pageEncoding="UTF-8" %> <%@page import="com.sjsq.service.MsgManager" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>毕业设计选题系统-用户登录</title> <link href="js/css.css" rel="stylesheet" type="text/css"> <style type="text/css"> .STYLE4 { color: #FFFFFF; font-family: "楷体_GB2312"; font-size: 24px; font-weight: bold; } .STYLE5 { color: #FFFFFF; font-weight: bold; font-size: 16px; } .STYLE7 { color: #0000FF; font-size: 16px; } .STYLE3 { font-size: 12px; color: #FFFFFF; text-decoration: none; } </style> <script language="javascript" type="text/javascript"> function CheckForm() { if (document.login.user_no.value.length == 0) { alert("请输入用户编号,学生为8位数的学号!"); document.login.user_no.focus(); return false; } return true; } </script> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body class="bg"> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="center" valign="middle"> <table width="817" height="384" border="0" cellpadding="0" cellspacing="0" background="images/login.jpg"> <tr> <td> </td> <td> <p align="left"> <br> <br> <br> </p> <table width="95%" height="14" border="0" align="left" cellpadding="0" cellspacing="0"> <tr> <td><span class="STYLE4">毕业设计选题系统</span></td> </tr> </table> </td> </tr> <tr> <td width="100"> </td> <td height="239"> <form id="login" name="login" method="post" action="Login.jsp" onSubmit="return CheckForm();"> <table width="85%" border="0" align="left" cellspacing="3"> <tr> <td class="FontWit"> </td> <td> </td> <td class="STYLE3"> <div align="center" class="STYLE5"></div> </td> <td width="44%" rowspan="5" class="STYLE3"> <MARQUEE style="WIDTH: 220; HEIGHT: 180; color:red;" scrollAmount=1 scrollDelay=77 direction=up width=280 height=200 onMouseOut="this.start()" onMouseOver="this.stop()"> <% String[] title = MsgManager.getTitles(); for (int i = 0; title[i] != null; i++) { %> <p> <a href="news.jsp?id=<%=title[i]%>" target="_blank" style="color: red;"><%=title[i]%> </a> </p> <% } %> </MARQUEE> </td> </tr> <tr> <td width="20%" class="FontWit"> <div align="right">用户编号:</div> </td> <td width="34%"> <div align="left"> <input name="user_no" type="text" id="user_no" size="18" <%--title="用户名或编号,学生为学号!"/> <span class="FontWit"--%> <%--title="姓名或编号(学生为学号)">提示</span>--%> </div> </td> <td width="8%" class="STYLE3"> <div align="center"> <span class="STYLE5">公</span> </div> </td> </tr> <tr> <td class="FontWit"> <div align="right">用户密码:</div> </td> <td> <div align="left"> <input name="user_pass" type="password" id="user_pass" size="18" title="默认密码是admin,登录后请自行修改!"/> <%--<span class="FontWit" title="默认密码是admin,登录后请自行修改!">提示</span>--%> </div> </td> <td class="STYLE3"> <div align="center"> <span class="STYLE5">告</span> </div> </td> </tr> <tr> <td class="FontWit"> <div align="right">用户类型:</div> </td> <td> <div align="left"> <select name="u_type" id="u_type"> <option value="1">学 生</option> <option value="2">教师</option> <option value="3">管理员</option> </select> </div> </td> <td class="STYLE3"> <div align="center"> <span class="STYLE5">通</span> </div> </td> </tr> <tr> <td height="24" class="FontWit"> <div align="right"></div> </td> <td> <div align="left"> <input type="submit" name="Submit" value=" 登 录 "/> <input type="reset" name="Submit2" value=" 重 置 "> </div> </td> <td class="STYLE3"> <div align="center"> <span class="STYLE5">知</span> </div> </td> </tr> <tr> <td height="72"></td> <td></td> <td colspan="2"></td> </tr> </table> </form> </td> </tr> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <div align="center" class="FontWit"> <TABLE cellSpacing="0" cellPadding="0" width="100%" border="0"> <TBODY> <TR> <TD> <DIV align="center" class="FontWit"> <p> 2022-2022 XXX软件开发有限技术公司<A href="" target="_blank" class="STYLE3"></A> <%--<a target="_blank"--%> <%--href="http://wpa.qq.com/msgrd?v=3&uin=3079118617&site=qq&menu=yes"><img--%> <%--border="0" src="http://wpa.qq.com/pa?p=2:287433220:41"--%> <%--alt="点击这里给我发消息" title="点击这里给我发消息"> </a> <br>--%> </p> </DIV> </TD> </TR> </TBODY> </TABLE> </div> </td> </tr> </table> </td> </tr> </table> </body> </html>
news.jsp
新闻公告界面
<%@page pageEncoding="UTF-8" import="com.sjsq.service.MsgManager" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"/> <link rel="stylesheet" href="../js/CssAdmin.css"> <title>公告详情</title> </head> <body> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#6298E1"> <tr> <td height="24" nowrap> <font color="#FFFFFF"><img src="images/Explain.gif" width="18" height="18" border="0" align="absmiddle"> <strong>公告详情</strong> </font> </td> </tr> </table> <center> <br/> <% String number = new String(request.getParameter("id").getBytes("UTF-8"), "UTF-8"); String text = MsgManager.getTexts(number); %> <table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#6298E1"> <tr> <td height="24" nowrap bgcolor="#EBF2F9"> <table width="100%" border="0" cellpadding="0" cellspacing="0" id="editProduct" idth="100%"> <tr> <td width="120" height="20" align="right"> </td> <td> <div align="left"></div> </td> </tr> <tr> <td height="20" align="right"> 标题: </td> <td> <div align="center"> <%=number%> </div> </td> </tr> <tr> <td> </td> </tr> <tr> <td height="20" align="right"> 内容: </td> <td> <div align="center"> <%=text%> </div> </td> </tr> </table> </td> </tr> </table> </center> </body> </html>
四、其他
1.更多系统
Java+JSP系统系列实现
Java+JSP实现学生图书管理系统
Java+JSP实现学生信息管理系统
Java+JSP实现用户信息管理系统
Java+JSP实现教师信息管理系统
Java+JSP实现学生宿舍管理系统
Java+JSP实现商品信息管理系统
Java+JSP实现宠物信息管理系统
Java+JSP实现学生成绩管理系统
Java+Servlet系统系列实现
Java+Servlet+JSP实现航空订票系统
Java+Servlet+JSP实现新闻发布系统
Java+Servlet+JSP学生宿舍管理系统
Java+Servlet+JSP实现图书管理系统
Java+Servlet+JSP实现停车场管理系统
Java+Servlet+JSP实现房屋租赁管理系统
Java+Servlet+JSP实现学生信息管理系统
Java+Servlet+JSP实现学生选课管理系统
Java+Servlet+JSPl实现学生选课签到系统
Java+Servlet+JSP实现宠物诊所管理系统
Java+Servlet+JSP实现学生成绩管理系统-1
Java+Servlet+JSP实现学生成绩管理系统-2
Java+SSM系统系列实现
Java+SSM+JSP实现网上考试系统
Java+SSM+JSP实现宠物商城系统
Java+SSM+JSP实现超市管理系统
Java+SSM+JSP实现学生成绩管理系统
Java+SSM+JSP实现学生信息管理系统
Java+SSM+JSP实现药品信息管理系统
Java+SSM+JSP实现汽车信息管理系统
Java+SSM+Jspl实现商品信息管理系统
Java+SSM+JSP+Maven实现网上书城系统
Java+SSM+JSP+Maven实现学校教务管理系统
Java+SSH系统系列实现
Java+SSH+JSP实现在线考试系统
Java+SSH+JSP实现医院在线挂号系统
Java+Springboot系统系列实现
Java+Springboot+H-ui+Maven实现营销管理系统
Java+Springboot+Bootstrap+Maven实现网上商城系统
Java+Springboot+Bootstrap+Maven实现景区旅游管理系统
1.更多JavaWeb系统请关注专栏。
https://blog.csdn.net/helongqiang/category_10020130.html
https://blog.csdn.net/helongqiang/category_10020130.html
2.更多JavaSwing系统请关注专栏。
https://blog.csdn.net/helongqiang/category_6229101.html
https://blog.csdn.net/helongqiang/category_6229101.html
2.源码下载
sql在sql文件夹下面
系统账号信息
1.管理员
账号:101 密码:admin
2.教师
账号:102 密码:123456
3.学生
账号:1001 密码:123456
Java+Jsp+Mysql实现Web毕业设计选题系统
3.运行项目
关注B站:水坚石青
后期有更多干货视频推出!!!
IDEA如何导入JavaWeb项目超详细视频教程
4.备注
如有侵权请联系我删除。
5.支持博主
如果您觉得此文对您有帮助,请点赞加关注加收藏。祝您生活愉快!