在idea中使用JFinal框架创建简单的Java web项目

1、创建一个maven工程,点击Create New Project进入New Project界面,选择Maven ---> 勾选Create from archetype ---> 选择maven-archetype-webapp,点击Next,如图:

2、填写好GroupId和ArtifactId再点击Next,如图:

3、选择电脑上安装的maven(也可以使用默认的maven,使用自己的是因为配置过本地仓库路径和私人服务器),点击Next,如图:

4、直接Finish完成即可,如图:

5、maven工程创建成功,但是缺少 src/main/java 和 src/main/resources 和 src/test/java 和 src/test/resources,如图:

6、添加 src\main\java 和 src\main\resources 和 src\test\java,如图:

扫描二维码关注公众号,回复: 8591557 查看本文章

7、在pom.xml文件中添加 jetty server 与 jfinal 依赖【注意:scope 必须设置成为 compile,否则启动不了,在打包时要改回 provided,避免打进一些不需要的 jar 包】,如图:

<!-- jfinal依赖 -->
<dependency>
    <groupId>com.jfinal</groupId>
    <artifactId>jfinal</artifactId>
    <version>4.7</version>
</dependency>
<dependency>
    <groupId>com.jfinal</groupId>
    <artifactId>jetty-server</artifactId>
    <version>2019.3</version>
    <scope>compile</scope>
</dependency>
<!-- 下面的依赖仅在使用 JSP 时才需要 -->
<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-jsp</artifactId>
    <version>9.2.26.v20180806</version>
    <scope>compile</scope>
</dependency>

8、创建一个放置controller层的包,并在包里创建UserController,如图:

在UserController里面添加如下代码,如图:

package com.jfinal.controller;

import com.jfinal.core.Controller;

public class UserController extends Controller {

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

}

9、配置JFinal的启动类,创建一个名叫Start的java类,在类里面添加如下代码,如图:

package com.jfinal;

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.controller.UserController;
import com.jfinal.core.JFinal;
import com.jfinal.template.Engine;

public class Start extends JFinalConfig {

    /**
     * 注意:用于启动的 main 方法可以在任意 java 类中创建
     * 开发项目时,建议新建一个 App.java 或者 Start.java 这样的专用 启动入口类放置用于启动的 main 方法
     */

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

    public void configConstant(Constants me) {
        me.setDevMode(true);
    }

    public void configRoute(Routes me) {
        me.add("/hello", UserController.class);
    }

    public void configEngine(Engine me) {

    }

    public void configPlugin(Plugins me) {

    }

    public void configInterceptor(Interceptors me) {

    }

    public void configHandler(Handlers me) {

    }

}

如果出现这种情况,如图:

解决办法:在该类上右键选择Refactor ---> 选择Move Class ---> 把 .controller 删除掉再Refactor即可,如图:

10、修改web.xml文件内容,如图:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://java.sun.com/xml/ns/javaee"
         xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
         id="WebApp_ID" version="2.5">
  <display-name>jfinal offical website</display-name>

  <filter>
    <filter-name>jfinal</filter-name>
    <filter-class>com.jfinal.core.JFinalFilter</filter-class>
    <init-param>
      <param-name>configClass</param-name>
      <param-value>com.jfinal.Start</param-value>
    </init-param>
  </filter>

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

</web-app>

11、访问http://127.0.0.1/hello就可以了,如图:

GitHub上的源码:JFinal框架创建简单的Java web项目

发布了144 篇原创文章 · 获赞 25 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/AdminGuan/article/details/103215588