package分类

  • config是JFinal的项目配置
  • controller是控制器
  • handler可以设置全局处理器,例如判断用户请求中是否直接请求
  • FreeMarker的模板文件ftl或者html的后缀,重定向到404
  • interceptor拦截器,例如后台admin的每项操作拦截判断admin是否有权限或者是否已经登录
  • model.base用于JFinal的Generator生成器自动生成数据库映射基础模型类
  • model用于继承基础模型类的dao操作
  • routes用于设置单独路由配置,例如大项目可单独设计后端路由AdminRoutes、前端路由FrontRoutes
  • service作为controller与model的层,处理业务逻辑
  • test用于项目测试
  • utils用于公共的工具类,例如apache poi的word在线生成打印工具
  • validate用于后端验证,比前端JS验证安全、靠谱

新建res文件夹 
- log4j.properties用于配置log4j记录项目的日志 
- SystemConfig.txt用于保存项目配置参数,供MyJFinalConfig读取使用


WebRoot目录
- admin目录存放后台模板文件
- static存放静态资源文件
- js 存放JavaScript文件
- css存放样式表文件
- images存放图片文件
- fonts存放字体文件
- WebRoot根目录存放前台的模板文件


这种目录也是个人习惯,大项目要特别注意,小项目就没必要过于关注了,否则会“过度设计”

参考原文:https://blog.csdn.net/u012995856/article/details/52714284

JFinal Web开发学习(二)目录、架构、package设计的更多相关文章

  1. JFinal Web开发学习(一)开启HelloWorld

    初次接触JFinal框架,接触过MVC思想,接触过Spring. JFinal官网: http://www.jfinal.com/ 之前很嫌弃JavaWeb开发,主要原因是繁琐的xml配置. 官方推荐 ...

  2. JFinal Web开发学习(三)前后台路由设计

    效果图: 一.写控制器 1.在controller包中新建AdminController后台控制器,继承Controller,实现一个index方法,作为的处理方法. /admin 后面,这个控制器中 ...

  3. JFinal Web开发学习(八)后台集成H-ui-admin前端框架

    h-ui-admin是一个很不错的前端框架h-ui实现的一个后台管理系统的前端. 1.在WebRoot目录下新建admin目录 2.下载h-ui-admin(当前最新是2.5版本)并解压至admin文 ...

  4. JFinal Web开发学习(六)验证码验证和注册细节

    效果: 实现了注册界面的验证码验证.确认密码.密码md5加盐加密.C3P0插件数据库操作.读取外部配置文件. 1.在注册页面添加了确认密码输入框,修改了字段名称 <!DOCTYPE html&g ...

  5. JFinal Web开发学习(五)注册界面和后端验证

    效果: 直接点击注册后 : 后端验证是可靠地,前端js验证是不可靠的.只需要在浏览器删除js验证代码即可突破js验证. 1.注册界面 在WebRoot下新建regist.jsp <%@ page ...

  6. JFinal Web开发学习(九)后台添加前台显示博客

    效果: 发博客: 显示博客: 后台:使用hui-admin,文章编辑器是百度开源的ueditor 前台:使用layui前端框架 1.写控制器BlogController controller包中 pa ...

  7. JFinal Web开发学习(七)使用layUI美化的登录功能

    效果: 验证码还是没有布局好.背景比较怀古. 1.写前端html login.jsp <!DOCTYPE html> <html> <head> <meta ...

  8. JFinal Web开发学习(四)数据库连接与自动生成model

    1.新建数据库jfinal_test,user表 /* Navicat MySQL Data Transfer Source Server : . Source Server Version : 50 ...

  9. web开发微信文章目录

    Web开发微信文章目录 2015-12-13 Web开发 本文是Web开发微信的文章目录.通过目录查看文章编号,回复文章编号就能查看文章全文. 回复编号查看全文,搜索分类名可以获得该分类下的文章.   ...

随机推荐

  1. 半精度浮点数取5bit指数位

    半精度浮点是指用16bit表示一个浮点数,最高1bit为符号位,中间5bit为指数a,低10bit为尾数b Value = (符号位)(1+b/1024)*(2^(a-16)) 程序很简单,用pyin ...

  2. [Shell]Bash基本功能:历史命令 & 别名 & Bash快捷键

    /*----------------------------------------------------------------------------------------------- @黑 ...

  3. angularjs 做不到实时脏值查询

    angularjs 做不到脏值查询 ,数据请求过来,不操作其他按钮,请求的值就是展示不出来:(相当于,只有手动触发,angularjs内部才会把脏值查询出来): 解决办法:在请求过来的值旁边加上$sc ...

  4. 计算平面面积和斜面面积-ArcGIS案例学习笔记

    计算平面面积和斜面面积-ArcGIS案例学习笔记 联系方式:谢老师,135_4855_4328,xiexiaokui#139.com 数据:实验数据\Chp8\Ex5\demTif.tif 平面面积= ...

  5. python基础学习Day14 内置函数 匿名函数

    一.内置函数里几个高频重要函数 (1)min\max函数的用法 以min函数的为例: min:返回可迭代对象的最小值(可加key,key为函数名,通过函数的规则,返回最小值). l1 =[(,),(, ...

  6. jquery 获取子元素的限制jquery

    今天练习jqueryAPI发现一个问题就是子元素如果采用nth-child,元素不同就获取不到,因此一个父元素下的子元素标签必须相同,如果不同第一个元素可以用这个方法实现,但是如果第二元素及以后如果出 ...

  7. jQuery写省级联动列表,创造二维数组,以及如何存/调用二维数组中的数据

    jQuery写省级联动列表,创造二维数组来存放数据,然后通过each来遍历调用,通过creatTxtNode创建文本节点,通过createElement创建标签option,在通过append将文本写 ...

  8. CSS同时选择器

    [CSS同时选择器] 同一个div拥有多个class时,我们可以作多个class作为组合来选择对象.方法就是将多个.className直接连接在一起(中间不能有空格). <p class=&qu ...

  9. javascript sourcemap

    [javascript sourcemap] 暂时只有Chrome浏览器支持这个功能.在Developer Tools的Setting设置中,确认选中"Enable JavaScript s ...

  10. EVIL TWIN AP

    git clone https://github.com/P0cL4bs/3vilTwinAttacker.git cd 3vilTwinAttacker/ ./installer.sh --inst ...