jFinal 的简单介绍
来源:互联网 发布:网络社保是什么梗 编辑:程序博客网 时间:2024/06/05 02:10
jfinal是基于Java语言的web+orm框架,具有许多优点。手册下载地址:http://www.jfinal.com/man
web.xml:- <!-- jfinal-filter -->
- <filter>
- <filter-name>jfinal_filter</filter-name>
- <filter-class>com.jfinal.core.JFinalFilter</filter-class>
- <init-param>
- <param-name>configClass</param-name>
- <param-value>com.xxx.Config</param-value><!--继承自JFinalConfig的自定义的Config类-->
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>jfinal_filter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
其中,ActiveReceord 中定义了 addMapping(String tableName, Class<? extends Model> modelClass>)方法,该方法建立了数据库表名到 Model 的映射关系
- public class Config extends JFinalConfig {
- //此方法用来配置JFinal的常量值
- @Override
- public void configConstant(Constants constants) {
- // 开发者模式,正式部署时关闭
- constants.setDevMode(true);
- constants.setBaseViewPath("/WEB-INF/freemarker");
- // 设置常用错误页面
- constants.setError500View("/WEB-INF/freemarker/errorPage/500.ftl");
- Configuration freeMarkerConfig = FreeMarkerRender.getConfiguration();
- try {
- // 将contentPath设置为freemarker共享变量 ctx:项目根目录
- freeMarkerConfig.setSharedVariable("ctx", JFinal.me()
- .getServletContext().getContextPath());
- } catch (TemplateModelException e) {
- throw new IllegalStateException(e);
- }
- }
- //用来配置JFinal的Handler
- @Override
- public void configHandler(Handlers handlers) {
- }
- //用来配置JFinal的Interceptor
- @Override
- public void configInterceptor(Interceptors interceptors) {
- interceptors.add(new SessionInViewInterceptor(true));
- interceptors.add(new LoginInterceptor());//自定义登陆拦截器
- }
- //用来配置JFinal的Plugin,C3P0数据库连接池插件,ActiveRecordPlugin数据库访问插件
- @Override
- public void configPlugin(Plugins plugins) {
- // 加载数据库和连接池相关的配置文件
- // 使用c3p0插件
- Properties properties = loadPropertyFile("config" + File.separator + "c3p0.properties");
- C3p0Plugin c3p0Plugin = new C3p0Plugin(properties);
- plugins.add(c3p0Plugin);
- ActiveRecordPlugin aPlugin = new ActiveRecordPlugin(c3p0Plugin);
- aPlugin.setDialect(new MysqlDialect());
- plugins.add(aPlugin);
- aPlugin.addMapping("user", User.class);
- aPlugin.addMapping("project", Project.class);
- }
- //配置JFinal访问路由
- @Override
- public void configRoute(Routes routes) {
- routes.add("/login", LoginController.class, "/login");
- routes.add("/user", UserController.class, "/user");
- routes.add("/project", ProjectController.class, "/project");
- }
- }
render渲染不同的类型的视图返回到客户端,此处视图类型为Freemarker。
可以在Config类的configConstant类中设置视图类型 :constants.setViewType(ViewType.FREE_MARKER);
- public class LoginController extends Controller {
- @ClearInterceptor(ClearLayer.ALL)
- @ActionKey("/") //使用了@ActionKey("/"),actionKey由原来的‘/login/index’变为了‘/login’
- public void index() {
- render("index.ftl");
- }
访问http://localhost/项目名称/login/login 将访问控制器中的login方法。
后期再加。。。
0 0
- jFinal 的简单介绍
- JFinal 如何进行XSS过滤(JFinal 的简单介绍到利用JFinal 的handler实现)
- JFinal的简单原理
- jfinal介绍
- jfinal+freemarker+shiro的简单实现
- WebSocket jfinal 实现简单的聊天室功能
- JFinal框架简单学习
- 简单使用JFinal(一)-JFinal简介
- JFinal学习笔记(二) 实现简单的用户登录
- JFinal学习笔记(四) 实现简单的图片上传
- JFinal与bootstrap实现简单的增删改功能
- JFinal的架构介绍,JFinal实现极速开发的原理是什么?又是如何实现的?
- JFinal最简单demo + gradle
- Jfinal 验证码简单实现
- JFinal的session处理
- jfinal的搭建
- 替换JFinal的ActionReport
- JFinal 的Config配置文件
- iOS 端 HTTP 抓包分析工具推荐-Thor
- R安装与入门
- java 连接 redis 并且向redis 放入数据
- Apache Flume日志收集系统简介
- 强化学习读书笔记_0
- jFinal 的简单介绍
- Android应用优化小手册
- shell脚本中字符串常用操作整理
- 单例模式
- Python时间获取及转换知识汇总
- CCF俄罗斯方块
- SQL语句之ORDER BY子句
- 天梯赛练习——后天
- 蓝桥杯题 机器人繁殖