JFinal框架的使用(一)

 JFinal 是基于 Java 语言的极速 WEB + ORM 开发框架,其核心设计目标是开发迅速、代
码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有 Java 语言所有优势的同时
再拥有 ruby、python、php 等动态语言的开发效率!为您节约更多时间,去陪恋人、家人和朋
友 : ) 
    JFinal 有如下主要特点: 
MVC 架构,设计精巧,使用简单 
遵循 COC 原则,零配置,无 xml 
独创 Db + Record 模式,灵活便利 
ActiveRecord 支持,使数据库开发极致快速 
自动加载修改后的 java 文件,开发过程中无需重启 web server 
AOP 支持,拦截器配置灵活,功能强大 
Plugin 体系结构,扩展性强 
多视图支持,支持 FreeMarker、JSP、Velocity 
强大的 Validator 后端校验功能 
功能齐全,拥有 struts2 绝大部分核心功能 
体积小仅 218K,且无第三方依赖 
部署方法
1、导入Jar包 jfinal-1.9-bin-with-src.jar
修改web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance
        xmlns=" http://java.sun.com/xml/ns/javaee"                                 
        xmlns:web=" http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"                             xsi:schemaLocation=" http://java.sun.com/xml/ns/javaee  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<filter>
       <filter-name>jfinal</filter-name>
            <filter-class>com.jfinal.core.JFinalFilter</filter-class>
       <init-param>
            <param-name>configClass</param-name>
            <param-value>cn.edu.sdnu.liuwei.jfinal.cfg.DemoConfig</param-value>
        </init-param>
</filter>
<filter-mapping>
        <filter-name>jfinal</filter-name>
        <url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>

所有的对该应用的http访问都通过  com.jfinal.core.JFinalFilter类来进行处理,这是一个过滤器的一个子类。
2、配置Config文件
首先在过滤器jfinal的配置中加入(上一步代码中已添加)
<init-param>
            <param-name>configClass</param-name>
            <param-value>cn.edu.sdnu.liuwei.jfinal.cfg.DemoConfig</param-value>
 </init-param>

3、之后编写controller层:添加controller类继承于com.jfinal.core.Controller
package cn.edu.sdnu.liuwei.jfinal.controller;
import com.jfinal.core.Controller;
public class HelloController extends Controller {
 public void index() {
  renderText("Hello JFinal World.");
 }
}

4、然后编写一个DemoConfigure类继承于com.jfinal.config.JFinalConfig,用于配置controller使其生效

package cn.edu.sdnu.liuwei.jfinal.cfg;
import cn.edu.sdnu.liuwei.jfinal.controller.HelloController;
import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;

public class DemoConfig extends JFinalConfig {

 @Override
 public void configConstant(Constants me) {
  me.setDevMode(true);//开启开发者模式
 }

 @Override
 public void configRoute(Routes me) {
//配置应用主目录/hello 对应 HelloController这个controller类去处理
  me.add("/hello", HelloController.class);
 }

 @Override
 public void configPlugin(Plugins me) {}

 @Override
 public void configInterceptor(Interceptors me) {}

 @Override
 public void configHandler(Handlers me) {}

}

5、部署代码,测试,发现访问该应用的 /hello路径可以看到

说明访问/hello时,由对应的Controller类的 index()方法来处理。
如果我们在HelloController中添加test方法:
import com.jfinal.core.Controller;

public class HelloController extends Controller {
 public void index() {
  renderText("Hello JFinal World. ");
 }
 public void test(){
  renderText("test执行!!!!");
 }
}

部署服务器之后访问:http://localhost:8080/LearnJFinal/hello/test

 太神奇了!!!
如果我们输入错误呢?
恩 JFinal框架给我们做了很人性化的设计,让我们程序员可以专注于业务,而不用在意那么多细节,真是棒棒哒!!

6、如果我们搭用于移动端访问的WebService 接口返回Json数据的时候,可以这么做:

会提示我们Json数据返回,打开后看到:

7、获取用户添加的参数:
使用getPara()方法:
在HelloController类中添加getInput()方法测试一下:
public void getInput(){
  renderText(getPara()+"===我是分割线==="+getPara("username"));
 }

工程部署完成后如何访问不用我教了吧,大家都是聪明滴孩纸^_^
啊哦,getPara()方法好像有点小问题哦,笔者读过源代码后发现,getPara()和getPara(String name)两个方法获取参数的方式不同,但也没关系,以后使用时只用getPara(String name)就够啦^_^
好了 JFinal的web基础部分就介绍到这里先^_^























  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值