├── core
├── libs
│ ├── patchca-0.5.0.jar
│ ├── jcaptcha-all-1.0-RC6.jar
│ └── taobao-sdk-java-auto_1455552377940-20160505.jar
├── src
│ └── main
│ │ └── java
│ │ └── com
│ │ └── university
│ │ ├── alumni
│ │ ├── dao
│ │ │ ├── UserDao.java
│ │ │ └── impl
│ │ │ │ └── UserDaoImpl.java
│ │ ├── application
│ │ │ ├── UserService.java
│ │ │ └── impl
│ │ │ │ └── UserServiceImpl.java
│ │ └── entity
│ │ │ └── User.java
│ │ └── common
│ │ ├── util
│ │ ├── SHA256.java
│ │ ├── BaseUtils.java
│ │ ├── NoCheckUrlsUtils.java
│ │ └── CaptchaUtils.java
│ │ ├── velocity
│ │ └── tools
│ │ │ ├── UploadFileTool.java
│ │ │ ├── StaticFileTool.java
│ │ │ └── JsonTool.java
│ │ ├── dto
│ │ └── JsonResponseResult.java
│ │ ├── dao
│ │ ├── BaseDao.java
│ │ └── impl
│ │ │ └── BaseDaoImpl.java
│ │ ├── config
│ │ └── ConfigService.java
│ │ └── filter
│ │ └── SpringMVCSessionFilter.java
└── pom.xml
├── admin
├── src
│ └── main
│ │ ├── resources
│ │ ├── config
│ │ │ ├── redis.properties
│ │ │ ├── common.properties
│ │ │ ├── menu.properties
│ │ │ ├── email.properties
│ │ │ ├── sms.properties
│ │ │ └── database.properties
│ │ ├── velocity.properties
│ │ ├── toolbox.xml
│ │ ├── velocity-toolbox.xml
│ │ ├── log4j.properties
│ │ ├── log4j.properties.real
│ │ ├── spring-servlet.xml
│ │ └── applicationContext.xml
│ │ ├── webapp
│ │ ├── index.jsp
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ └── java
│ │ └── com
│ │ └── university
│ │ └── alumni
│ │ └── admin
│ │ ├── web
│ │ └── controller
│ │ │ └── UserController.java
│ │ └── config
│ │ └── HibernateConfiguration.java
└── pom.xml
├── client
├── src
│ └── main
│ │ ├── resources
│ │ ├── config
│ │ │ ├── redis.properties
│ │ │ ├── menu.properties
│ │ │ ├── common.properties
│ │ │ ├── email.properties
│ │ │ ├── sms.properties
│ │ │ └── database.properties
│ │ ├── velocity.properties
│ │ ├── toolbox.xml
│ │ ├── velocity-toolbox.xml
│ │ ├── log4j.properties
│ │ ├── log4j.properties.real
│ │ ├── spring-servlet.xml
│ │ └── applicationContext.xml
│ │ ├── webapp
│ │ ├── index.jsp
│ │ └── WEB-INF
│ │ │ └── web.xml
│ │ └── java
│ │ └── com
│ │ └── university
│ │ └── alumni
│ │ └── client
│ │ └── config
│ │ └── HibernateConfiguration.java
└── pom.xml
├── .gitignore
├── pom.xml
└── README.md
/core/libs/patchca-0.5.0.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1111111ww/alumni/HEAD/core/libs/patchca-0.5.0.jar
--------------------------------------------------------------------------------
/admin/src/main/resources/config/redis.properties:
--------------------------------------------------------------------------------
1 | redis_ip=127.0.0.1
2 | redis_port=6379
3 | redis_passKey=imsaRedis01
4 |
--------------------------------------------------------------------------------
/admin/src/main/webapp/index.jsp:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello World,admin's page here .
4 |
5 |
6 |
--------------------------------------------------------------------------------
/client/src/main/resources/config/redis.properties:
--------------------------------------------------------------------------------
1 | redis_ip=127.0.0.1
2 | redis_port=6379
3 | redis_passKey=imsaRedis01
4 |
--------------------------------------------------------------------------------
/client/src/main/webapp/index.jsp:
--------------------------------------------------------------------------------
1 |
2 |
3 | Hello World,client's page here.
4 |
5 |
6 |
--------------------------------------------------------------------------------
/core/libs/jcaptcha-all-1.0-RC6.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1111111ww/alumni/HEAD/core/libs/jcaptcha-all-1.0-RC6.jar
--------------------------------------------------------------------------------
/core/libs/taobao-sdk-java-auto_1455552377940-20160505.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/1111111ww/alumni/HEAD/core/libs/taobao-sdk-java-auto_1455552377940-20160505.jar
--------------------------------------------------------------------------------
/admin/src/main/resources/config/common.properties:
--------------------------------------------------------------------------------
1 | defaultPoolSize =5
2 | host=http://dev202.admin.cc.cmsa.cn
3 | pageSize=50
4 | examHost=172.21.120.201:15200
5 | adminHost=127.0.0.1:4040
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by .ignore support plugin (hsz.mobi)
2 | ### Example user template template
3 | ### Example user template
4 |
5 | # IntelliJ project files
6 | .idea
7 | *.iml
8 | out
9 | gen
10 |
--------------------------------------------------------------------------------
/admin/src/main/resources/config/menu.properties:
--------------------------------------------------------------------------------
1 | ############## menuOrder.properties ##############################
2 | menuOrder.super=
3 | menuOrder.admin=
4 | menuOrder.user=
5 | ############## menuOrder.properties ##############################
--------------------------------------------------------------------------------
/client/src/main/resources/config/menu.properties:
--------------------------------------------------------------------------------
1 | ############## menuOrder.properties ##############################
2 | menuOrder.super=
3 | menuOrder.admin=
4 | menuOrder.user=
5 | ############## menuOrder.properties ##############################
--------------------------------------------------------------------------------
/client/src/main/resources/config/common.properties:
--------------------------------------------------------------------------------
1 | defaultPoolSize =5
2 | host=http://dev202.admin.cc.cmsa.cn
3 | pageSize=50
4 | examHost=172.21.120.201:15200
5 |
6 | match-start-time=9
7 | match-end-time=15
8 |
9 | match-start-time.weiqi=9
10 | match-end-time.weiqi=15
--------------------------------------------------------------------------------
/client/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 | Archetype Created Web Application
7 |
8 |
--------------------------------------------------------------------------------
/admin/src/main/resources/config/email.properties:
--------------------------------------------------------------------------------
1 | ####################email.properties#########################################
2 | smtpHostName=smtp.exmail.qq.com
3 | smtpEmail=no-reply@imsa.org.cn
4 | smtpPass=imsaORG123
5 | ##############email.properties##############################
--------------------------------------------------------------------------------
/client/src/main/resources/config/email.properties:
--------------------------------------------------------------------------------
1 | ####################email.properties#########################################
2 | smtpHostName=smtp.exmail.qq.com
3 | smtpEmail=no-reply@imsa.org.cn
4 | smtpPass=imsaORG123
5 | ##############email.properties##############################
--------------------------------------------------------------------------------
/core/src/main/java/com/university/alumni/dao/UserDao.java:
--------------------------------------------------------------------------------
1 | package com.university.alumni.dao;
2 |
3 | import com.university.alumni.entity.User;
4 |
5 | /**
6 | * Created by wm on 2017/1/19.
7 | */
8 | public interface UserDao {
9 | public User addUser(String name,String age);
10 | }
11 |
--------------------------------------------------------------------------------
/core/src/main/java/com/university/alumni/application/UserService.java:
--------------------------------------------------------------------------------
1 | package com.university.alumni.application;
2 |
3 | import com.university.alumni.entity.User;
4 |
5 | /**
6 | * Created by wm on 2017/1/19.
7 | */
8 | public interface UserService {
9 | public User addUser(String name,String age);
10 | }
11 |
--------------------------------------------------------------------------------
/admin/src/main/resources/velocity.properties:
--------------------------------------------------------------------------------
1 | velocimacro.permissions.allow.inline=true
2 | velocimacro.permissions.allow.inline.to.replace.global=true
3 | velocimacro.permissions.allow.inline.local.scope=true
4 | input.encoding=UTF-8
5 | output.encoding=UTF-8
6 | resource.loader=webapp, class
7 | class.resource.loader.description=Velocity Classpath Resource Loader
8 | class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
9 | webapp.resource.loader.class=org.apache.velocity.tools.view.WebappResourceLoader
10 | webapp.resource.loader.path=/views/
11 | webapp.resource.loader.cache=false
--------------------------------------------------------------------------------
/client/src/main/resources/velocity.properties:
--------------------------------------------------------------------------------
1 | velocimacro.permissions.allow.inline=true
2 | velocimacro.permissions.allow.inline.to.replace.global=true
3 | velocimacro.permissions.allow.inline.local.scope=true
4 | input.encoding=UTF-8
5 | output.encoding=UTF-8
6 | resource.loader=webapp, class
7 | class.resource.loader.description=Velocity Classpath Resource Loader
8 | class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
9 | webapp.resource.loader.class=org.apache.velocity.tools.view.WebappResourceLoader
10 | webapp.resource.loader.path=/views/
11 | webapp.resource.loader.cache=false
--------------------------------------------------------------------------------
/admin/src/main/resources/config/sms.properties:
--------------------------------------------------------------------------------
1 | ##############sms.properties##############################
2 | sms.disabled = false
3 | sms.url = http://gw.api.taobao.com/router/rest
4 | sms.appKey = 23381733
5 | sms.appSecret = a1f307d8280946ac530bac9a66d039b6
6 | sms.signName = \u8d5b\u4e8b\u7ba1\u7406\u5e73\u53f0
7 | sms.templateCode = SMS_10315845
8 |
9 | #sms.host = app.cloopen.com
10 | #sms.port = 8883
11 | #sms.accountSid = 8a48b551511a2cec01511e6dd1ab0d34
12 | #sms.authToken = 1a879fe704014fdb9a4b48ddb4232329
13 | #sms.appId = aaf98f89524954cc0152540f6b0314e5
14 | #sms.templateId = 63084
15 | ##############sms.properties##############################
--------------------------------------------------------------------------------
/core/src/main/java/com/university/alumni/dao/impl/UserDaoImpl.java:
--------------------------------------------------------------------------------
1 | package com.university.alumni.dao.impl;
2 |
3 | import com.university.alumni.dao.UserDao;
4 | import com.university.alumni.entity.User;
5 | import com.university.common.dao.impl.BaseDaoImpl;
6 | import org.springframework.stereotype.Repository;
7 |
8 | /**
9 | * Created by wm on 2017/1/19.
10 | */
11 | @Repository
12 | public class UserDaoImpl extends BaseDaoImpl implements UserDao {
13 |
14 | @Override
15 | public User addUser(String name, String age) {
16 | User user=new User();
17 | user.setName("娜娜");
18 | user.setAge("19");
19 | save(user);
20 | return user;
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/core/src/main/java/com/university/common/util/SHA256.java:
--------------------------------------------------------------------------------
1 | package com.university.common.util;
2 | import java.security.MessageDigest;
3 |
4 |
5 | public class SHA256 {
6 | public static String encrypt(String str)
7 | {
8 | String result="";
9 | try
10 | {
11 | MessageDigest md = MessageDigest.getInstance("SHA-256");
12 | md.update(str.getBytes("GBK"));
13 |
14 | for(byte b:md.digest())
15 | {
16 | result=result+b;
17 | }
18 | }
19 | catch (Exception e)
20 | {
21 | e.printStackTrace();
22 | }
23 | return result;
24 | }
25 | public static void main(String[] args) {
26 | System.out.println(encrypt("imsa@W#E$R%T"));
27 | }
28 | }
--------------------------------------------------------------------------------
/core/src/main/java/com/university/alumni/application/impl/UserServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.university.alumni.application.impl;
2 |
3 | import com.university.alumni.application.UserService;
4 | import com.university.alumni.dao.UserDao;
5 | import com.university.alumni.entity.User;
6 | import org.springframework.beans.factory.annotation.Autowired;
7 | import org.springframework.stereotype.Service;
8 | import org.springframework.transaction.annotation.Transactional;
9 |
10 | /**
11 | * Created by wm on 2017/1/19.
12 | */
13 | @Service
14 | public class UserServiceImpl implements UserService{
15 | @Autowired
16 | private UserDao userDao;
17 |
18 |
19 | @Override
20 | @Transactional
21 | public User addUser(String name, String age) {
22 | return userDao.addUser(name, age);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/admin/src/main/java/com/university/alumni/admin/web/controller/UserController.java:
--------------------------------------------------------------------------------
1 | package com.university.alumni.admin.web.controller;
2 |
3 | import com.university.alumni.application.UserService;
4 | import org.springframework.beans.factory.annotation.Autowired;
5 | import org.springframework.stereotype.Controller;
6 | import org.springframework.web.bind.annotation.RequestMapping;
7 |
8 | import javax.servlet.http.HttpServletRequest;
9 | import javax.servlet.http.HttpServletResponse;
10 |
11 | /**
12 | * Created by wm on 2017/1/19.
13 | */
14 | @Controller
15 | @RequestMapping("/user")
16 | public class UserController {
17 | @Autowired
18 | private UserService userService;
19 |
20 | @RequestMapping("/addUser")
21 | public void addUser(String name , String age, HttpServletRequest request, HttpServletResponse response){
22 | userService.addUser(name, age);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/client/src/main/resources/config/sms.properties:
--------------------------------------------------------------------------------
1 | ##############sms.properties##############################
2 |
3 | sms.disabled = false
4 | sms.url = http://gw.api.taobao.com/router/rest
5 | sms.appKey = 23551977
6 | sms.appSecret = b4db51d23014a72fe315b706861b2ada
7 | sms.signName = \u8d5b\u4e8b\u7ba1\u7406\u5e73\u53f0
8 | sms.templateCode = SMS_10315845
9 |
10 | # old
11 | #sms.disabled = false
12 | #sms.url = http://gw.api.taobao.com/router/rest
13 | #sms.appKey = 23381733
14 | #sms.appSecret = a1f307d8280946ac530bac9a66d039b6
15 | #sms.signName = \u8d5b\u4e8b\u7ba1\u7406\u5e73\u53f0
16 | #sms.templateCode = SMS_10315845
17 |
18 | #sms.host = app.cloopen.com
19 | #sms.port = 8883
20 | #sms.accountSid = 8a48b551511a2cec01511e6dd1ab0d34
21 | #sms.authToken = 1a879fe704014fdb9a4b48ddb4232329
22 | #sms.appId = aaf98f89524954cc0152540f6b0314e5
23 | #sms.templateId = 63084
24 | ##############sms.properties##############################
--------------------------------------------------------------------------------
/admin/src/main/resources/config/database.properties:
--------------------------------------------------------------------------------
1 | ####################jdbc.properties#########################################
2 | database.connection.driver = com.mysql.jdbc.Driver
3 | database.connection.user = root
4 | database.connection.password =root
5 | database.connection.url = jdbc:mysql://localhost:3306/alumni?useUnicode=true&characterEncoding=utf8
6 |
7 |
8 |
9 | database.hibernate.schema_update = none
10 | database.hibernate.max_fetch_depth=0
11 | database.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
12 | database.hibernate.show_sql = false
13 | database.hibernate.format_sql = true
14 | database.hibernate.use_sql_comments = true
15 | database.hibernate.jdbc.batch_size = 50
16 | database.hibernate.hbm2ddl.auto = none
17 | database.hibernate.connection.isolation=2
18 | database.hibernate.connection.release_mode=after_transaction
19 | database.hibernate.autoReconnect = true
20 | database.hibernate.temp.use_jdbc_metadata_defaults = false
21 | ####################jdbc.properties#########################################
--------------------------------------------------------------------------------
/client/src/main/resources/config/database.properties:
--------------------------------------------------------------------------------
1 | ####################jdbc.properties#########################################
2 | database.connection.driver = com.mysql.jdbc.Driver
3 | database.connection.user = root
4 | database.connection.password =root
5 | database.connection.url = jdbc:mysql://localhost:3306/alumni?useUnicode=true&characterEncoding=utf8
6 |
7 |
8 |
9 | database.hibernate.schema_update = none
10 | database.hibernate.max_fetch_depth=0
11 | database.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
12 | database.hibernate.show_sql = false
13 | database.hibernate.format_sql = true
14 | database.hibernate.use_sql_comments = true
15 | database.hibernate.jdbc.batch_size = 50
16 | database.hibernate.hbm2ddl.auto = none
17 | database.hibernate.connection.isolation=2
18 | database.hibernate.connection.release_mode=after_transaction
19 | database.hibernate.autoReconnect = true
20 | database.hibernate.temp.use_jdbc_metadata_defaults = false
21 | ####################jdbc.properties#########################################
--------------------------------------------------------------------------------
/core/src/main/java/com/university/alumni/entity/User.java:
--------------------------------------------------------------------------------
1 | package com.university.alumni.entity;
2 |
3 | import javax.persistence.*;
4 |
5 | /**
6 | * Created by wm on 2017/1/18.
7 | */
8 | @Entity
9 | @Table(name="User")
10 | public class User {
11 | private Integer id;
12 | private String name;
13 | private String age;
14 |
15 | @Id
16 | @GeneratedValue(strategy = GenerationType.IDENTITY)
17 | @Column(name="id",unique = true,nullable = false)
18 | public Integer getId() {
19 | return id;
20 | }
21 |
22 | public void setId(Integer id) {
23 | this.id = id;
24 | }
25 |
26 | @Column(name = "name",nullable = true)
27 | public String getName() {
28 | return name;
29 | }
30 |
31 | public void setName(String name) {
32 | this.name = name;
33 | }
34 |
35 | @Column(name = "age",nullable = true)
36 | public String getAge() {
37 | return age;
38 | }
39 |
40 | public void setAge(String age) {
41 | this.age = age;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 4.0.0
6 |
7 | com.university
8 | alumni
9 | pom
10 | 1.0-SNAPSHOT
11 |
12 |
13 | 4.2.2.RELEASE
14 | 4.3.6.Final
15 | 2.6.3
16 | 1.8
17 | 1.8
18 | ${project.basedir}
19 |
20 |
21 |
22 |
23 | admin
24 | client
25 | core
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/client/pom.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 | alumni
5 | com.university
6 | 1.0-SNAPSHOT
7 |
8 | 4.0.0
9 | client
10 | war
11 | client Maven Webapp
12 | http://maven.apache.org
13 |
14 |
15 | com.university
16 | core
17 | 1.0-SNAPSHOT
18 |
19 |
20 | junit
21 | junit
22 | 3.8.1
23 | test
24 |
25 |
26 |
27 | client
28 |
29 |
30 |
--------------------------------------------------------------------------------
/admin/pom.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 | alumni
5 | com.university
6 | 1.0-SNAPSHOT
7 |
8 | 4.0.0
9 | admin
10 | war
11 |
12 |
13 | admin Maven Webapp
14 | http://maven.apache.org
15 |
16 |
17 |
18 | com.university
19 | core
20 | 1.0-SNAPSHOT
21 |
22 |
23 | junit
24 | junit
25 | 3.8.1
26 | test
27 |
28 |
29 |
30 | admin
31 |
32 |
33 |
--------------------------------------------------------------------------------
/core/src/main/java/com/university/common/velocity/tools/UploadFileTool.java:
--------------------------------------------------------------------------------
1 | package com.university.common.velocity.tools;
2 |
3 | import org.apache.velocity.tools.generic.LocaleConfig;
4 | import org.apache.velocity.tools.generic.ValueParser;
5 |
6 | import java.net.MalformedURLException;
7 | import java.nio.file.Path;
8 | import java.nio.file.Paths;
9 |
10 | /**
11 | * Created by luxin on 16/7/20.
12 | */
13 | public class UploadFileTool extends LocaleConfig {
14 |
15 | public static final String DEFAULT_BASE_URL = "";
16 |
17 | private String baseUrl;
18 |
19 | public String getBaseUrl() {
20 | return baseUrl;
21 | }
22 |
23 | protected void setBaseUrl(String baseUrl) {
24 | this.baseUrl = baseUrl;
25 | }
26 |
27 | protected void configure(ValueParser values) {
28 | super.configure(values);
29 | String baseUrl = values.getString("baseUrl");
30 | if (baseUrl != null) {
31 | this.setBaseUrl(baseUrl);
32 | } else {
33 | this.setBaseUrl(DEFAULT_BASE_URL);
34 | }
35 | }
36 |
37 | public String url() {
38 | return this.getBaseUrl();
39 | }
40 |
41 | public String url(String relativeUrl) throws MalformedURLException {
42 | String baseUrl = this.getBaseUrl();
43 | Path url = Paths.get(baseUrl, relativeUrl);
44 | return url.toString();
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/core/src/main/java/com/university/common/dto/JsonResponseResult.java:
--------------------------------------------------------------------------------
1 | package com.university.common.dto;
2 |
3 |
4 |
5 | public class JsonResponseResult {
6 |
7 | private Integer code;
8 |
9 | private String msg;
10 |
11 | private T response;
12 |
13 | public Integer getCode() {
14 | return code;
15 | }
16 |
17 | public JsonResponseResult setCode(Integer code) {
18 | this.code = code;
19 | return this;
20 | }
21 |
22 | public String getMsg() {
23 | return msg;
24 | }
25 |
26 | public JsonResponseResult setMsg(String msg) {
27 | this.msg = msg;
28 | return this;
29 | }
30 |
31 | public T getResponse() {
32 | return response;
33 | }
34 |
35 | public JsonResponseResult setResponse(T response) {
36 | this.response = response;
37 | return this;
38 | }
39 |
40 | public JsonResponseResult createSuccess() {
41 | return this.setCode(0).setMsg("success");
42 | }
43 |
44 | public static JsonResponseResult Success() {
45 | return new JsonResponseResult().setCode(0).setMsg("success");
46 | }
47 |
48 | public static JsonResponseResult Success(Object response) {
49 | return JsonResponseResult.Success().setResponse(response);
50 | }
51 |
52 | public static JsonResponseResult Error(Integer errorCode, String message) {
53 | return new JsonResponseResult().setCode(errorCode).setMsg(message);
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/admin/src/main/resources/toolbox.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | date
5 | request
6 |
7 | org.apache.velocity.tools.generic.DateTool
8 |
9 |
10 |
11 |
12 | link
13 | request
14 | org.apache.velocity.tools.view.tools.LinkTool
15 |
16 |
17 | stringUtils
18 | request
19 | org.apache.velocity.util.StringUtils
20 |
21 |
22 | math
23 | application
24 | org.apache.velocity.tools.generic.MathTool
25 |
26 |
27 | escape
28 | request
29 | org.apache.velocity.tools.generic.EscapeTool
30 |
31 |
32 | params
33 | request
34 | org.apache.velocity.tools.view.tools.ParameterParser
35 |
36 |
37 | json
38 | request
39 | com.zhongqi.common.velocity.tools.JsonTool
40 |
41 |
42 | upload
43 | request
44 | com.zhongqi.common.velocity.tools.UploadFileTool
45 |
46 |
47 |
--------------------------------------------------------------------------------
/client/src/main/resources/toolbox.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | date
5 | request
6 |
7 | org.apache.velocity.tools.generic.DateTool
8 |
9 |
10 |
11 |
12 | link
13 | request
14 | org.apache.velocity.tools.view.tools.LinkTool
15 |
16 |
17 | stringUtils
18 | request
19 | org.apache.velocity.util.StringUtils
20 |
21 |
22 | math
23 | application
24 | org.apache.velocity.tools.generic.MathTool
25 |
26 |
27 | escape
28 | request
29 | org.apache.velocity.tools.generic.EscapeTool
30 |
31 |
32 | params
33 | request
34 | org.apache.velocity.tools.view.tools.ParameterParser
35 |
36 |
37 | json
38 | request
39 | com.zhongqi.common.velocity.tools.JsonTool
40 |
41 |
42 | upload
43 | request
44 | com.zhongqi.common.velocity.tools.UploadFileTool
45 |
46 |
47 |
--------------------------------------------------------------------------------
/core/src/main/java/com/university/common/velocity/tools/StaticFileTool.java:
--------------------------------------------------------------------------------
1 | package com.university.common.velocity.tools;
2 |
3 | import org.apache.velocity.tools.generic.LocaleConfig;
4 | import org.apache.velocity.tools.generic.ValueParser;
5 |
6 | import java.net.MalformedURLException;
7 |
8 | /**
9 | * Created by songrenfei on 2016/12/14.
10 | */
11 | public class StaticFileTool extends LocaleConfig {
12 |
13 | public static final String DEFAULT_BASE_URL = "";
14 |
15 | private String baseUrl;
16 |
17 | public String getBaseUrl() {
18 | return baseUrl;
19 | }
20 |
21 | protected void setBaseUrl(String baseUrl) {
22 | this.baseUrl = baseUrl;
23 | }
24 |
25 | protected void configure(ValueParser values) {
26 | super.configure(values);
27 | String baseUrl = values.getString("baseUrl");
28 | if (baseUrl != null) {
29 | this.setBaseUrl(baseUrl);
30 | } else {
31 | this.setBaseUrl(DEFAULT_BASE_URL);
32 | }
33 | }
34 |
35 | public String url() {
36 | return this.getBaseUrl();
37 | }
38 |
39 | public String url(String relativeUrl) throws MalformedURLException {
40 | //String baseUrl = this.getBaseUrl();
41 | //Path url = Paths.get(baseUrl, relativeUrl);
42 |
43 | //System.out.println(baseUrl+relativeUrl);
44 | return baseUrl+relativeUrl;
45 |
46 |
47 | // prod
48 | //return "http://s.imsa.cn/wzh/static"+relativeUrl;
49 |
50 |
51 | // dev
52 | //return "/static"+relativeUrl;
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 河南工学院校友网管理系统
2 |
3 | [TOC]
4 |
5 | ## 项目来源
6 | 校友系统不只是一套软件系统,而是一整套“互联网+校友”的解决方案。校友系统通过帮助院校搭建校友互动平台和校友管理系统,拓展院校在校友服务方面的效率和范围,帮助院校提升校友工作信息化水平。
7 |
8 | ## 设计任务说明
9 | 按软件工程规范描述管理员端需求,细化用例规约,合理设计数据库,实现以下功能:
10 |
11 | ### 后台管理模块功能
12 | 1. 校友数据管理
13 | 1. 校友增删改
14 | 2. 校友快速搜索、高级搜索
15 | 3. 校友分组的增删改
16 | 4. 为校友重置登陆密码
17 | 提供以下10项校友统计方式:毕业年份、教育阶段、年龄、性别、民族、籍贯、政治面貌、单位性质、行业、所在省份。
18 | 2. 校友活动管理
19 | 1. 发起活动
20 | 2. 修改、删除活动
21 | 3. 管理活动报名情况(增删)
22 | 4. 导出活动报名表
23 | 5. 审核校友发起的活动
24 | 3. 新闻、公告管理
25 | 1. 新闻分类管理(增删改、排序)
26 | 2. 新闻管理(增删改、查询)
27 | 3. 公告管理(增删改、查询)
28 | 4. 校友资料管理
29 | 1. 校友文档分类管理(增删改、排序)
30 | 2. 校友文档管理(增删改、查询)
31 | 3. 校友相册管理(增删改、排序)
32 | 4. 校友视频分类管理(增删查改、排序)
33 | 5. 所有资料均可设置查看权限
34 | 6. 所有类型资料均支持校友上传,后台审核
35 |
36 | ### 前台模块功能
37 | 1. 网站首页
38 | 1. 能够显示出最新网站通知公告、校友新闻和学校活动,双击每个新闻通告的标题,可看到新闻内容,点击“更多”则进入该类的标题列表项。
39 | 2. 显示 Flash,可切换图片新闻,点击进入新闻内容。
40 | 3. 显示友情链接、网站帮助版权、信息和校庆专栏。
41 | 2. 校友新闻
42 | - 显示最新若干条校友新闻标题,点击后可进入详细内容,点击“更多”将显示该标题下的所有新闻列表。
43 | 3. 校友风采
44 | 1. 显示知名校友的姓名、简介和照片,点击“详细介绍”可了解该校友的详细情况。
45 | 2. 校友相册:对于每个注册成功的校友,可显示其名称、创建和更新日期和相册简介等。对于相册个人登录的情形,可进行新建和修改操作;查看他人相册,也可以发表评论。
46 | 4. 校友捐赠
47 | - 校友捐赠:显示最新若干条捐赠情况记录,点击“更多”进入所有列表,最新的若干条捐赠项目显示出来。向下滚动显示最新捐赠的捐赠校友的姓名、金额、捐赠日期等,并显示部分捐赠图片。
48 | 5. 校友服务
49 | - 学院简介及一些校内的相关部门链接。
50 | 6. 用户注册和登陆
51 | - 在某一页面左侧栏点击“登录校友网“即可进入登录页面,输入用户名、密码和验证码后点击“登录”,若信息正确则显示“登录成功”,同时异步更新页面的个人信息,显示个人头像、姓名、控制面板等信息;若看不清楚验证码,可点击验证码更换图片)。
52 | 7. 调查问卷功能:
53 | 1. 投票:阅读并填写调查问卷,点击投票按钮将投票信息上传至后台。
54 | 2. 查看结果:查看所有参与本次问卷调查校友的投票数据统计结果。
55 | 8. 站内搜索功能
56 |
57 | ## 项目介绍
58 | 本项目使用 Java 语言编写,后端框架 Spring + Springmvc + Hibernate ,前端框架 Jquery + Bootstrap ,数据库 mysql
59 |
60 | 未完待续……
--------------------------------------------------------------------------------
/admin/src/main/resources/velocity-toolbox.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | date
5 | request
6 |
7 | org.apache.velocity.tools.generic.DateTool
8 |
9 |
10 |
11 |
12 | link
13 | request
14 | org.apache.velocity.tools.view.tools.LinkTool
15 |
16 |
17 | stringUtils
18 | request
19 | org.apache.velocity.util.StringUtils
20 |
21 |
22 | math
23 | application
24 | org.apache.velocity.tools.generic.MathTool
25 |
26 |
27 | escape
28 | request
29 | org.apache.velocity.tools.generic.EscapeTool
30 |
31 |
32 | params
33 | request
34 | org.apache.velocity.tools.view.tools.ParameterParser
35 |
36 |
37 | json
38 | request
39 | com.zhongqi.common.velocity.tools.JsonTool
40 |
41 |
42 | upload
43 | request
44 | com.zhongqi.common.velocity.tools.UploadFileTool
45 |
46 |
47 |
48 | static
49 | request
50 | com.zhongqi.common.velocity.tools.StaticFileTool
51 |
52 |
53 |
--------------------------------------------------------------------------------
/client/src/main/resources/velocity-toolbox.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | date
5 | request
6 |
7 | org.apache.velocity.tools.generic.DateTool
8 |
9 |
10 |
11 |
12 | link
13 | request
14 | org.apache.velocity.tools.view.tools.LinkTool
15 |
16 |
17 | stringUtils
18 | request
19 | org.apache.velocity.util.StringUtils
20 |
21 |
22 | math
23 | application
24 | org.apache.velocity.tools.generic.MathTool
25 |
26 |
27 | escape
28 | request
29 | org.apache.velocity.tools.generic.EscapeTool
30 |
31 |
32 | params
33 | request
34 | org.apache.velocity.tools.view.tools.ParameterParser
35 |
36 |
37 | json
38 | request
39 | com.zhongqi.common.velocity.tools.JsonTool
40 |
41 |
42 | upload
43 | request
44 | com.zhongqi.common.velocity.tools.UploadFileTool
45 |
46 |
47 |
48 | static
49 | request
50 | com.zhongqi.common.velocity.tools.StaticFileTool
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/admin/src/main/resources/log4j.properties:
--------------------------------------------------------------------------------
1 | #log4j.rootLogger = [ level ] , appenderName, appenderName, ...
2 | log4j.rootLogger = info,console,R,RE
3 | #level=INFO,all can be output
4 | #console is set to be a ConsoleAppender
5 |
6 | ################### console ###################
7 | log4j.appender.console = org.apache.log4j.ConsoleAppender
8 | log4j.appender.console.layout = org.apache.log4j.PatternLayout
9 | log4j.appender.console.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p]-[%t] %m%n
10 | ################### console ###################
11 |
12 |
13 | ################### R ###################
14 | log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
15 | log4j.appender.R.Threshold = INFO
16 | log4j.appender.R.File = ${catalina.base}/logs/admin_info_log.txt
17 | log4j.appender.R.DatePattern='-'yyyy-MM-dd'.txt'
18 | log4j.appender.R.MaxFileSize = 10MB
19 | log4j.appender.R.MaxBackupIndex = 10000
20 | log4j.appender.R.layout = org.apache.log4j.PatternLayout
21 | log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p]-[%t] %m%n
22 | ################### R ###################
23 |
24 |
25 | ################### RE ###################
26 | log4j.appender.RE = org.apache.log4j.DailyRollingFileAppender
27 | log4j.appender.RE.Threshold = ERROR
28 | log4j.appender.RE.File = ${catalina.base}/logs/admin_error_log.txt
29 | log4j.appender.RE.DatePattern='-'yyyy-MM-dd'.txt'
30 | log4j.appender.RE.MaxFileSize = 10MB
31 | log4j.appender.RE.MaxBackupIndex = 10000
32 | log4j.appender.RE.layout = org.apache.log4j.PatternLayout
33 | log4j.appender.RE.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p]-[%t] %m%n
34 | ################### RE ###################
35 |
36 |
37 | ################### hibernate ###################
38 | log4j.logger.org.hibernate=info
39 | ################### hibernate ###################
40 |
41 | ################### springframework ###################
42 | log4j.logger.org.springframework=error
43 | ################### springframework ###################
44 |
--------------------------------------------------------------------------------
/client/src/main/resources/log4j.properties:
--------------------------------------------------------------------------------
1 | #log4j.rootLogger = [ level ] , appenderName, appenderName, ...
2 | log4j.rootLogger = info,console,R,RE
3 | #level=INFO,all can be output
4 | #console is set to be a ConsoleAppender
5 |
6 | ################### console ###################
7 | log4j.appender.console = org.apache.log4j.ConsoleAppender
8 | log4j.appender.console.layout = org.apache.log4j.PatternLayout
9 | log4j.appender.console.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p]-[%t] %m%n
10 | ################### console ###################
11 |
12 |
13 | ################### R ###################
14 | log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
15 | log4j.appender.R.Threshold = INFO
16 | log4j.appender.R.File = ${catalina.base}/logs/client_info_log.txt
17 | log4j.appender.R.DatePattern='-'yyyy-MM-dd'.txt'
18 | log4j.appender.R.MaxFileSize = 10MB
19 | log4j.appender.R.MaxBackupIndex = 10000
20 | log4j.appender.R.layout = org.apache.log4j.PatternLayout
21 | log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p]-[%t] %m%n
22 | ################### R ###################
23 |
24 |
25 | ################### RE ###################
26 | log4j.appender.RE = org.apache.log4j.DailyRollingFileAppender
27 | log4j.appender.RE.Threshold = ERROR
28 | log4j.appender.RE.File = ${catalina.base}/logs/client_error_log.txt
29 | log4j.appender.RE.DatePattern='-'yyyy-MM-dd'.txt'
30 | log4j.appender.RE.MaxFileSize = 10MB
31 | log4j.appender.RE.MaxBackupIndex = 10000
32 | log4j.appender.RE.layout = org.apache.log4j.PatternLayout
33 | log4j.appender.RE.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p]-[%t] %m%n
34 | ################### RE ###################
35 |
36 |
37 | ################### hibernate ###################
38 | log4j.logger.org.hibernate=info
39 | ################### hibernate ###################
40 |
41 | ################### springframework ###################
42 | log4j.logger.org.springframework=error
43 | ################### springframework ###################
44 |
--------------------------------------------------------------------------------
/admin/src/main/resources/log4j.properties.real:
--------------------------------------------------------------------------------
1 | #log4j.rootLogger = [ level ] , appenderName, appenderName, ...
2 | log4j.rootLogger = error, console, R
3 | #level=INFO,all can be output
4 | #console is set to be a ConsoleAppender
5 |
6 | log4j.appender.console = org.apache.log4j.ConsoleAppender
7 | #console have four patterns
8 | #org.apache.log4j.HTMLLayout
9 | #org.apache.log4j.PatternLayout
10 | #org.apache.log4j.SimpleLayout
11 | #org.apache.log4j.TTCCLayout
12 | log4j.appender.console.layout = org.apache.log4j.PatternLayout
13 | #define the output type
14 | log4j.appender.console.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
15 |
16 |
17 | #file is set to output to a extra file
18 | log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
19 | #the absolute route of the log4j file
20 | log4j.appender.R.File = ${catalina.base}/logs/log.txt
21 | log4j.appender.R.DatePattern='-'yyyy-MM-dd
22 | #the size
23 | log4j.appender.R.MaxFileSize = 10MB
24 | #back up a file
25 | log4j.appender.R.MaxBackupIndex = 100
26 | log4j.appender.R.layout = org.apache.log4j.PatternLayout
27 | log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] - %m%n
28 |
29 | log4j.appender.stdout.Threshold=trace
30 |
31 |
32 | #############hibernate###################
33 | # All hibernate log output of "info" level or higher goes to stdout.
34 | # For more verbose logging, change the "info" to "debug" on the last line.
35 | log4j.logger.org.hibernate.ps.PreparedStatementCache=error
36 | log4j.logger.org.hibernate=error
37 | log4j.category.org.hibernate.type=error
38 | # Changing the log level to DEBUG will result in Hibernate generated
39 | # SQL to be logged.
40 | log4j.logger.org.hibernate.SQL=error
41 |
42 | # Changing the log level to DEBUG will result in the PreparedStatement
43 | # bound variable values to be logged.
44 | log4j.logger.org.hibernate.type=error
45 | #############hibernate###################
46 |
47 | #############SprintFramework#############
48 | log4j.logger.org.springframework=error
49 | #############SprintFramework#############
50 |
--------------------------------------------------------------------------------
/client/src/main/resources/log4j.properties.real:
--------------------------------------------------------------------------------
1 | #log4j.rootLogger = [ level ] , appenderName, appenderName, ...
2 | log4j.rootLogger = error, console, R
3 | #level=INFO,all can be output
4 | #console is set to be a ConsoleAppender
5 |
6 | log4j.appender.console = org.apache.log4j.ConsoleAppender
7 | #console have four patterns
8 | #org.apache.log4j.HTMLLayout
9 | #org.apache.log4j.PatternLayout
10 | #org.apache.log4j.SimpleLayout
11 | #org.apache.log4j.TTCCLayout
12 | log4j.appender.console.layout = org.apache.log4j.PatternLayout
13 | #define the output type
14 | log4j.appender.console.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
15 |
16 |
17 | #file is set to output to a extra file
18 | log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
19 | #the absolute route of the log4j file
20 | log4j.appender.R.File = ${catalina.base}/logs/log.txt
21 | log4j.appender.R.DatePattern='-'yyyy-MM-dd
22 | #the size
23 | log4j.appender.R.MaxFileSize = 10MB
24 | #back up a file
25 | log4j.appender.R.MaxBackupIndex = 100
26 | log4j.appender.R.layout = org.apache.log4j.PatternLayout
27 | log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] - %m%n
28 |
29 | log4j.appender.stdout.Threshold=trace
30 |
31 |
32 | #############hibernate###################
33 | # All hibernate log output of "info" level or higher goes to stdout.
34 | # For more verbose logging, change the "info" to "debug" on the last line.
35 | log4j.logger.org.hibernate.ps.PreparedStatementCache=error
36 | log4j.logger.org.hibernate=error
37 | log4j.category.org.hibernate.type=error
38 | # Changing the log level to DEBUG will result in Hibernate generated
39 | # SQL to be logged.
40 | log4j.logger.org.hibernate.SQL=error
41 |
42 | # Changing the log level to DEBUG will result in the PreparedStatement
43 | # bound variable values to be logged.
44 | log4j.logger.org.hibernate.type=error
45 | #############hibernate###################
46 |
47 | #############SprintFramework#############
48 | log4j.logger.org.springframework=error
49 | #############SprintFramework#############
50 |
--------------------------------------------------------------------------------
/admin/src/main/resources/spring-servlet.xml:
--------------------------------------------------------------------------------
1 |
2 |
21 |
22 |
24 |
25 | classpath:velocity.properties
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/client/src/main/resources/spring-servlet.xml:
--------------------------------------------------------------------------------
1 |
2 |
21 |
22 |
24 |
25 | classpath:velocity.properties
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/admin/src/main/webapp/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
9 | alumni.admin
10 |
11 |
12 |
13 | index.jsp
14 |
15 |
16 |
17 | org.springframework.web.context.ContextLoaderListener
18 |
19 |
20 |
21 |
22 | contextConfigLocation
23 | classpath:applicationContext.xml
24 |
25 |
26 |
27 | spring
28 | org.springframework.web.servlet.DispatcherServlet
29 |
30 | contextConfigLocation
31 | classpath:spring-servlet.xml
32 |
33 | 1
34 |
35 |
36 |
37 | spring
38 | *.do
39 |
40 |
41 |
42 |
43 | 30
44 |
45 |
46 |
47 |
48 | hibernate4Filter
49 | org.springframework.orm.hibernate4.support.OpenSessionInViewFilter
50 |
51 |
52 | hibernate4Filter
53 | /*
54 |
55 |
56 |
57 |
58 |
59 | SpringCharacterEncodingFilter
60 | org.springframework.web.filter.CharacterEncodingFilter
61 |
62 | encoding
63 | UTF-8
64 |
65 |
66 |
67 | SpringCharacterEncodingFilter
68 | /*
69 |
70 |
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/core/src/main/java/com/university/common/velocity/tools/JsonTool.java:
--------------------------------------------------------------------------------
1 | /*
2 | * See the NOTICE file distributed with this work for additional
3 | * information regarding copyright ownership.
4 | *
5 | * This is free software; you can redistribute it and/or modify it
6 | * under the terms of the GNU Lesser General Public License as
7 | * published by the Free Software Foundation; either version 2.1 of
8 | * the License, or (at your option) any later version.
9 | *
10 | * This software is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 | * Lesser General Public License for more details.
14 | *
15 | * You should have received a copy of the GNU Lesser General Public
16 | * License along with this software; if not, write to the Free
17 | * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18 | * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
19 | */
20 | package com.university.common.velocity.tools;
21 |
22 | import net.sf.json.JSON;
23 | import net.sf.json.JSONArray;
24 | import net.sf.json.JSONNull;
25 | import net.sf.json.JSONObject;
26 | import net.sf.json.util.JSONUtils;
27 |
28 | /**
29 | * Velocity tool to facilitate serialization of Java objects to the JSON format.
30 | *
31 | * @version $Id$
32 | * @since 4.0M2
33 | */
34 | public class JsonTool {
35 | /**
36 | * Serialize a Java object to the JSON format.
37 | *
38 | * Examples:
39 | *
40 | * - numbers and boolean values: 23, 13.5, true, false
41 | * - strings: "one\"two'three" (quotes included)
42 | * - arrays and collections: [1, 2, 3]
43 | * - maps: {"number": 23, "boolean": false, "string": "value"}
44 | * - beans: {"enabled": true, "name": "XWiki"} for a bean that has #isEnabled() and #getName() getters
45 | *
46 | *
47 | * @param object the object to be serialized to the JSON format
48 | * @return the JSON-verified string representation of the given object
49 | */
50 | public String serialize(Object object) {
51 | JSON json = null;
52 | if (object == null) {
53 | json = JSONNull.getInstance();
54 | } else if (object instanceof String) {
55 | return JSONUtils.valueToString(object);
56 | } else if (JSONUtils.isBoolean(object)) {
57 | return object.toString();
58 | } else if (JSONUtils.isNumber(object)) {
59 | return JSONUtils.numberToString((Number) object);
60 | } else if (JSONUtils.isArray(object)) {
61 | json = JSONArray.fromObject(object);
62 | } else {
63 | json = JSONObject.fromObject(object);
64 | }
65 |
66 | return json.toString();
67 | }
68 | }
--------------------------------------------------------------------------------
/client/src/main/resources/applicationContext.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | org.springframework.web.servlet.view.JstlView
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 | ../jsp/uploadCode
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/admin/src/main/resources/applicationContext.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
22 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 | org.springframework.web.servlet.view.JstlView
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 | ../jsp/uploadCode
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
--------------------------------------------------------------------------------
/core/src/main/java/com/university/common/dao/BaseDao.java:
--------------------------------------------------------------------------------
1 | package com.university.common.dao;
2 |
3 |
4 | import org.springframework.jdbc.core.JdbcTemplate;
5 |
6 | import java.io.Serializable;
7 | import java.util.List;
8 |
9 | /**
10 | * 基础数据库操作类
11 | *
12 | * @author ss
13 | */
14 | public interface BaseDao {
15 |
16 | /**
17 | * 保存一个对象
18 | *
19 | * @param o
20 | * @return
21 | */
22 | public Serializable save(T o);
23 |
24 | /**
25 | * 删除一个对象
26 | *
27 | * @param o
28 | */
29 | public void delete(T o);
30 |
31 | /**
32 | * 更新一个对象
33 | *
34 | * @param o
35 | */
36 | public void update(T o);
37 |
38 | /**
39 | * 保存或更新对象
40 | *
41 | * @param o
42 | */
43 | public void saveOrUpdate(T o);
44 |
45 | /**
46 | * 查询
47 | *
48 | * @param hql
49 | * @return
50 | */
51 | public List find(String hql);
52 |
53 | /**
54 | * 查询集合
55 | *
56 | * @param hql
57 | * @param param
58 | * @return
59 | */
60 | public List find(String hql, Object[] param);
61 |
62 | /**
63 | * 查询集合
64 | *
65 | * @param hql
66 | * @param param
67 | * @return
68 | */
69 | public List find(String hql, List