diff --git a/.idea/artifacts/GDMS_war_exploded.xml b/.idea/artifacts/GDMS_war_exploded.xml index 7c2d977..6b1fe0c 100644 --- a/.idea/artifacts/GDMS_war_exploded.xml +++ b/.idea/artifacts/GDMS_war_exploded.xml @@ -7,9 +7,6 @@ - - - diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 0000000..c00abce --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,19 @@ + + + + + mariadb + true + org.mariadb.jdbc.Driver + jdbc:mariadb://localhost:3306/gdms + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/dictionaries/zhai_.xml b/.idea/dictionaries/zhai_.xml index def2846..02285b8 100644 --- a/.idea/dictionaries/zhai_.xml +++ b/.idea/dictionaries/zhai_.xml @@ -1,6 +1,8 @@ + gdms + mariadb synchronizable diff --git a/GDMS.iml b/GDMS.iml index 429fca0..4bde68d 100644 --- a/GDMS.iml +++ b/GDMS.iml @@ -19,14 +19,16 @@ - + + - + + \ No newline at end of file diff --git a/deployment/context.xml b/deployment/context.xml new file mode 100644 index 0000000..9e9d9af --- /dev/null +++ b/deployment/context.xml @@ -0,0 +1,10 @@ + + + + diff --git a/deployment/deploy.txt b/deployment/deploy.txt new file mode 100644 index 0000000..4002c30 --- /dev/null +++ b/deployment/deploy.txt @@ -0,0 +1,4 @@ +0 windows home 1809 +1 java jdk10 默认路径 +2 tomcat8.5 默认路径 +3 \ No newline at end of file diff --git a/deployment/init.sql b/deployment/init.sql new file mode 100644 index 0000000..e379d84 --- /dev/null +++ b/deployment/init.sql @@ -0,0 +1 @@ +CREATE DATABASE `GDMS`; \ No newline at end of file diff --git a/deployment/mariadb-java-client-2.3.0.jar b/deployment/mariadb-java-client-2.3.0.jar new file mode 100644 index 0000000..cbfa673 Binary files /dev/null and b/deployment/mariadb-java-client-2.3.0.jar differ diff --git a/webpage/photo/学校发布选题.png b/documents/shortcut-webpage/photo/学校发布选题.png similarity index 100% rename from webpage/photo/学校发布选题.png rename to documents/shortcut-webpage/photo/学校发布选题.png diff --git a/webpage/photo/学校端首页.png b/documents/shortcut-webpage/photo/学校端首页.png similarity index 100% rename from webpage/photo/学校端首页.png rename to documents/shortcut-webpage/photo/学校端首页.png diff --git a/webpage/photo/学生选题.png b/documents/shortcut-webpage/photo/学生选题.png similarity index 100% rename from webpage/photo/学生选题.png rename to documents/shortcut-webpage/photo/学生选题.png diff --git a/webpage/photo/登陆界面.png b/documents/shortcut-webpage/photo/登陆界面.png similarity index 100% rename from webpage/photo/登陆界面.png rename to documents/shortcut-webpage/photo/登陆界面.png diff --git a/webpage/photo/老师的课题列表.png b/documents/shortcut-webpage/photo/老师的课题列表.png similarity index 100% rename from webpage/photo/老师的课题列表.png rename to documents/shortcut-webpage/photo/老师的课题列表.png diff --git a/webpage/photo/老师端学生列表.png b/documents/shortcut-webpage/photo/老师端学生列表.png similarity index 100% rename from webpage/photo/老师端学生列表.png rename to documents/shortcut-webpage/photo/老师端学生列表.png diff --git a/src/core/process/APSet.java b/src/core/process/APSet.java deleted file mode 100644 index a927166..0000000 --- a/src/core/process/APSet.java +++ /dev/null @@ -1,4 +0,0 @@ -package core.process; - -public class APSet { -} diff --git a/src/core/process/CompoundProcess.java b/src/core/process/CompoundProcess.java deleted file mode 100644 index c4636be..0000000 --- a/src/core/process/CompoundProcess.java +++ /dev/null @@ -1,11 +0,0 @@ -package core.process; - -import java.util.List; - -public class CompoundProcess extends Process { - private List processes; - public CompoundProcess(String info) { - super(info); - } - -} diff --git a/src/core/process/Condition.java b/src/core/process/Condition.java new file mode 100644 index 0000000..4d62665 --- /dev/null +++ b/src/core/process/Condition.java @@ -0,0 +1,23 @@ +package core.process; + +import java.util.ArrayList; +import java.util.List; + +public class Condition { + private List processes; + public Process get(int index){ + return processes.get(index); + } + public Condition(List processes){ + this.processes=processes; + } + public Condition(){ + processes = new ArrayList<>(); + } + public void add(Process process){ + this.processes.add(process); + } + public void add(List processes){ + this.processes.addAll(processes); + } +} diff --git a/src/core/process/LastProcess.java b/src/core/process/LastProcess.java new file mode 100644 index 0000000..316e405 --- /dev/null +++ b/src/core/process/LastProcess.java @@ -0,0 +1,8 @@ +package core.process; + +public class LastProcess extends Process{ + + public LastProcess(String info) { + super(info); + } +} diff --git a/src/core/process/ProcessManagement.java b/src/core/process/ProcessManagement.java index f7d1e1e..dbffd13 100644 --- a/src/core/process/ProcessManagement.java +++ b/src/core/process/ProcessManagement.java @@ -1,10 +1,25 @@ package core.process; import java.io.File; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; public class ProcessManagement { - private CompoundProcess processes; + private List processes; + private Map> lastProcesses; public void setProcessesByJson(File file){ //todo } + public Process getAtomProcess(int index){ + return processes.get(index); + } + public Condition getCondition(String userType, List index){ + Condition condition = new Condition(lastProcesses.get(userType)); + for(int i:index){ + condition.add(getAtomProcess(i)); + } + return condition; + } + } diff --git a/src/core/user/User.java b/src/core/user/User.java index 494f8fb..0f81d10 100644 --- a/src/core/user/User.java +++ b/src/core/user/User.java @@ -1,11 +1,9 @@ package core.user; -import core.process.APSet; -import core.process.ProcessManagement; +import core.process.Condition; import core.user.userFun.AccountManageable; import core.user.userFun.ProcessConfigurable; -import java.io.File; import java.util.List; public abstract class User implements AccountManageable, ProcessConfigurable{ @@ -13,7 +11,7 @@ public abstract class User implements AccountManageable, ProcessConfigurable{ private String id; private String password; private List permissions = null; - private APSet condition; + private Condition condition; public void addPermission(String permission){ if(!permissions.contains(permission)) permissions.add(permission); diff --git a/src/dao/DBManagement.java b/src/dao/DBManagement.java new file mode 100644 index 0000000..e597616 --- /dev/null +++ b/src/dao/DBManagement.java @@ -0,0 +1,43 @@ +package dao; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.Properties; + +import org.apache.tomcat.jdbc.pool.DataSource; +import org.apache.tomcat.jdbc.pool.PoolProperties; + + +public class DBManagement { + + static final String driverClassName="org.mariadb.jdbc.Driver"; + static final String url="jdbc:mariadb://localhost:3306/gdms"; + static final String username="gdms"; + static final String password="GDMS"; + + public static DataSource dataSource = new DataSource(); + + public void init(){ + PoolProperties poolProperties = new PoolProperties(); + poolProperties.setUrl(url); + poolProperties.setDriverClassName(driverClassName); + poolProperties.setUsername(username); + poolProperties.setPassword(password); + dataSource.setPoolProperties(poolProperties); + } + public static Connection getConnection(){ + try { + Class.forName(driverClassName); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + try { + return DriverManager.getConnection(url,username,password); + } catch (SQLException e) { + e.printStackTrace(); + } + return null; + } +} diff --git a/src/dao/Utils.java b/src/dao/Utils.java index d32e4f7..8f22aa1 100644 --- a/src/dao/Utils.java +++ b/src/dao/Utils.java @@ -1,4 +1,6 @@ package dao; public interface Utils { + + } diff --git a/src/gdms/test.java b/src/gdms/test.java index 48ec04b..615ee8d 100644 --- a/src/gdms/test.java +++ b/src/gdms/test.java @@ -1,16 +1,49 @@ package gdms; import core.user.Student; import core.user.User; +import dao.DBManagement; +import org.apache.tomcat.jdbc.pool.DataSource; +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; import java.lang.reflect.InvocationTargetException; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; import java.util.ArrayList; import java.util.List; import java.util.Map; public class test { - public static void main(String argc[]){ - String sTest = "-a add -s set -d delete"; - Map test = core.operation.utils.util.string2MapOptions(sTest); - System.out.println(test); + public test(){ + Connection con = null; + try{ + con = DBManagement.getConnection(); + Statement stmt = con.createStatement(); //创建Statement对象 + System.out.print("成功连接到数据库!"); + String sql = "select * from test"; + ResultSet rs = stmt.executeQuery(sql); + rs.next(); + System.out.println(rs.getString("name")); + rs.close(); + stmt.close(); + con.close(); + }catch (Exception e){ + e.printStackTrace(); + }finally { + if(con!=null) { + try { + con.close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + + } + public static void main(String argc[]) throws NamingException, SQLException { + new test(); } } diff --git a/src/init/Init.java b/src/init/Init.java new file mode 100644 index 0000000..dfc60d4 --- /dev/null +++ b/src/init/Init.java @@ -0,0 +1,26 @@ +package init; + +import dao.DBManagement; +import gdms.test; + +import javax.servlet.ServletException; +import javax.servlet.annotation.WebServlet; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebServlet(name = "Init") +public class Init extends HttpServlet { + public void init(){ + new DBManagement().init(); + new test(); + } + protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } + + protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { + + } +} diff --git a/web/WEB-INF/lib/mariadb-java-client-2.3.0.jar b/web/WEB-INF/lib/mariadb-java-client-2.3.0.jar new file mode 100644 index 0000000..cbfa673 Binary files /dev/null and b/web/WEB-INF/lib/mariadb-java-client-2.3.0.jar differ diff --git a/web/WEB-INF/web.xml b/web/WEB-INF/web.xml index d80081d..3d93697 100644 --- a/web/WEB-INF/web.xml +++ b/web/WEB-INF/web.xml @@ -3,4 +3,13 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> + + Init + init.Init + 1 + + + Init + /init + \ No newline at end of file