Jfinal 框架
Maven仓库: https://mvnrepository.com/ // maven 仓库 可以查看到 各种插件的版本 以及引进代码
JFinal官网: https://jfinal.com/
Jfinal项目入门
下载 Jfinal 入门项目 https://jfinal.com/download/now?file=jfinal-blog-5.0.0.zip
此文档在启动说明里有 安装部署即可
1: 使用 blog.sql 中的 sql 语句创建数据库与数据库表
2: 修改 src/main/resources/demo-config-dev.txt 文件,填入正确的数据库连接用户名、密码
3: 将项目导入 eclipse。推荐使用 Eclipse IDE for Java EE Developers
4: 打开 com.demo.common包下的 DemoConfig 文件,右键单击该文件并选择 Debug As ---> Java Application
5: 打开浏览器输入 localhost 即可查看运行效果
配置文件
vim resources/undertow.txt
undertow.port=9090 // 端口号
undertow.devMode=true // 热部署 需要构建完才能热部署 ctrl + F9 false关闭热部署
打包 及 发布
使用 idea 右侧Maven 工具栏 找到 package 进行打包 打包成 zip 文件 传到服务器 解压 运行 对应脚本即可
项目下有 jfinal.bat 和 jfinal.sh 启动脚本
...............................................................................................................
idea 新建 手动 jfinal 项目
Maven Archetype
jfinal
D:\teo\jfinal
Archetype: org.apache.maven.archetypes:maven-archetype-webapp
1. Action路由寻址 // Action 是 每一个继承Controller的类下的方法 都是一个 Action 处理
@Path("/user") // 此注解 定义 访问路径
vim com/demo/common/DemoConfig.java // JFinal 程序的 配置文件
public void configRoute(Routes me) { // 路由的配置 就是 网页的路径
// 使用 jfinal 4.9.03 新增的路由扫描功能
me.scan("com.demo."); // 路由扫描
// me.add("user", UserController.class); // 手动加了一个路由
}
vim com/demo/user/UserController.java
@Path("/user") // 添加访问路径 每一个继承Controller的类下的 方法 都是一个 Action 可以使用 /user/方法名 访问
public class UserController extends Controller {
public void login(){
renderHtml("登录"); // renderHtml 将数据填充到 HTML 模板中,并将生成的 HTML 字符串作为响应返回给客户端
} // 返回一个网页
public void logout(){
renderText("等等露露");
}
@NotAction // 用于指示某个方法不应该被处理为 HTTP 请求的动作。 不会被处理的方法
public void log(){
System.out.println("正在请求...");
}
}
2. Action参数注入
参数的接收
接收 get 请求 // 需要知道 请求的 参数名 http://127.0.0.1:9090/user/logout?name=xinling&age=17&id=s123
String para1 = this.getPara("id"); // 接收 一个 id 的参数 如果没有接收到 用 null 替代
String para2 = this.getPara("name","小明"); // 接收 一个 那么的参数 如果没有接收到 默认值是 小明
Integer para3 = this.getParaToInt("age"); // 接收 一个 整形的参数
Integer para4 = this.getParaToInt("age",33);
接收 路径 请求 // http://127.0.0.1:9090/user/logout/8-6-5
String para1 = this.getPara(0); // 使用 string 和 Integer 都能接收到 路径接收不到 /8/6/5 形式
Integer para2 = this.getParaToInt(1);
String para4 = this.getPara(); // 没有任何参数 取到的是 路径的 整体参数结果是 8-5-6
接收 json 请求 // 需要一个标准类接收.
String json = this.getRawData(); // 字符串接收json 数据
Student student = FastJson.getJson().parse(json, Student.class); // 把json数据封装到类里面
System.out.println("name =" + student.getName());
System.out.println("username =" + student.getUsername());
<dependency> // pom.xml 需要 加上 依赖 否则会报错
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
问题01: String para1 = this.getPara("id"); 这里的this可以省略 不知道为什么 可以直接写成 String para1 = getPara("id");
问题02: http://127.0.0.1:9090/user/logout/8/5/6 这种参数怎么 接收
问题03: 接收 json 数据
操作数据库
vim com/finalfss/model/_MappingKit.java // 此文件是用于处理数据库映射的。它提供了一组便捷的方法来执行数据库操作,
// 需要把数据库中的表添加到这里面