JFinal简介
JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率。
JFinal官方信息
JFinal官网: http://www.jfinal.com/
JFinalAPI文档: http://www.w3cschool.cn/jfinal
JFinal环境下载: http://www.jfinal.com/login?returnUrl=/download?file=jfinal-2.2-all.zip
JFinal官方Demo: http://www.jfinal.com/login?returnUrl=/download?file=jfinal-2.2_demo.zip
一:hello JFinal
1:新建web工程
2:引入jar包:jetty-server-8.1.8.jar jfinal-2.0-bin.jar
3:修改web.xml文件,添加以下信息
<filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-value>com.hello.jfinal.DemoConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
4
DemoConfig 配置 需要继承JFinalConfig类
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 configHandler(Handlers me) { }
@Override
public void configInterceptor(Interceptors arg0) { }
@Override
public void configPlugin(Plugins arg0) { }
}
Controller 控制层
public class HelloController extends Controller{
public void index(){
renderText("hello Jfinal");
}
public void testes(){
renderText("test");
}
}
5:启动
创建启动项如下图所示:
鼠标右键点击 Java Application 并选择 New 菜单项,新建 Java Application 启动项
在右侧窗口中的 Main class 输入框中填入: com.jfinal.core.JFinal 并点击 Debug 按钮启动项
目,如下图所示:
注意:在tomcat下开发或运行项目时,需要先删除jetty-server-8.1.8.jar包,否则会冲突。tomcat 启动项目不能使用上面介绍的启动方式,因为上面的启动方式需要用到jetty-server-8.1.8.jar
打开浏览器在地址栏中输入: http://localhost/hello,输出内容为 Hello JFinal World 证明项目
框架搭建完成。如需完整 demo 示例可在 JFinal 官方网站下载:http://www.jfinal.com
地址栏中输入: http://localhost/hello/methodName 将访问到 HelloController.methodName()方法。
路由拆分
public class FrontRoutes extends Routes {
public void config() {
add("/", IndexController.class);
add("/blog", BlogController.class);
}
}
public class AdminRoutes extends Routes {
public void config() {
add("/admin", AdminController.class);
add("/admin/user", UserController.class);
}
}
public void configRoute(Routes me) {
me.add(new FrontRoutes()); // 前端路由
me.add(new AdminRoutes()); // 后端路由
}