快速上手开发——JFinal配置(全步骤图文解析)
摘要: 因为发现官网上只有Eclipse的配置文档,就写了这篇基于IDEA+maven的配置流程。本文使用安装了maven插件的IDEA进行配置,为了照顾IDEA新手,几乎每个步骤都截了图。
环境说明:
程序版本
JRE1.8
Tomcat7.0
maven3.1.1
Intellij IDEA14.0.3
一、新建一个Project
★ 打开IDEA,Create New Project

★ 通过Maven建立Project,但不使用模板

★ 填写Project相关命名,完成Project的创建。此处将Project命名为「jfinal-demo」


二、把当前Project改为一个POM工程。
该工程作为项目的父工程,用于定义各模块依赖的包的版本、编码方式等。
★ 删掉src目录

★ 编辑根目录下的pom.xml,将打包格式设置为pom。
★ 父工程的pom.xml
4.0.0jfinal-demojfinal-parentpom1.0-SNAPSHOTUTF-82.24.12junitjunit${junit.version}com.jfinaljfinal${jfinal.version}${project.artifactId}org.apache.maven.pluginsmaven-resources-plugin2.7${project.build.sourceEncoding}org.apache.maven.pluginsmaven-compiler-plugin3.21.71.7${project.build.sourceEncoding}org.apache.tomcat.maventomcat7-maven-plugin2.280/
广告是坚持的动力,点一下广告,就是对我最大支持!
三、新建Module(模块)「jfinal-web」
★ 在jfinal-demo目录上单击鼠标右键,新建子Module

★ 创建时选择使用模板



★ 创建完成后,目录结果如下图所示

四、编写测试用代码
★ 在jfinal-web模块的main目录下,新建java目录

★ 把刚建立的java目录标记为Sources Root,这样IDEA才会把该目录下的.java文件当做java源文件来处理

★ 给「jfinal-web」模块添加依赖。版本已经在父工程里定义了,这里不需要填写version。

★ 「jfinal-web」模块的pom.xml
jfinal-parentjfinal-demo1.0-SNAPSHOT4.0.0jfinal-webwarjfinal-web Maven Webapphttp://maven.apache.orgjunitjunittestcom.jfinaljfinaljfinal-web
★ 创建测试用Controller类「HelloController.java」


★ 该类要继承com.jfinal.core.Controller类,并实现index方法

★ com.demo.controller.HelloController
packagecom.demo.controller;importcom.jfinal.core.Controller;publicclassHelloControllerextendsController{publicvoidindex(){ renderText("hello world!"); }}
★ 创建测试用Config类「DemoConfig.java」


★ 该类要继承com.jfinal.config.JFinalConfi类,并重写五个方法。按Alt+Insert快捷键可快速生成代码


★ 注意这里加入了路由“/hello",定义了访问http://localhost/hello时,调用的是哪个controller

★ com.demo.config.DemoConfig
packagecom.demo.config;importcom.demo.controller.HelloController;importcom.jfinal.config.*;publicclassDemoConfigextendsJFinalConfig{@OverridepublicvoidconfigConstant(Constants me){ me.setDevMode(true); }@OverridepublicvoidconfigRoute(Routes me){ me.add("/hello", HelloController.class); }@OverridepublicvoidconfigPlugin(Plugins me){ }@OverridepublicvoidconfigInterceptor(Interceptors me){ }@OverridepublicvoidconfigHandler(Handlers me){ }}
五、配置运行环境
★ 照图操作,先不用理为什么



六、配置web.xml的过滤器,保证所有访问均能被JFinal拦截

