├── src
├── other.properties
├── com
│ └── jzero
│ │ ├── upload
│ │ ├── vssver2.scc
│ │ ├── ffmpeg获取视频时长.txt
│ │ ├── MDown.java
│ │ ├── MFFmpeg.java
│ │ └── MImageTools.java
│ │ ├── log
│ │ ├── LogEnum.java
│ │ └── Log.java
│ │ ├── cache
│ │ ├── Test.java
│ │ ├── Cache.java
│ │ ├── CacheManager.java
│ │ └── C.java
│ │ ├── pool
│ │ ├── IPool.java
│ │ ├── BasePool.java
│ │ ├── PoolFactory.java
│ │ ├── ProxoolPool.java
│ │ ├── BoneCpPool.java
│ │ └── C3poPool.java
│ │ ├── db
│ │ ├── back
│ │ │ ├── MBackup.java
│ │ │ ├── SqliteBack.java
│ │ │ └── MysqlBack.java
│ │ ├── cache
│ │ │ ├── ICache.java
│ │ │ ├── MFile.java
│ │ │ └── MCache.java
│ │ ├── core
│ │ │ ├── COracle.java
│ │ │ ├── IDb.java
│ │ │ ├── CMySQL.java
│ │ │ └── CSqlite.java
│ │ ├── utility
│ │ │ ├── MFieldDb.java
│ │ │ ├── MSqlite.java
│ │ │ ├── MssqlDb.java
│ │ │ └── MysqlDb.java
│ │ └── exp
│ │ │ ├── MDbTool.java
│ │ │ └── MHandler.java
│ │ ├── util
│ │ ├── MPrint.java
│ │ ├── MSession.java
│ │ ├── MEnum.java
│ │ ├── MCheck.java
│ │ ├── MySQL.java
│ │ ├── Msg.java
│ │ ├── MImage.java
│ │ ├── MSee.java
│ │ ├── MPro.java
│ │ ├── MCnt.java
│ │ ├── MEncrypt.java
│ │ ├── MDate.java
│ │ ├── MCookie.java
│ │ ├── MPath.java
│ │ ├── MDividPage.java
│ │ └── MMD5.java
│ │ ├── aop
│ │ └── Uncheck.java
│ │ ├── render
│ │ ├── MJspRender.java
│ │ ├── M301Render.java
│ │ ├── MRender.java
│ │ ├── MJsonRender.java
│ │ ├── M500Render.java
│ │ ├── MTextRender.java
│ │ ├── MB.java
│ │ ├── M404Render.java
│ │ └── MImaRender.java
│ │ ├── json
│ │ ├── Test.java
│ │ ├── JSONObj.java
│ │ └── JSONTool.java
│ │ ├── core
│ │ ├── MInit.java
│ │ ├── MReport.java
│ │ ├── MURI.java
│ │ └── MRouter.java
│ │ ├── token
│ │ └── MToken.java
│ │ ├── filter
│ │ └── JFilter.java
│ │ ├── i18n
│ │ └── I18N.java
│ │ └── comm
│ │ └── MCommHelp.java
├── routes.properties
├── database.properties
├── log4j.properties
└── config.properties
├── WebRoot
├── META-INF
│ └── MANIFEST.MF
└── WEB-INF
│ └── web.xml
├── README.md
├── .mymetadata
├── .gitattributes
├── 控制器操作
├── 简单使用
├── .gitignore
└── 视图操作
/src/other.properties:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/WebRoot/META-INF/MANIFEST.MF:
--------------------------------------------------------------------------------
1 | Manifest-Version: 1.0
2 | Class-Path:
3 |
4 |
--------------------------------------------------------------------------------
/src/com/jzero/upload/vssver2.scc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hubs/JZero/master/src/com/jzero/upload/vssver2.scc
--------------------------------------------------------------------------------
/src/com/jzero/upload/ffmpeg获取视频时长.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hubs/JZero/master/src/com/jzero/upload/ffmpeg获取视频时长.txt
--------------------------------------------------------------------------------
/src/com/jzero/log/LogEnum.java:
--------------------------------------------------------------------------------
1 | package com.jzero.log;
2 |
3 | /** 2012-10-3 */
4 | public enum LogEnum {
5 | NONE,ERROR, DEBUG, INFO, ALL
6 | }
7 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | JZero
2 | =====
3 |
4 | JZero=Codeigniter+JFinal
5 |
6 | 一个简单的Java Servlet框架,框架的主要思想来源于 Codeigniter与JFinal二大框架,目前自已使用于公司的项目中.
7 |
8 | JZero会根据当前项目中出现的问题进一步完善.
9 |
10 |
--------------------------------------------------------------------------------
/src/routes.properties:
--------------------------------------------------------------------------------
1 | controller_package=com.gl.action
2 | default_controller=Welcome
3 | default_method=index
4 | backstage_package=backstage,xitong
5 | default_view =/xitong/login/login.jsp
6 |
7 |
--------------------------------------------------------------------------------
/src/database.properties:
--------------------------------------------------------------------------------
1 | hostname=localhost
2 | username=0CDCEBEDC74CCAED
3 | password=031C707A09F97905BF3A1701246E7F40
4 | database=gldcj
5 | #sqlite
6 | dbdriver=mysql
7 | port=3306
8 | cache_on=true
9 |
--------------------------------------------------------------------------------
/src/com/jzero/cache/Test.java:
--------------------------------------------------------------------------------
1 | package com.jzero.cache;
2 |
3 | import com.jzero.util.MPrint;
4 |
5 | public class Test {
6 |
7 | public static void main(String[] args) {
8 | MPrint.print(CacheManager.me().toString());
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/src/com/jzero/pool/IPool.java:
--------------------------------------------------------------------------------
1 |
2 | package com.jzero.pool;
3 |
4 | import java.sql.Connection;
5 |
6 | /** 2012-10-3 */
7 | public interface IPool {
8 | Connection getConnection(String driver,String url,String user,String pass);
9 | }
10 |
--------------------------------------------------------------------------------
/src/com/jzero/db/back/MBackup.java:
--------------------------------------------------------------------------------
1 |
2 | package com.jzero.db.back;
3 |
4 | import com.jzero.util.MRecord;
5 |
6 |
7 | /**
8 | * 2012-10-24:
9 | * wangujqw@gmail.com
10 | */
11 | public interface MBackup {
12 | MRecord backup();
13 | void load(String filename);
14 | }
15 |
--------------------------------------------------------------------------------
/.mymetadata:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/com/jzero/util/MPrint.java:
--------------------------------------------------------------------------------
1 | package com.jzero.util;
2 |
3 | public class MPrint {
4 | private static String identifying="-------";
5 | public static void print(Object obj){
6 | System.out.println(identifying+"【程序调试打印数据:"+obj+"】"+identifying);
7 | }
8 | public static void print(Object ...objects ){
9 | System.out.println(objects);
10 | }
11 | public static void print(Object obj1 ,Object obj2,Object ...obj3){
12 | System.out.println(obj1+" \t "+obj2+"\t"+obj3);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/src/com/jzero/db/cache/ICache.java:
--------------------------------------------------------------------------------
1 | package com.jzero.db.cache;
2 |
3 | import java.io.File;
4 | import java.util.List;
5 |
6 | import com.jzero.util.MRecord;
7 | /**
8 | * 2012-10-3:此类主要用于将查询出来的数据写入文件中,当下次查询相同的数据时,直接从文件中读取显示
9 | */
10 | public interface ICache {
11 | File get_path(String sql);
12 |
13 | void write(String sql, List lst);
14 | public List read(String sql);
15 |
16 | void delete(String sql);
17 |
18 | public void delete_all();
19 |
20 |
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/src/com/jzero/aop/Uncheck.java:
--------------------------------------------------------------------------------
1 |
2 | package com.jzero.aop;
3 |
4 | import java.lang.annotation.ElementType;
5 | import java.lang.annotation.Inherited;
6 | import java.lang.annotation.Retention;
7 | import java.lang.annotation.RetentionPolicy;
8 | import java.lang.annotation.Target;
9 |
10 | /**
11 | * 2012-11-13:应用于类名上,表示当前类不会检测是否已存在session值
12 | * wangujqw@gmail.com
13 | */
14 | @Inherited
15 | @Retention(RetentionPolicy.RUNTIME)
16 | @Target({ElementType.TYPE,ElementType.METHOD})
17 | public @interface Uncheck {
18 | }
19 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 | *.sln merge=union
7 | *.csproj merge=union
8 | *.vbproj merge=union
9 | *.fsproj merge=union
10 | *.dbproj merge=union
11 |
12 | # Standard to msysgit
13 | *.doc diff=astextplain
14 | *.DOC diff=astextplain
15 | *.docx diff=astextplain
16 | *.DOCX diff=astextplain
17 | *.dot diff=astextplain
18 | *.DOT diff=astextplain
19 | *.pdf diff=astextplain
20 | *.PDF diff=astextplain
21 | *.rtf diff=astextplain
22 | *.RTF diff=astextplain
23 |
--------------------------------------------------------------------------------
/src/log4j.properties:
--------------------------------------------------------------------------------
1 | log4j.rootLogger=error,stdout, R
2 |
3 | log4j.appender.stdout=org.apache.log4j.ConsoleAppender
4 | log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
5 |
6 | log4j.appender.stdout.layout.ConversionPattern=%5p - %m%n
7 |
8 | log4j.appender.R=org.apache.log4j.RollingFileAppender
9 | log4j.appender.R.File=firestorm.log
10 |
11 | log4j.appender.R.MaxFileSize=100KB
12 | log4j.appender.R.MaxBackupIndex=1
13 |
14 | log4j.appender.R.layout=org.apache.log4j.PatternLayout
15 | log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
16 |
17 | log4j.logger.com.codefutures=error
--------------------------------------------------------------------------------
/src/com/jzero/db/core/COracle.java:
--------------------------------------------------------------------------------
1 | package com.jzero.db.core;
2 |
3 | import java.util.List;
4 |
5 | import com.jzero.util.MRecord;
6 |
7 | public class COracle extends CBase {
8 |
9 | @Override
10 | public List pager(String table, String where, String field,
11 | int current, int pageSize, Object... params) {
12 | return null;
13 | }
14 |
15 | @Override
16 | public List pager_sql(String sql, int current, int pageSize,
17 | Object... params) {
18 | return null;
19 | }
20 |
21 | @Override
22 | public MRecord select_one(String table, String where, String field,
23 | boolean cache, Object... params) {
24 | return null;
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/src/com/jzero/render/MJspRender.java:
--------------------------------------------------------------------------------
1 | package com.jzero.render;
2 |
3 | import com.jzero.log.Log;
4 |
5 | /**
6 | * 2012-10-3: 来源于JFinal wangujqw@gmail.com
7 | */
8 | class MJspRender extends MRender {
9 |
10 | private static final long serialVersionUID = 1L;
11 |
12 |
13 | public MJspRender() {
14 | }
15 |
16 | public MJspRender(String view) {
17 | setView(view);
18 | }
19 |
20 | public void render() {
21 | try {
22 | request.getRequestDispatcher(getView()).forward(request, response);
23 | } catch (Exception e) {
24 | Log.me().write_error(e);
25 | }
26 | }
27 |
28 |
29 | @Override
30 | public boolean isJsp() {
31 | // TODO Auto-generated method stub
32 | return true;
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/src/com/jzero/pool/BasePool.java:
--------------------------------------------------------------------------------
1 | package com.jzero.pool;
2 |
3 | import java.sql.Connection;
4 | import java.sql.DriverManager;
5 |
6 | import com.jzero.core.MInit;
7 | import com.jzero.log.Log;
8 | import com.jzero.log.LogEnum;
9 |
10 | /** 2012-10-3 */
11 | public class BasePool implements IPool {
12 |
13 | public Connection getConnection(String driver, String url, String user,
14 | String pass) {
15 | Connection connection = null;
16 | try {
17 | Class.forName(driver);
18 | connection = DriverManager.getConnection(url, user, pass);
19 | } catch (Exception e) {
20 | Log.me().write_log(LogEnum.ERROR, e.getMessage());
21 | MInit.get().getMb().getTextRender(e.getMessage()).render();
22 | }
23 | return connection;
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/src/com/jzero/db/back/SqliteBack.java:
--------------------------------------------------------------------------------
1 | package com.jzero.db.back;
2 |
3 | import java.io.File;
4 |
5 | import com.jzero.db.core.M;
6 | import com.jzero.util.MDate;
7 | import com.jzero.util.MRecord;
8 | import com.jzero.util.MTool;
9 |
10 | public class SqliteBack implements MBackup {
11 |
12 | public MRecord backup() {
13 | MRecord record = new MRecord();
14 | String backName = MDate.get_ymd_hms_join() + ".db";
15 | record.set("name", backName);
16 | try {
17 | M.me().execute("backup to " + backName);
18 | record.set("size", MTool.formart_bytes(new File(backName)));
19 | } catch (Exception e) {
20 | e.printStackTrace();
21 | }
22 | return record;
23 | }
24 |
25 | public void load(String filename) {
26 | M.me().execute("restore from " + filename);
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/WebRoot/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 | MFilter
9 | com.jzero.filter.JFilter
10 |
11 | cache
12 | 3600
13 |
14 |
15 |
16 | MFilter
17 | /*
18 |
19 |
20 |
21 | index.jsp
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/com/jzero/pool/PoolFactory.java:
--------------------------------------------------------------------------------
1 | package com.jzero.pool;
2 |
3 | import java.sql.Connection;
4 |
5 | import com.jzero.db.exp.MDbTool;
6 | import com.jzero.log.Log;
7 | import com.jzero.log.LogEnum;
8 | import com.jzero.util.MPro;
9 | import com.jzero.util.MRecord;
10 |
11 | /** 2012-10-3 */
12 | public final class PoolFactory {
13 |
14 | public static Connection getConnection() {
15 | MRecord record = MDbTool.getDbConnectInfo();
16 | String pool_name="com.jzero.pool."+MPro.me().getStr("pool");
17 | IPool pool = null;
18 | try {
19 | pool = (IPool) Class.forName(pool_name).newInstance();
20 | } catch (Exception e) {
21 | Log.me().write_log(LogEnum.ERROR, e.getMessage());
22 | }
23 | String driver = record.getStr("driver");
24 | String url = record.getStr("url");
25 | String user = record.getStr("user");
26 | String pass = record.getStr("pass");
27 | return pool.getConnection(driver, url, user, pass);
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/src/com/jzero/db/utility/MFieldDb.java:
--------------------------------------------------------------------------------
1 |
2 | package com.jzero.db.utility;
3 |
4 | import java.util.List;
5 |
6 | import com.jzero.util.MRecord;
7 |
8 | /**
9 | * --- 2012-4-9 ---
10 | * DbField.java : 用于操作指定表中的表字段。
11 | */
12 | public interface MFieldDb {
13 |
14 | /**
15 | *得到数据库中的所有的表
16 | */
17 | List getAllTable();
18 |
19 | /**
20 | * 得到指定表中的字段,getCommentAndFieldName(),getDefaultAndFieldName()从此方法返回的值取数据。
21 | */
22 | List getFieldForTable(String tableName);
23 |
24 | /**
25 | * 得到表结构中的字段名与备注信息
26 | */
27 | List getCommentAndFieldName(String tableName);
28 |
29 | /**
30 | * 得到表结构中的默认值与备注信息
31 | */
32 | List getDefaultAndFieldName(String tableName);
33 |
34 | /**
35 | * 得到表中的默认值,备注信息与表字段
36 | * 默认值用来判断是什么类型(text,data,select...准备在高搜索中使用)
37 | */
38 | List getSelectField(String tableName);
39 |
40 | String get_pager_sql(String table, String where,String field, int current,int pageSize, Object... obj);
41 |
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/src/com/jzero/cache/Cache.java:
--------------------------------------------------------------------------------
1 | package com.jzero.cache;
2 |
3 | import java.io.Serializable;
4 |
5 | public class Cache implements Serializable {
6 | private static final long serialVersionUID = 1L;
7 | private String key;
8 | private Object value;
9 | private long timeOut;
10 | private boolean expired;
11 |
12 | public Cache() {
13 | super();
14 | }
15 |
16 | public Cache(String key, String value, long timeOut, boolean expired) {
17 | this.key = key;
18 | this.value = value;
19 | this.timeOut = timeOut;
20 | this.expired = expired;
21 | }
22 |
23 | public String getKey() {
24 | return key;
25 | }
26 |
27 | public long getTimeOut() {
28 | return timeOut;
29 | }
30 |
31 | public Object getValue() {
32 | return value;
33 | }
34 |
35 | public void setKey(String string) {
36 | key = string;
37 | }
38 |
39 | public void setTimeOut(long l) {
40 | timeOut = l;
41 | }
42 |
43 | public void setValue(Object object) {
44 | value = object;
45 | }
46 |
47 | public boolean isExpired() {
48 | return expired;
49 | }
50 |
51 | public void setExpired(boolean b) {
52 | expired = b;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/src/com/jzero/util/MSession.java:
--------------------------------------------------------------------------------
1 | package com.jzero.util;
2 |
3 | import java.util.ArrayList;
4 | import java.util.List;
5 |
6 | import com.jzero.core.MR;
7 |
8 | public class MSession {
9 |
10 | private static List