JFinal 是基于 Java 语言的极速 WEB + ORM 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java 语言所有优势的同时再拥有 ruby、python、php 等动态语言的开发效率!
1:在项目pom.xml 文件添加相关依赖
<!-- jfinal 依赖的jar -->
<dependencies>
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jfinal</artifactId>
<version>1.9</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.11</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.1.15</version>
</dependency>
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.20</version>
</dependency>
<!-- 数据库连接依赖包 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.34</version>
</dependency>
</dependencies>
2:编写实体类,继承 model 抽象类
import com.jfinal.plugin.activerecord.Model;
public class User extends Model<User>{
}
3:编写config 配置文件
package conf;
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.core.JFinal;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.render.ViewType;
import controller.LoadController;
import controller.UserController;
public class DemoConf extends JFinalConfig{
@Override
public void configConstant(Constants me) {
// TODO Auto-generated method stub
//设置页面的显示类型为jsp
me.setViewType(ViewType.JSP);
}
@Override
public void configHandler(Handlers arg0) {
// TODO Auto-generated method stub
}
@Override
public void configInterceptor(Interceptors arg0) {
// TODO Auto-generated method stub
}
@Override
public void configPlugin(Plugins me) {
// TODO Auto-generated method stub
try {
DruidPlugin dp = new DruidPlugin(
"jdbc:mysql://hadoop1:3306/test", "root",
"root");
me.add(dp);
ActiveRecordPlugin arp = new ActiveRecordPlugin(dp);
me.add(arp);
//实体类与数据库表映射
arp.addMapping("user", "id", User.class);
System.out.println("success");
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
System.out.println("失败");
}
}
//设置路由
@Override
public void configRoute(Routes me) {
// TODO Auto-generated method stub
//me.add("/", UserController.class);
me.add("/user", UserController.class);
}
}
4:编写控制器类
import com.jfinal.aop.Before;
import com.jfinal.core.Controller;
import com.jfinal.ext.interceptor.Restful;
public class UserController extends Controller {
public void index(){
render("login.jsp");
}
User userdao = new User();
public void login() {
System.out.println("数据库操作");
User us = getModel(User.class);
List<User> userlist = userdao.find(
"select *from user where username=? and password=?",
us.getStr("username"), us.getStr("password"));
if(userlist.size()==0){
redirect("/index.jsp");
}else{
redirect("/index1.jsp");
}
//return user;
}
5: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>conf.DemoConf</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
5:页面action 配置
<!-- action 走的是user 这个路由对应的控制器的login() 方法 -->
<div class="loginBox" >
<div class="login">
<h1 class="mg-t30">用户登录</h1>
<form action="/user/login" method="post">
<input name="user.username" type="text">
<input name="user.password" type="text">
<input type="submit" value="登录">
</form>
</div>
</div>
分享到:
相关推荐
JFinal 是一个基于 Java 语言的轻量级 Web 开发框架,它以“简单、高效”为设计理念,致力于提供快速开发能力,降低学习成本。在本教程中,我们将重点探讨如何利用 JFinal 实现对 MySQL 数据库的增删改查操作,这...
在JFinal项目中,可以将LigerUI的CSS和JavaScript资源引入到项目中,结合JSP或HTML模板,实现美观的前端展示。 总结,通过Maven和JFinal的结合,我们可以构建出一个结构清晰、依赖管理有序的Web项目。Maven处理项目...
本文将详细讲解基于Java的轻量级框架JFinal与传统网页技术JSP结合的实战Demo,帮助开发者理解如何利用JFinal搭建一个简单但功能完备的Web应用。 JFinal是一款由国人开发的Java MVC框架,它的核心设计目标是简洁、...
这个"JFinal_demo_for_jsp-1.5.zip"压缩包提供了一个入门级别的示例,帮助开发者了解如何使用JFinal与JSP(JavaServer Pages)进行Web应用开发。下面我们将深入探讨JFinal框架以及它与JSP结合使用的相关知识点。 ...
JFinal是一个专门为Java Web开发打造的轻量级MVC框架,具有国产化、开源化的特点,它是由陆文瑞、卢盼娜和王彦婕等人在山西信息产业技术研究院有限公司进行研究和应用的。JFinal的特点在于它的便捷性、高效性和设计...
**JFinal FastDev 开发基础骨架详解** JFinal 是一个基于 Java 语言的轻量级 Web 开发框架,它的设计目标是使开发更加简单、高效。FastDev 是 JFinal 的一个扩展,它提供了快速开发的功能,包括自动化工具、模板...
Jfinal是一款基于Java语言的轻量级Web开发框架,它以其高效、简洁的特性深受开发者喜爱。本文将深入探讨Jfinal3.0版本的主要特点、核心组件以及如何通过示例进行实际应用。 一、Jfinal3.0简介 Jfinal3.0作为Jfinal...
本资源“jfinal-2.0_demo_for_jsp.zip”提供了JFinal 2.0版本的示例项目,旨在帮助开发者,尤其是初学者更好地理解和应用JFinal进行Web开发。 JFinal的核心特点: 1. **MVC架构**:JFinal遵循Model-View-...
Jfinal则是一款基于Java的轻量级Web框架,专注于MVC模式,致力于简化后台开发。将RequireJS与Jfinal结合,可以构建出高效、模块化的前后端分离应用。下面我们将详细探讨这个"requireJs+Jfinal 例子"中的关键知识点。...
2. 视图(View):JFinal默认采用Freemarker作为模板引擎,但也可以选择其他的视图技术,如:JSP、Velocity等。视图负责将处理后的数据渲染成用户可见的页面。 3. 控制器(Controller):控制器是业务逻辑的主要...
在"jfinal_demo_for_jsp.zip_DEMO_jsp"的示例中,我们可以看到Controller如何调用Model的数据库操作方法,然后将查询结果封装成Map或Model对象,最后转发到对应的JSP页面,由JSP负责数据的展示。 对比SSH和SSM框架...
JFinal也支持FreeMarker、JSP、Velocity等多种视图技术,使得视图层的选择更加灵活。 Validator是JFinal提供的后端校验功能组件,用于对用户输入进行校验,支持校验配置,提高了数据的准确性和可靠性。 最后,...
总结起来,"JFinal集成Ueditor增删改查JSP版本Demo"是一个典型的Web应用实例,它展示了如何使用JFinal框架配合Ueditor编辑器,实现用户友好的内容编辑和管理功能。通过这个Demo,开发者可以快速上手JFinal,理解其...
"文件批量上传 jsp jfinal webuploader 在线预览缩略图" 这个标题描述了一个完整的文件上传解决方案,它涉及到几个关键的技术点,我们将逐一详细解释。 首先,批量上传(Batch Upload)是指用户可以一次选择多个...
JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、php等动态语言的开发效率!...
JFinal 是基于 Java 语言的极速 WEB + ORM + AOP + Template Engine 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python、...
本实例——"JFinalDemo.zip",结合了JFinal、Freemarker和Maven三个关键组件,为开发者提供了一个完整的Web应用程序开发环境。下面,我们将详细探讨这三个技术的核心概念以及它们如何协同工作。 **JFinal** 是一个...
JFinal Weixin - 基于JFinal的微信公众号极速开发SDK,包含698个文件,如HTML、JAVA、JS、TXT、JSP、XML、MD、PROPERTIES和JSON等。该SDK提供了一站式的微信公众号开发解决方案,支持多公众号管理,开发者可以通过...
JFinal的特点包括精巧的MVC架构、零配置、无XML、独创的Db+Record模式、ActiveRecord支持、自动加载修改后的Java文件、AOP支持、插件体系结构、多视图支持(FreeMarker、JSP、Velocity)、强大的后端验证器...
JFinal 是一个基于 Java 的高效、轻量级的 MVC 框架,它的设计目标是使开发更加简单、快速。JFinal 的核心特性包括但不限于以下几点: 1. **简单易用**:JFinal 采用最小化API设计,使得开发者能够快速上手。其路由...