专栏首页RFFAN实验室JFinal学习笔记[1]

JFinal学习笔记[1]

缘由:写这个是当时要找到一个和Spring不同的,不是又臭又长的配置的框架。小伙伴们推荐了JFinal,这个框架非常小巧,不错。所以我也开始研究这个框架了。

但是,相比golang中的beego来说。这个框架的配置也是比较麻烦的。但是我有不得不学习java框架的理由,所以,写了份笔记,用以以后遗忘的时候,重新翻翻能够减少重新学习的成本,也让想使用这个框架的java初学者们有个向导(当然老手就不必看了,毕竟能配置和使用Spring这种又臭又长的框架的,对jFinal肯定驾轻就熟。)

下面开始:

首先新建一个Maven Project。用Idea的方法,新建一个maven-archetype-webapp

然后一步步创建

创建好了之后,在pom.xml的dependency加入jfinal的依赖如下:

<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jfinal</artifactId>
<version>3.1</version>
</dependency>

如果不知道版本号,可以去jfinal官网查看版本号。然后点击File->Project Structure点击Modules点Sources点开main新建java目录然后设置为sources

然后新建几个Config,Controller,Model,Routes,Services几个目录,当然新建目录,可以完全不做。恩,按照我自己的风格,这些都可以直接新建好,以待以后封装。

然后在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>Config.jConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

然后,在Config目录下新建jConfig.class要继承JFinalConfig

public void configConstant(Constants me){
me.setDevMode(true);
}
public void configRoute(Routes me) {
me.add("/", HelloController.class);
}
public void configEngine(Engine me) {}
public void configPlugin(Plugins me) {}
public void configInterceptor(Interceptors me) {}
public void configHandler(Handlers me) {}

在这个class下输入这个配置。当然这个时候,你的HelloController还没新建,所以,你这个时候,会报错,但是没关系,我们可以新建这个Controller。

来,我们在Controller目录下新建一个HelloController 这个Controller 继承了Controller(是jFinal的Controller,不是其他框架的),类中新建一个index方法如下:

public void index(){
renderText("Hello JFinal World!23333");
}

剩下的就是新建运行环境,添加一个local的jetty,初次添加会有个warnning的,点旁边的fix搞定他,选择war exploded就ok了,点apply,OK了。

然后右上角的小绿标,开始运行吧,现在预计是能访问了,除非你各种继承都没继承。

总结:本期只是新建一个JFinal项目。我看Spring的时候,是跟着一个oschina的教程走的,开始的步骤还算顺利。但是后面的步骤,越来越繁琐。所以放弃了。注意点,如果没有继承的话会出错的。所以部署的时候,请注意继承。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Wget 大法wget 指定路径,指定文件名下载

    今天用到了Wget,突然一时间想不起来wget的下载到指定目录是哪个参数了,特地把所有参数都弄来,以防又忘记了。毕竟脚本是写了之后,半年都不用改,坑!

    用户2353021
  • [LEETCODE]从排序数组中删除重复项

    给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

    用户2353021
  • [Laravel]修改Laravel 使之http,https自适应的方法

    我之前一直使用的是http,所以部署lnmpa也无所谓,毕竟全都是http通信的。

    用户2353021
  • go语言实现http服务端与客户端

    go语言的net/http包的使用非常的简单优雅 (1)服务端 [plain] view plain copy package main import ...

    李海彬
  • C# 设计模式 责任链 后退按钮使用责任链

    责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。...

    林德熙
  • Qt官方示例-样式表

      样式表示例显示了如何使用Qt样式表设置窗口小部件的样式。您可以通过选择"File" >"Edit Style"来打开样式编辑器,以选择现有样式表或设计自己...

    Qt君
  • 松本行弘:Ruby之父是怎样炼成的?

    当对一样事物着迷到了不能自拔的地步,就可以称之为痴。正如练武有武痴,演戏有戏痴,在程序员的世界里,也有这样一位“语言痴”——松本行弘。

    友好速搭小编
  • 电商小程序,订阅制成新一代“黑马”

    最近,江南布衣推出了一款名为“不止盒子”的小程序,深受消费者欢迎,这款“不止盒子”的亮点在哪呢,就在于消费形式的创新,率先推出“先试后买”的消费形式。

    用户1745481
  • 电商小程序,订阅制成新一代“黑马”

    最近,江南布衣推出了一款名为“不止盒子”的小程序,深受消费者欢迎,这款“不止盒子”的亮点在哪呢,就在于消费形式的创新,率先推出“先试后买”的消费形式。

    用户1745481
  • Android 功耗(10)---电流波形图(power monitor)

    https://www.msoon.com/LabEquipment/PowerMonitor/

    233333

扫码关注云+社区

领取腾讯云代金券