Web 項目 JFinal 開發框架

Web項目JFinal開發框架java

  • l  JFinal建立項目總體的開發框架
  • 建立 Dynamic Web Project,根據JFinal手冊和項目AssignSyn

      

  • 修改web.xml
  • 建立如上圖所示的項目結構
  • 其中源代碼包src下有config、controller、model以及other包。
  1. l  Config包主要用於項目的配置(包括數據庫的鏈接、若有配置等)
  2. l  Controller主要用於後臺的數據判斷與處理,基本上一個基礎頁面須要一個controller,例如;登陸頁面須要一個controller,普通員工、部門經理和總經理的基本頁面不一樣,相應的功能也有些不一樣,因此這三類人的通道都用一個controller來進行後臺的控制
  3. l  Model用來存放Generator模板自動生成的model類,用於實現對數據庫的數據進行處理(增、刪、改、查)。對BaseModel自動生成處理函數,而Model集成BaseModel的進行數據處理方法。通常有數據庫中表的個數乘以2的.java文件。
  4. l  Other中有GeneratorDemo.java和MD5.java。其中Generator文件是用來自動生成數據庫數據的處理方法。而MD5重要是用來進行數據庫密碼的加密。

    Generator中的代碼以下:mysql

    

package other;


import javax.sql.DataSource;
import com.jfinal.kit.PathKit;
import com.jfinal.kit.Prop;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.generator.Generator;
import com.jfinal.plugin.c3p0.C3p0Plugin;

/**
 * GeneratorDemo
 */
public class GeneratorDemo {
    
    public static DataSource getDataSource() {
        C3p0Plugin c3p0Plugin = new C3p0Plugin("jdbc:mysql://127.0.0.1/assignsys?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull"
                ,"root","950308");
        c3p0Plugin.start();
        return c3p0Plugin.getDataSource();
    }
    
    public static void main(String[] args) {
        // base model 所使用的包名
        String baseModelPackageName = "model";
        // base model 文件保存路徑
        String baseModelOutputDir = PathKit.getWebRootPath() + "/../src/model";
        
        // model 所使用的包名 (MappingKit 默認使用的包名)
        String modelPackageName = "model";
        // model 文件保存路徑 (MappingKit 與 DataDictionary 文件默認保存路徑)
        String modelOutputDir = baseModelOutputDir;
        
        // 建立生成器
        
        Generator gernerator = new Generator(getDataSource(), baseModelPackageName, baseModelOutputDir, modelPackageName, modelOutputDir);

        // 設置是否在 Model 中生成 dao 對象
        gernerator.setGenerateDaoInModel(true);
        // 設置是否生成字典文件
        gernerator.setGenerateDataDictionary(false);

        // 生成
        gernerator.generate();
    }
}
View Code

    MD5的代碼以下:git

package other;


import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/*
 * MD5 算法
*/
public class MD5 {
    
    // 全局數組
    private final static String[] strDigits = { "0", "1", "2", "3", "4", "5",
            "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

    public MD5() {
    }

    // 返回形式爲數字跟字符�?
    private static String byteToArrayString(byte bByte) {
        int iRet = bByte;
        // System.out.println("iRet="+iRet);
        if (iRet < 0) {
            iRet += 256;
        }
        int iD1 = iRet / 16;
        int iD2 = iRet % 16;
        return strDigits[iD1] + strDigits[iD2];
    }

    // 返回形式只爲數字
    private static String byteToNum(byte bByte) {
        int iRet = bByte;
        System.out.println("iRet1=" + iRet);
        if (iRet < 0) {
            iRet += 256;
        }
        return String.valueOf(iRet);
    }

    // 轉換字節數組�?16進制字串
    private static String byteToString(byte[] bByte) {
        StringBuffer sBuffer = new StringBuffer();
        for (int i = 0; i < bByte.length; i++) {
            sBuffer.append(byteToArrayString(bByte[i]));
        }
        return sBuffer.toString();
    }

    public static String GetMD5Code(String strObj) {
        String resultString = null;
        try {
            resultString = new String(strObj);
            MessageDigest md = MessageDigest.getInstance("MD5");
            // md.digest() 該函數返回�?�爲存放哈希值結果的byte數組
            resultString = byteToString(md.digest(strObj.getBytes()));
        } catch (NoSuchAlgorithmException ex) {
            ex.printStackTrace();
        }
        return resultString;
    }

    public static void main(String[] args) {
        MD5 getMD5 = new MD5();
        System.out.println(getMD5.GetMD5Code("000000"));
    }
}

 

  1. l  WebRoot下主要是是頁面的實現,將本身的頁面和資源分好類,放在不一樣的文件夾下,來方便代碼的實現和管理。通常主要的界面(默認的界面)放在index下,其餘由主界面衍生下來的界面放在每一個主界面對應的界面文件下
  2. l  將有關項目的例如數據庫和一些文檔、ReadMe放在項目下,以便對項目的管理和修改。
  3. l  若是項目有幾我的完成,最好用Githup來管理項目以及進行小組成員內的分工。
相關文章
相關標籤/搜索