From c6330cb71c94b8af59d73bb56873df08827ebe50 Mon Sep 17 00:00:00 2001
From: wlf <920607690@qq.com>
Date: Sat, 12 Jan 2019 22:37:32 +0800
Subject: [PATCH] Merge branch 'master' of
https://bdgit.educoder.net/zhailw/gdms into wlf
# Conflicts:
# GDMS.iml
# src/servlet/account/login.java
---
GDMS.iml | 4 +-
src/servlet/S_TeaccherSelectStudent.java | 4 --
src/servlet/S_TeacherSelectStudent.java | 19 ++++++++++
src/servlet/account/S_Register.java | 6 +++
src/servlet/basic_settings/S_Filter.java | 48 +++++++++++++++++++++---
web/login.jsp | 2 +-
6 files changed, 70 insertions(+), 13 deletions(-)
delete mode 100644 src/servlet/S_TeaccherSelectStudent.java
create mode 100644 src/servlet/S_TeacherSelectStudent.java
diff --git a/GDMS.iml b/GDMS.iml
index 3a5c57b..34d2f99 100644
--- a/GDMS.iml
+++ b/GDMS.iml
@@ -19,15 +19,15 @@
+
-
+
-
\ No newline at end of file
diff --git a/src/servlet/S_TeaccherSelectStudent.java b/src/servlet/S_TeaccherSelectStudent.java
deleted file mode 100644
index 1a1cf25..0000000
--- a/src/servlet/S_TeaccherSelectStudent.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package servlet;
-
-public class S_TeaccherSelectStudent {
-}
diff --git a/src/servlet/S_TeacherSelectStudent.java b/src/servlet/S_TeacherSelectStudent.java
new file mode 100644
index 0000000..71e0c42
--- /dev/null
+++ b/src/servlet/S_TeacherSelectStudent.java
@@ -0,0 +1,19 @@
+package servlet;
+
+import core.user.User;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+public class S_TeacherSelectStudent extends HttpServlet {
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ super.doPost(request, response);
+ String teacher_id=request.getParameter("id");
+ User user=(User)request.getSession().getAttribute("User");
+ String student_id=user.getId();
+
+ }
+}
diff --git a/src/servlet/account/S_Register.java b/src/servlet/account/S_Register.java
index 6dcef13..b3397fb 100644
--- a/src/servlet/account/S_Register.java
+++ b/src/servlet/account/S_Register.java
@@ -2,12 +2,14 @@ package servlet.account;
import core.user.User;
import core.user.utils.AccountManagement;
+import error.GExcptAccount;
import error.GExcptSQL;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
+import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
@@ -31,6 +33,10 @@ public class S_Register extends HttpServlet {
user = AccountManagement.register("student",user_info);
} catch (GExcptSQL gExcptSQL) {
gExcptSQL.printStackTrace();
+ } catch (GExcptAccount gExcptAccount) {
+ gExcptAccount.printStackTrace();
+ } catch (Exception e) {
+ e.printStackTrace();
}
//注册失败
request.getSession().setAttribute("User",user);
diff --git a/src/servlet/basic_settings/S_Filter.java b/src/servlet/basic_settings/S_Filter.java
index b8144e1..610ec49 100644
--- a/src/servlet/basic_settings/S_Filter.java
+++ b/src/servlet/basic_settings/S_Filter.java
@@ -1,17 +1,53 @@
package servlet.basic_settings;
import javax.servlet.*;
+import javax.servlet.annotation.WebFilter;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
import java.io.IOException;
-
+@WebFilter(filterName = "sessionFilter",urlPatterns = {"/*"})
public class S_Filter implements Filter {
+ String NO_LOGIN="/notLogin";
+ String[] includeUrls=new String[]{"redirect:http://localhost:8080/firstproject/demo/Front-end/Login/Login.html","redirect:http://localhost:8080/firstproject/demo/Front-end/Login/Login1.html"};
+ @Override
+ public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws ServletException,IOException{
+ HttpServletRequest request=(HttpServletRequest) servletRequest;
+ HttpServletResponse response=(HttpServletResponse) servletResponse;
+ HttpSession session=request.getSession(false);
+ String uri=request.getRequestURI();
+ //是否需要过滤
+ boolean needFilter=isNeedFilter(uri);
+ if(!needFilter){
+ filterChain.doFilter(servletRequest,servletResponse);
+ }else{
+ //需要过滤器
+ //session中包含user对象,则是登录状态
+ if(session!=null&&session.getAttribute("user")!=null){
+ filterChain.doFilter(servletRequest,servletResponse);
+ }else{
+ String requestType=request.getHeader("X-Requested-with");
+ //判断是否是ajax请求
+ if(requestType!=null&&"XMLHttpRequest".equals(requestType)){
+ response.sendRedirect(NO_LOGIN);
+ }else{
+ //重定向到登录页(需要在static文件夹下建立此html文件)
+ response.sendRedirect(request.getContextPath()+"redirect:http://localhost:8080/firstproject/demo/Front-end/Login/Login.html");
+ }
+ return;
+ }
+ }
- public void init(FilterConfig filterConfig) throws ServletException {
}
- public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
-
+ public boolean isNeedFilter(String uri) {
+ for (String includeUrl : includeUrls) {
+ if (includeUrl.equals(uri)) {
+ return false;
+ }
+ }
+ return true;
}
- public void destory(){
- }
+
}
diff --git a/web/login.jsp b/web/login.jsp
index 82983d5..92fda2b 100644
--- a/web/login.jsp
+++ b/web/login.jsp
@@ -56,7 +56,7 @@