1.创建Dynamic Web Project;

2.导入需要的jar包:

3.创建包:

4.配置web.xml:

5.编写web.xml中的com.jfinal.config.Myconfig,该类需要实现JFinalConfig类,在Myconfig类中配置常量Constants,插件configPlugin,路由configRoute(这三项是必须配置的)。

package com.jfinal.config;

import com.jfinal.controller.UserController;
import com.jfinal.model.User;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.template.Engine;

public class Myconfig extends JFinalConfig{

@Override
    public void configConstant(Constants cons) {

//配置项目为开发模式
        cons.setDevMode(true);
    }

@Override
    public void configEngine(Engine arg0) {
        
    }

@Override
    public void configHandler(Handlers arg0) {
        
    }

@Override
    public void configInterceptor(Interceptors arg0) {
        
    }

@Override
    public void configPlugin(Plugins me) {

//配置连接数据库的插件
        DruidPlugin dp = new DruidPlugin("jdbc:mysql://localhost:3306/jfinaloa", "root", "123456");
        me.add(dp);

//配置操作数据库的插件
        ActiveRecordPlugin arp = new ActiveRecordPlugin(dp);
        me.add(arp);

//配置表和实体类的映射
        arp.addMapping("t_user", User.class);
        
    }

@Override
    public void configRoute(Routes me) {

//配置请求controller的路经
        me.add("/", UserController.class);
    }

}

 

6.配置实体类model中的User类:

package com.jfinal.model;

import com.jfinal.plugin.activerecord.Model;

public class User extends Model<User>{
    public static final User dao = new User();

}

7.配置controller:

package com.jfinal.controller;

import java.util.List;

import com.jfinal.core.Controller;
import com.jfinal.model.User;

public class UserController extends Controller{
    public void list() {
        List<User> userList = User.dao.find("select * from t_user");

//请求成功跳转到list.html页面
        render("list.html");
    }
    
    public void save() {
        boolean b = User.dao.set("username", getPara("username")).set("age", getPara("age")).set("birthday", getPara("birthday")).save();
        if(b)

//页面返回字符串
            renderText("添加成功");
    }

}

8.配置静态页面:list.html,add.html

list.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>

查询成功

</body>
</html>

add.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
 <form action="save" method="post">
 
     name:<input type="text" name="username"/><br>
     age:<input type="text" name="age"/><br>
     birthday:<input type="text" name="birthday"/><br>
     <input type="submit" value="tijiao"/>

</form>

</body>
</html>

9.部署项目到Tomcat上并启动项目。结束。

注意:当用户调用查询方法时,可以直接访问controller中的方法,请求成功后悔跳转到成功页面即list.html,该页面会显示用户查询的数据;当用户调用添加方法时需要先请求添加页面add.html,提交成功后页面会获取到添加成功返回的字符串,同时,可以去数据库中查看添加成功的数据。下面附上数据库中的表结构:

