首页 > 软件开发 > 如何使用jfinal 快速开发web ?

快速发布【软件开发】相关需求,专业顾问为您服务 快速发布

用此手机号发布,您还可以点击 更换

发布需求
请输入正确的手机号
请输入正确的验证码

您是不是要找:

  • 专家问诊,提供专业建议
  • 急速响应,体验省心
  • 根据需求灵活定制解决方案

如何使用jfinal 快速开发web ?

标签:jfinal web 开发 2017-8-18 作者:open_tq54_niwe

  JFinal框架是国产的很轻量级的开发框架。能让程序员写的代码精简很多,开发效率从而更快。


  我是写了一个JFinal版的数据库验证+跳转的Demo。


  介绍开始:


  编辑器:MyEclipse;


  数据库:MySQL;


  服务器:tomcat;


  1 首先新建web项目


  要强调的是Target runtime必须选择为None。然后点击两次Next,选中创建web.xml。finish~~~


  2 导入支撑项目的jar包(包括JFinal、Mysql、JDBC)


  必须导入这四个jar包。其中:(1) c3p0是支撑JDBC的;(2)jfina是支撑jfinal的,jfinal默认使用freemarker作为MVC的View,所以也要导入;(3)MySQL-conncetor是支撑mysql连接的


  3 写java代码


  在src文件夹中创建四个package,分别为config,controller, model,service。其中config包里是全局配置文件,controller对应的就是MVC中的Control,model与service组成MVC的Model。Control就是控制前后台的交互,model对应数据库的各个表以及派生model类,service就是写sql语句的地方微笑。


  config中有三个方法最重要configConstant、configPlugin、configRoute


  (1)configConstant:此方法用来配置 JFinal 常量值


  (2)configPlugin:此方法用来配置 JFinal 的 Plugin,比如配置 C3p0 数据库连接池插件与 ActiveRecord数据库访问插件


  (3)configRoute:此方法用来配置 JFinal 访问路由,比如将”/hello”映射到 HelloController 这个控制器


  说完这些我们来看代码


  ↓此为BaseConfig.Java


  [java] view plain copy


  package config;


  import model.User;


  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;


  import com.jfinal.kit.PropKit;


  import com.jfinal.plugin.activerecord.ActiveRecordPlugin;


  import com.jfinal.plugin.c3p0.C3p0Plugin;


  import controller.HelloController;


  public class BaseConfig extends JFinalConfig {


  @Override


  public void configConstant(Constants me) {


  // TODO Auto-generated method stub


  PropKit.use("demo_config.txt");


  me.setDevMode(PropKit.getBoolean("devMode", false));


  }


  @Override


  public void configHandler(Handlers me) {


  // TODO Auto-generated method stub


  }


  @Override


  public void configInterceptor(Interceptors me) {


  // TODO Auto-generated method stub


  }


  @Override


  public void configPlugin(Plugins me) {


  // TODO Auto-generated method stub


  C3p0Plugin c3p0Plugin = new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());


  me.add(c3p0Plugin);


  ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);


  me.add(arp);


  arp.addMapping("user", User.class);


  }


  @Override


  public void configRoute(Routes me) {


  // TODO Auto-generated method stub


  me.add("/hello", HelloController.class);


  }


  }


  ↓此是HelloController.java


  [java] view plain copy


  package controller;


  import model.User;


  import service.UserService;


  import com.jfinal.core.Controller;


  public class HelloController extends Controller {


  UserService userService = new UserService();


  public void index()


  {


  String name = getPara("name");


  String password = getPara("password");


  User user = new User();


  user = null;


  user = userService.findUser(name, password);


  if(user != null)


  render("/html/hello.html");


  }


  }


  ↓此是User.java


  [java] view plain copy


  package model;


  import com.jfinal.plugin.activerecord.Model;


  public class User extends Model {


  public static final User dao = new User();


  }


  ↓此是UserService.java


  [java] view plain copy


  import model.User;


  public class UserService {


  public User findUser(String name,String password)


  {


  User user = new User();


  user = null;


  String sql = "select * from user where name='"+name+"' and password='"+password+"';";


  user = User.dao.findFirst(sql);


  System.out.printf("sql:"+sql);


  return user;


  }


  }


  4 千万不能忘了Propkit要引用的txt文件


  Propkit是JFinal自带的工具类。Propkit可以用来加载一个或多个配置文件。在该Demo中PropKit用在BaseConfig的configConstant方法中。


  需要强调的是,加载的配置文件必须要放在src下。原因是:友情链接//www.oschina.NET/question/2461549_2148022?fromerr=ceMjBkEb


  ↓此是demo_config.txt


  [plain] view plain copy


  jdbcUrl = jdbc:mysql://127.0.0.1/jfinal_test?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull


  user = root


  password = root


  devMode = true


  5 写前台界面


  在WebRoot下创建文件夹html,在html文件夹下创建hello.html与login.html。其中hello.html里什么都不用添加,login.html设计一个表单提交。


  ↓此是login.html


  [html] view plain copy


  


  


  


  login.html


  


  


  


  


  


  


  


  


  


  


  


  


  


  


  


  


  


  


  


  


  

name:
password:


  


  


  


  6 修改web.xml文件


  web.xml在WebRoot/WEB-INF文件夹下


  ↓此是web.xml


  [html] view plain copy


  


  


  JFinalDemo


  


  JFinalDemo


  com.jfinal.core.JFinalFilter


  


  configClass


  config.BaseConfig


  


  


  


  JFinalDemo


  /*


  


  


  7 数据库


  创建数据库的语句与插入的测试数据。


  [plain] view plain copy


  CREATE DATABASE IF NOT EXISTS jfinal_test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;


  CREATE TABLE user (id INT NOT NULL AUTO_INCREMENT,name CHAR(10) NOT NULL,password CHAR(10) NOT NULL,PRIMARY KEY(id));


  insert into user(name,password) values('test','test');


  8 执行


  账户密码都是test,点击login后,跳转成功


  总结


  由于本人并没有structs经验,MVC也只是入门级,所以刚开始阅读JFinal的文档时完全不会配置,但是认真梳理一下,从头开始一步步的导入支撑的文件,并结合自己的MVC体会,算是会用JFinal了。在后面的一段时间内,我会经常与JFinal打交道,所以以后还会写一些对JFinal的使用感悟。


  上面就是小编为大家整理的关于jfinal web 开发的文章,希望对大家有帮助。在实际的操作过程中大家可以根据实际情况进行灵活的调整。了解更多咨询请关注猪八戒网。


最新文章推荐

软件开发暂无最新文章查看全部推荐文章>

推荐人才