idea+maven快速创建jFinal框架的web项目

本文介绍如何使用Idea与Maven快速创建基于jFinal框架的Web项目,包括配置依赖、创建控制器及配置文件等内容。

idea+maven快速创建jFinal框架的web项目

1.首先用idea新增一个maven的web项目。

这里写图片描述

这里写图片描述

2.然后点击下一步设置项目的磁盘路径等,项目创建完成后,在pom文件新增以下两个依赖,注意jetty-server的scope类型,从JFinal文档示例拷贝过来的maven依赖里设置了scope类型,我当时没有注意,启动时报错,建议直接把scope去掉,或者更改一下scope类型。

 <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>

这里写图片描述

3.在main目录新建java目录,并将java目录标记为资源目录。

这里写图片描述

4.在java目录下新建一个com.peng.controller的目录(目录结构随意,后面配置web.xml时注意class的路径即可),在该目录下新建一个Controller类命名为 HellowordController,这个要继承JFinal的Controller。


/**
 * User: pengqiang
 * Date: 2018/3/8.
 */
public class HelloController extends Controller{

    /**
     * /hello 默认映射到此方法
     */
    public void index() {
        renderText("Hello JFinal World.");
    }

    /**
     * /hello/word 映射到此方法
     */
    public void word() {
        renderText("Hello JFinal World #################");
    }
}

这里写图片描述

5.然后新建一个Config类继承JFinalConfig,做些简单配置。

public class Config extends JFinalConfig{
    public void configConstant(Constants constants) {
        constants.setDevMode(true);
    }

    public void configRoute(Routes routes) {
        //  /hello 默认映射到HelloController的index方法
        routes.add("/hello", HelloController.class);
    }

    public void configEngine(Engine engine) {

    }

    public void configPlugin(Plugins plugins) {

    }

    public void configInterceptor(Interceptors interceptors) {

    }

    public void configHandler(Handlers handlers) {

    }
}

这里写图片描述

6.然后在web.xml里新增filter配置如下(注意:其中的configClass是上面项目新建的配置类Config):

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
  <filter>
    <filter-name>jfinal</filter-name>
    <filter-class>com.jfinal.core.JFinalFilter</filter-class>
    <init-param>
      <param-name>configClass</param-name>
      <param-value>com.peng.controller.Config</param-value>
    </init-param>
  </filter>

  <filter-mapping>
    <filter-name>jfinal</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

这里写图片描述

7.最后 新建一个main方法来启动(jetty部署 80端口 上下文:/)。

public class StartController {

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

这里写图片描述
8.启动结果如下:
这里写图片描述

9.最后在浏览器访问:
这里写图片描述

项目源码我已提交到github:https://github.com/peng-qiang/jfinaldemo

搭建 JFinal 框架在 IntelliJ IDEA 2023 中可以按照以下步骤进行,确保开发环境的快速配置和运行: ### 创建 Maven 项目 1. 打开 IntelliJ IDEA,选择 **File > New > Project**。 2. 在新建项目的向导中选择 **Maven**,并勾选 **Create from archetype**,然后选择 `maven-archetype-webapp`。 3. 填写 GroupId、ArtifactId 和 Version 等信息后点击下一步,完成项目创建。 ### 添加 JFinal 依赖 1. 打开项目的 `pom.xml` 文件,在 `<dependencies>` 节点内添加 JFinal 的依赖项: ```xml <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal</artifactId> <version>4.9.15</version> </dependency> ``` 这将引入最新的 JFinal 版本到项目中 [^2]。 ### 配置 Web 应用 1. 在 `src/main/webapp/WEB-INF` 目录下创建一个名为 `web.xml` 的文件,并配置 JFinal 的启动参数。例如: ```xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <listener> <description>JFinal web application listener</description> <listener-class>com.jfinal.core.JFinalFilter</listener-class> </listener> <filter> <filter-name>jfinal</filter-name> <filter-class>com.jfinal.core.JFinalFilter</filter-class> <init-param> <param-name>configClass</param-name> <param-value>com.yourpackage.config.YourJFinalConfig</param-value> </init-param> </filter> <filter-mapping> <filter-name>jfinal</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> ``` ### 创建 JFinal 配置类 1. 创建一个新的 Java 类来继承 `JFinalConfig` 并重写其方法以配置路由和其他设置。例如: ```java package com.yourpackage.config; import com.jfinal.config.*; import com.jfinal.template.Engine; public class YourJFinalConfig extends JFinalConfig { @Override public void configConstant(Constants me) { // 设置常量 } @Override public void configRoute(Routes me) { // 添加控制器映射 me.add("/hello", HelloController.class); } @Override public void configEngine(Engine me) { // 配置模板引擎 } @Override public void configPlugin(Plugins me) { // 添加插件 } @Override public void configInterceptor(Interceptors me) { // 添加拦截器 } @Override public void configHandler(Handlers me) { // 添加处理器 } } ``` ### 创建 Controller 1. 创建一个简单的控制器类来处理 HTTP 请求。例如: ```java package com.yourpackage.controller; import com.jfinal.core.Controller; public class HelloController extends Controller { public void index() { renderText("Hello JFinal!"); } } ``` ### 运行应用 1. 可以通过内置服务器如 Undertow 来运行应用。创建一个主类来启动服务: ```java package com.yourpackage; import com.jfinal.server.undertow.UndertowServer; import com.yourpackage.config.YourJFinalConfig; public class Run { public static void main(String[] args) { UndertowServer.create(YourJFinalConfig.class) .setPort(80) .setDevMode(true) .start(); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值