第一个jfinal的样例相关推荐

  1. Prism安装、MVVM基础概念及一个简单的样例

    一:Prism的下载和安装 1:在http://compositewpf.codeplex.com/上下载最新的包. 下载完毕后,运行之,选择解压目录解压之.解压完毕的根目录下有chm帮助文档. 2: ...

  2. JBoss 系列九十六:JBoss MSC - 简介及一个简单演示样例

    什么是 JBoss MSC JBoss MSC 即 JBoss Modular Service Container,是第三代 JBoss 产品 JBoss 7和WildFfly的内核,JBoss MS ...

  3. Yii学习笔记之二(使用gii生成一个简单的样例)

    1. 数据库准备 (1) 首先我们建一数据库 yii2test 并建立一张表例如以下: DROP TABLE IF EXISTS `posts`; CREATE TABLE `posts` (`pos ...

  4. java多状态机_一个java状态机样例的代码

    在UML当中有状态机视图,这个状态机可以用于自动售货机,自动售票机等等场景,下面是用java代码模拟的一个状态机: 1.状态机接口 package stateMachine; /** * 状态机接口 ...

  5. 模式识别 - 处理多演示样例学习(MIL)特征(matlab)

    处理多演示样例学习(MIL)特征(matlab) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27206325 多演示样例学习( ...

  6. 讲故事的用户故事样例之1

    曾几何时开始,用户故事的写法成了 用户故事经典句式+验收条件. 在https://blog.versionone.com/agile-acceptance-criteria/ 上提供了如下一个故事的样 ...

  7. elasticSearch Analysis Token Filters作用及相关样例

    1.Standard Token Filter standard 目前什么都不做; 2.ASCII Folding Token Filter asciifolding 类型的词元过滤器,将不在前127 ...

  8. 《快学Scala》第14章——模式匹配和样例类 学习笔记

    Scala有一个十分强大的模式匹配机制,可以应用在很多场合:switch语句.类型查询,以及"析构"(获取复杂表达式中的不同部分).除此之外,Scala还提供了样例类,对模式匹配进 ...

  9. ACMNO.24 C语言-转置矩阵 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。 输入 一个3x3的矩阵 输出 转置后的矩阵 样例

    题目描述 写一个函数,使给定的一个二维数组(3×3)转置,即行列互换. 输入 一个3x3的矩阵 输出 转置后的矩阵 样例输入 1 2 3 4 5 6 7 8 9 样例输出 1 4 7 2 5 8 3 ...

最新文章

  1. sql语句中 时间数值转换为时间格式函数
  2. OpenCV的minEllipse函数(求轮廓的外接椭圆)一定要判断输入点是否大于5个
  3. mysql centos7 默认密码忘记_centos7 mysql忘记密码解决办法
  4. 2020-11-13(c++下JNI开发不同点)
  5. 修改Tomcat7的/webapps/ROOT发布路径
  6. 监控cacti中的RRDtool用法详解
  7. Kubernetes 部署 Traefik Ingress 控制器 (1.7.12)
  8. html广告20s倒计时,简单时尚的jQuery倒计时插件
  9. 面试题:Java对象不再使用时,为什么要赋值为null?
  10. Spring Boot内嵌的tomcat日志
  11. 安装MyEclipse10 并且破解(附带软件包)
  12. 【计算机架构】什么是云原生?云原生如何解释?What is cloud native?通俗解释云原生
  13. Ubuntu Desktop - Terminal 输出全部选中 + 复制
  14. 百思不得姐之广告界面(三)
  15. 循环进行Bitmap转BitmapSource导致内存溢出时可使用使用DeleteObject来释放资源
  16. 添加飞船图像:创建ship类与在屏幕上绘制飞船
  17. 在CorelDRAW中的自定义彩虹笔刷创建迷幻背景
  18. 关于ScrollView嵌套RecyclerView时RecyclerView不显示的问题
  19. 如何解决 bin log 与 redo log 的一致性问题
  20. cad怎么去除drawing1_如何设置cad2012打开已有的DWG图纸的时候不自动新的Drawing1窗口?...

热门文章

  1. Delphi匿名方法(三):扩展本地变量的生命周期
  2. adaboost算法java_Adaboost 算法实例解析
  3. 2021年宝鸡中学高考成绩查询,宝鸡各高中2020年高考喜报成绩一览
  4. vue商城项目源码_CMS全栈项目之Vue和React篇(下)(含源码)
  5. apache目录 vscode_[PHP] php, apache, VS Code安装与配置
  6. 华硕无线路由打印机服务器,享受DIY的快乐 篇四:当普通打印机遇上智能路由器——网络打印机配置教程(以华硕AC66U B1为例)...
  7. c语言算法竞赛入门经典百度云,《算法竞赛入门经典》CH-2(C语言)
  8. java底层原理书籍_阿里面试题:Java中this和super关键字的底层实现原理
  9. oracle 运维案例,运维注意事项及案例讲解(个人心得)
  10. viso怎么控制连接线_德国菲斯曼故障出现这些字母代码怎么解决?