教師管理:
教師情報を追加する
教師リスト情報を表示:
グレード管理:
学生の成績情報を見る
パーソナルセンター:
パーソナル センターがランダムにアラートのポップアップ ウィンドウを作成しました
コード実装の一部:
フロントエンドにログインします。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
ログイン
<input type="text" name="ope_name"
id="ope_name">
<input type="password" name="ope_pwd"
id="ope_pwd">
<入力
スタイル="幅:60px; フロート:右; margin-top:10px;margin-right:20px;」
type="button" value="login" οclick="login()">
ログイン バックグラウンド サーブレット:
パッケージ実装;
java.sql.Connection をインポートします。
import java.sql.PreparedStatement;
java.sql.ResultSet をインポートします。
import java.util.ArrayList;
java.util.List をインポートします。
import javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpSession をインポートします。
util.DB をインポートします。
dao.ILogin をインポートします。
エンティティをインポートします。
「第一線メーカーのJava面接質問分析+バックエンド開発検討ノート+最新アーキテクチャ解説動画+実際のプロジェクトソースコード配布資料」
[docs.qq.com/doc/DSmxTbFJ1cmN1R2dB] 完全なコンテンツのオープン ソース共有
エンティティをインポートします。特権;
public class LoginImpl は ILogin を実装します {
プライベート PrivilegeImpl1 特権Impl = 新しい PrivilegeImpl1();
プライベート RoleImpl roleImpl = new RoleImpl();
プライベート リスト list_privilege;
プライベート PreparedStatement pst;
プライベート オペレーター log_operator;
プライベート HttpSession セッション。
プライベート文字列 checkResult;
プライベート接続 conn;
プライベート ResultSet rs;
// ログイン認証
public String login(HttpServletRequest request, Operator operator) {
セッション = request.getSession();
checkResult = "成功";
log_operator = new Operator();
試す {
conn = DB.getConn();
pst = 接続
.prepareStatement(“SELECT * FROM operator WHERE ope_name = ?”);
pst.setString(1, operator.getName());
rs = pst.executeQuery();
if (!rs.next()) {
checkResult = "アカウントが存在しません。再入力してください!";
session.setAttribute(“isLogin”, “false”);
} それ以外 {
if (!operator.getPwd().equals(rs.getString(3))) {
checkResult = "入力したパスワードが正しくありません。再入力してください!";
session.setAttribute(“isLogin”, “false”);
} それ以外 {
// ログイン成功
session.setAttribute(“isLogin”, “true”);
// ユーザーの完全な情報を取得します
log_operator.setId(rs.getInt(1));
log_operator.setName(rs.getString(2));
log_operator.setPwd(rs.getString(3));
log_operator.setRole(roleImpl.query(“rol_id”,
rs.getString(4)).get(0));
session.setAttribute(“log_operator”, log_operator);
// ユーザーに応じて、対応するロールに対応するパーミッションを取得します
list_privilege = privilegeImpl.query(“rol_id”, log_operator
.getRole().getId()
- "");
リスト リスト = 新しい ArrayList();
list.add(list_privilege.get(0));
for (int i = 1; i < list_privilege.size(); i++) {
int y=0;
for(int x=0;x<list.size();x++){
if(!list.get(x).getMenu_name().equals()
list_privilege.get(i).getMenu_name())){
y++;
}
}
if (y==list.size()) {
list.add(list_privilege.get(i));
}
}
session.setAttribute(“リスト”, リスト);
session.setAttribute(“list_privilege”, list_privilege);
}
}
キャッチ(例外e){
e.printStackTrace();
} ついに {
DB.close(conn、pst、rs);
}
checkResult を返します。
}
}
リンク データベース:
最も基本的な jdbc を使用してリンクする
パッケージユーティリティ;
java.sql.Connection をインポートします。
java.sql.DriverManager をインポートします。
import java.sql.PreparedStatement;
java.sql.ResultSet をインポートします。
公開クラス DB {
// データベース接続を取得
public static Connection getConn() {
接続接続 = null;
文字列 url = “jdbc:mysql://localhost:3306/jsp_studentmanager?characterEncoding=utf8”;
文字列名 = 「ルート」;
文字列 pwd = “123456”;
試す {
Class.forName(“com.mysql.jdbc.Driver”);
conn = DriverManager.getConnection(url, name, pwd);
キャッチ(例外e){
e.printStackTrace();
}
conn を返します。
}
// オブジェクトを閉じてリソースを解放します
public static void close(Connection conn, PreparedStatement pst,
結果セット rs) {
試す {
もし (rs != null)
rs.close();
もし (pst != null)
pst.close();
if (conn != null)
conn.close();
キャッチ(例外e){
e.printStackTrace();
}
}
}
部分的なテーブル構造:
生徒用テーブル:
テーブルの作成NewTable
(
stu_id
int(11) NOT NULL AUTO_INCREMENT 、
ope_id
int(11) NULL デフォルト NULL 、
stu_no
varchar(22) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
stu_name
varchar(22) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
stu_sex
enum(‘男’,‘女’) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT ‘男’ ,
stu_birth
日付 NULL DEFAULT NULL ,
stu_pic
varchar(22) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
cla_id
int(11) NULL デフォルト NULL 、
主キー ( stu_id
)、
外部キー ( cla_id
) 参照classes
( cla_id
) の削除カスケードの更新カスケード、
外部キー ( ope_id
) 参照operator
( ope_id
) の削除カスケードの更新カスケード、
BTREE を使用した一意のインデックスuni_no
( ) 、stu_no
BTREE を使用した一意のインデックスuni_ope
( ) 、ope_id
INDEX fk_stu_cla
( cla_id
) BTREE を使用して、
インデックスfk_stu_ope
( ope_id
) BTREE を使用
)
エンジン=InnoDB
デフォルト文字セット=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=13
ROW_FORMAT=コンパクト
;
CREATE DEFINER= root
@ localhost
TRIGGER TG_3
AFTER DELETE ONNewTable
FOR EACH ROW BEGIN
DELETE FROM operator WHERE ope_id = old.ope_id;
終わり;
転写:
テーブルの作成NewTable
(
sco_id
int(11) NOT NULL AUTO_INCREMENT 、
sco_daily
float NULL DEFAULT 0 ,