最近在开发项目中使用到JFinal框架,简单回忆写个idea环境下的JFinal框架的helloworld实例。
JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率。相对于springMVC少了service层,sql处理用了创新的Record处理。
1.2 选择创建Maven-webapp项目
1.3输入maven的GroupId和Artifactld
1.4配置maven3.3.9版本及仓库(Local repository本地仓库 及修改/conf/setting.xml配置)
1.5填写项目名称
2.1修改项目结构
添加文件夹java 及resources java文件夹标记为Sources Root(源代码路径) resources标记为(ReSources Root)(资源文件路径)
2.2pom.xml添加JFinal4.5框架依赖:
<dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal</artifactId> <version>4.5</version> </dependency>2.2.1 idea使用的jdk是1.8.0_144 配置请参照其他文章:
https://www.cnblogs.com/Knowledge-has-no-limit/p/7234360.html
2.3新建config文件夹,添加DemoConfig(JFinal配置文件) 继承JFinalConfig即可
package config; import com.jfinal.config.*; import com.jfinal.template.Engine; import controller.HelloController; /** * */ public class DemoConfig extends JFinalConfig { @Override public void configConstant(Constants me) { me.setDevMode(true); } @Override public void configRoute(Routes me) { me.add("/hello", HelloController.class); } @Override public void configEngine(Engine me) { } @Override public void configPlugin(Plugins me) { } @Override public void configInterceptor(Interceptors me) { } @Override public void configHandler(Handlers me) { } }2.4配置web.xml DemoConfig路径的配置必须正确
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <filter> <filter-name>jfinal</filter-name> <filter-class>com.jfinal.core.JFinalFilter</filter-class> <init-param> <param-name>configClass</param-name> <!--注意此处的路径配置,必须正确!--> <param-value>config.DemoConfig</param-value> </init-param> </filter> <filter-mapping> <filter-name>jfinal</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>2.5新建controller文件夹,创建HelloController 继承Controller即可
package controller; import com.jfinal.core.Controller; public class HelloController extends Controller { public void index(){ renderText("hello world!"); } }3.1最终项目结构
3.2idea配置tomcat8.0.23
tomcat安装可参考:https://blog.csdn.net/Atishoo_13/article/details/86428867
idea配置tomcat可参考:https://blog.csdn.net/zjh_746140129/article/details/81174848
端口号:8080
点击debugger启动
启动成功:
3.3浏览器调用:输入http://localhost:8080/hello,返回hello world!成功 日志console 如上图
易错点:
之前web.xml配置错了DemoConfig的路径,导致项目启动失败
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <filter> <filter-name>jfinal</filter-name> <filter-class>com.jfinal.core.JFinalFilter</filter-class> <init-param> <param-name>configClass</param-name> <!--注意此处的路径配置,必须正确!--> <param-value>com.jfinal.config.DemoConfig</param-value> </init-param> </filter> <filter-mapping> <filter-name>jfinal</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>启动报错: One or more Filters failed to start 过滤器配置出错
JFinal深入了解:
本项目只使用了 JFinal的基本配置及最简单的Controller 更深入知识可查阅JFinal官方文档
JFinal框架文档:https://www.jfinal.com/doc
关于CURD及数据库连接,日志,json传值的处理及你要的一切都写在文档里。
JFinal项目:https://www.jfinal.com/project 有很多优秀的项目可供下载
开发人员普遍要有会阅读文档,使用上面例子的能力。