★ web.xml
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >jfinal-demojfinalcom.jfinal.core.JFinalFilterconfigClasscom.demo.config.DemoConfigjfinal/*
七、启动应用

★ 启动完成

★ 打开浏览器测试一下

快速上手开发——JFinal配置(全步骤图文解析)的更多相关文章
- [Full-stack] 快速上手开发 - React
故事背景 [1] 博客笔记结合<React快速上手开发>再次系统地.全面地走一遍. [2] React JS Tutorials:包含了JS --> React --> Red ...
- 【java框架】MyBatis-Plus(1)--MyBatis-Plus快速上手开发及核心功能体验
1.MyBatis-Plus入门开发及配置 1.1.MyBatis-Plus简介 MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变, ...
- NHibernate3快速上手教程FluentNHibernate配置与DBHelper
很多学习NHibernate的新手很容易卡在配置文件这一关,正所谓万事开头难,上手后再配合官方文档就比较容易了. 网上关于配置文件的资料非常多,但由于版本的问题,许多老的教程中都没有明确指出类库的版本 ...
- NHibernate3快速上手教程FluentNHibernate配置与DBHelper(已过期,有更好的)
很多学习NHibernate的新手很容易卡在配置文件这一关,正所谓万事开头难,上手后再配合官方文档就比较容易了. 网上关于配置文件的资料非常多,但由于版本的问题,许多老的教程中都没有明确指出类库的版本 ...
- 踏入OpenGL大门 —— VS2015开发环境配置 (详细图文)
转自: https://www.jianshu.com/p/68c314fa9fea?from=groupmessage 眼睛熊 ---------------- 本文 ------------- ...
- Ubuntu下嵌入式Qt开发环境配置全攻略
http://qpcwth.blog.163.com/blog/static/20993024620139151424822/ 在安装的过称中,出现一些问题,注意试想: 1.本次开发环境的配置,是基于 ...
- 手摸手教你使用vue-cli脚手架-详细步骤图文解析[vue入门]
写在前面: 使用 vue-cli 可以快速创建 vue 项目,vue-cli很好用,但是在最初搭建环境安装vue-cli及相关内容的时候,对一些人来说是很头疼的一件事情,本人在搭建vue-cli的项目 ...
- vscode C++开发环境配置教程(教你如何用vscode写C++)
用了一段时间的cb,Devc++,但一直感觉cb的高亮太差,而Devc++使用体验差(尤其是代码补全功能),换过vs2017,但是由于其太大了,卡顿十分明显,所以最终选择了vscode这款轻量级编译器 ...
- [译]:Xamarin.Android开发入门——Hello,Android快速上手
返回索引目录 原文链接:Hello, Android_Quickstart. 译文链接:Xamarin.Android开发入门--Hello,Android快速上手 本部分介绍利用Xamarin开发A ...
随机推荐
- Solving the Distal Reward Problem through Linkage of STDP and Dopamine Signaling
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! Abstract 在巴甫洛夫式和工具性条件下,奖励通常是在奖励触发动作几秒钟后产生的,从而产生了一个被称为“远端奖励问题”的解释难题:如果 ...
- Erlang中的宏定义应该在什么时候用
读<Erlang OTP并发编程实战>中看到这么一句话,遂做笔记以记录: 宏不是函数的替代品,当你所需的抽象无法用普通函数来实现时,宏给出了一条生路,比如,必须确保在编译期展开某些代码的时 ...
- mysql表中时间timestamp设计
Mysql数据库中CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP区别 如图所示,mysql数据库中,当字段类型为timestamp时,如果默认值取CUR ...
- 【MySQL】我这样分析MySQL中的事务,面试官对我刮目相看!!
写在前面 相信大部分小伙伴在面试过程中,只会针对面试官提出的表面问题来进行回答.其实不然,面试官问的每一个问题都是经过深思熟虑的,面试的时间相对来说也是短暂的,面试官不可能在很短的时间内就对你非常了解 ...
- js error 错误处理
(new) Error([message[, fileName[,lineNumber]]]) 单独定义Error()错误,函数继续进行 当像函数一样使用 Error 时 -- 如果没有 new,它将 ...
- webstorm编写vue、react 将大驼峰组件命名转换成短横杠命名
大家好!我是木瓜太香,精通 webstorm 与常见前端技术的工程师,偶尔也在b站搞一些 webstorm 技巧教学,今天给大家带来的是大驼峰小驼峰快速转换短横杠命名或者下划线命名的方式. 开发中我们 ...
- Mysql优化概述及其压力测试工具
衡量指标 TPS:Transactions Per Second (每秒传输的事物处理个数) ,这是指服务器每秒处理的事物数,支持事物的存储引擎如Innodb等特有的一个性能指标; QPS:Queri ...
- Mybatis源码学习第六天(核心流程分析)之Executor分析
今Executor这个类,Mybatis虽然表面是SqlSession做的增删改查,其实底层统一调用的是Executor这个接口 在这里贴一下Mybatis查询体系结构图 Executor组件分析 E ...
- javascript面试题(二)
24. function foo() { } var oldName = foo.name; foo.name = "bar"; [oldName, foo.name] // [f ...
- Oracle快速建表Sample
表定义: create table tb_triple( id number(8,0) primary key, name nvarchar2(20), birthday date ) 充值: ins ...