IDEA搭建JFinal项目(一)

近期可能要接触一个JFinal项目,因为从来没有开发和看过JFinal项目,所以在此记录一下,也希望大佬们可以帮忙指正!!!谢谢

今天先做一个搭一个简单的JFinal项目,然后慢慢填满这个Demo

首先技术可能涉及Idea + maven + JFinal + jetty-server+..........

先挂上JFinal的官方文档:https://jfinal.com/doc(不要问我JFinal的有点缺点,这里不普及,百度一下,Google一下)

<begin>

①新建一个项目

②创建maven项目,并选择maven骨架,注意骨架名称

③填写项目GroupId 和ArtifactId

④默认

至此项目骨架创建完成,然后开始使用pom导入jar包

<dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

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

    <dependency>
      <groupId>com.jfinal</groupId>
      <artifactId>jetty-server</artifactId>
      <version>8.1.8</version>
    </dependency>
  </dependencies>

⑦设置项目结构

创建自定义的JFinalConfig,自己配置文件一定要集成JFinalConfig

package com.dcjt518.demo.config;

import com.dcjt518.demo.controller.HelloController;
import com.jfinal.config.*;
import com.jfinal.template.Engine;

/**
 * @program: JFinalFreemarkerDemo
 * @description: JFinal配置中心
 * @author: LuNanTing
 * @create: 2020-07-24 15:35
 **/
public class DemoConfig extends JFinalConfig {

    @Override
    public void configConstant(Constants constants) {
        //开启开发模式
        constants.setDevMode(true);
    }

    @Override
    public void configRoute(Routes routes) {
        routes.add("/hello", HelloController.class);
    }

    @Override
    public void configEngine(Engine engine) {

    }

    @Override
    public void configPlugin(Plugins plugins) {

    }

    @Override
    public void configInterceptor(Interceptors interceptors) {

    }

    @Override
    public void configHandler(Handlers handlers) {

    }
}

因为只是最基础测试搭建,一些配置文件并未配置,需要配置可以通过上边的官方文档查看和配置,

接下来创建一个基础的视图管理Controller类(需要继承jfinal包中的Controller):

package com.dcjt518.demo.controller;

import com.jfinal.core.Controller;

/**
 * @program: JFinalFreemarkerDemo
 * @description:
 * @author: LuNanTing
 * @create: 2020-07-24 15:13
 **/
public class HelloController extends Controller {

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

这时候打开web.xml进行配置:

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <filter>
    <filter-name>jfinal</filter-name>
    <!-- 这里一定要引用JFinal的过滤器 -->
    <filter-class>com.jfinal.core.JFinalFilter</filter-class>
    <init-param>
      <!-- 要注意这里一定要配置为configClass,且注意大小写 -->
      <param-name>configClass</param-name>
      <!-- 引用了自定义的配置类 -->
      <param-value>com.dcjt518.demo.config.DemoConfig</param-value>
    </init-param>
  </filter>
  
  <filter-mapping>
    <filter-name>jfinal</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

最后设置一个启动类,类似于SpringBoot内置Tomcat那样,需要一个main方法:

package com.dcjt518.demo;

import com.jfinal.core.JFinal;

/**
 * @program: JFinalFreemarkerDemo
 * @description: 启动类
 * @author: LuNanTing
 * @create: 2020-07-24 15:40
 **/
public class StartMain {

    public static void main(String[] args) {
        JFinal.start("src/main/webapp",8081,"/");
    }
}

然后启动测试,基础项目没有问题,后续再看引用的其他东西。。。。。。。。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值