zoukankan      html  css  js  c++  java
  • Web 项目 JFinal 开发框架

    Web项目JFinal开发框架

    • 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中的代码如下:

        

    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的代码如下:

    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来管理项目以及进行小组成员内的分工。
  • 相关阅读:
    Spring、SpringMVC和Springboot的区别(网摘)
    scikit-learn中的主成分分析(PCA)的使用
    便捷的php操作mysql库MysqliDb
    Windows下单机安装Spark开发环境
    在windows上安装scikit-learn开发环境
    Code Igniter + PHP5.3 + SqlServer2008配置
    ubuntu下安装php memcache扩展
    排序——选择排序
    线性回归与梯度下降算法
    ubuntu 允许端口被连接
  • 原文地址:https://www.cnblogs.com/superjn/p/6133891.html
Copyright © 2011-2022 走看看