Idea環境下使用JFinal開發Web專案入門詳解(圖文版)
阿新 • • 發佈:2019-01-04
最近看到網上有人推薦使用JFinal(官網:http://www.jfinal.com/)開發WEB + ORM專案,自己於是到官網學習JFinal,官方文件提供了使用eclipse開發Jfinal專案的步驟,只是對Idea做了簡略說明,沒有詳細的介紹,對於智商低的小編來說,看完文件還是沒有搭建起來(人和人的差距怎麼這麼大呢),於是根據網上資料,小編自己寫一篇入門詳解,以便自己和他人學習。
1. 在Idea環境下新建project專案
1.1 新建project1.2 選擇建立Maven專案,並且不使用模板
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>jfinal-web-demo</groupId> <artifactId>jfinal-demo</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version> <!-- 指定將要引入的jar的版本號 --> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <jfinal.version>3.1</jfinal.version> <junit.version>4.12</junit.version> </properties> <!--集中宣告依賴--> <dependencyManagement> <dependencies> <!--jfinal依賴--> <dependency> <groupId>com.jfinal</groupId> <artifactId>jfinal</artifactId> <version>${jfinal.version}</version> </dependency> </dependencies> </dependencyManagement> </project>
2. 建立Module [jfinal-web-demo-provider]
2.1 新建Module 2.2 根據idea提供的webapp模板建立module 2.3 指定module的名稱為 jfinal-web-demo-provider 2.4 點選完成後需要等待一段時間,讓idea根據webapp模板建立專案,生成目錄如下: 2.5 建立java目錄,並將java目錄設定為source root2.6 編輯module [jfinal-web-demo-provider]的pom.xml檔案
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<parent>
<artifactId>jfinal-demo</artifactId>
<groupId>jfinal-web-demo</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>jfinal-web-demo-provider</artifactId>
<packaging>war</packaging>
<name>jfinal-web-demo-provider Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jfinal</artifactId>
</dependency>
</dependencies>
<build>
<finalName>jfinal-web-demo-provider</finalName>
<plugins>
<plugin>
<!--maven對應的tomcat外掛,啟動tomcat的時候使用-->
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<port>8081</port>
<path>/</path>
<uriEncoding>utf-8</uriEncoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
3.編寫程式碼
3.1 建立config類package com.demo.config;
import com.demo.controller.HelloController;
import com.jfinal.config.*;
import com.jfinal.template.Engine;
/**
* Created by zhangzh on 2017/6/19.
*/
public class DemoConfig extends JFinalConfig {
@Override
public void configConstant(Constants me) {
me.setDevMode(true);
}
@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) {
}
}
3.2 建立Controller類
package com.demo.controller;
import com.jfinal.core.Controller;
/**
* Created by zhangzh on 2017/6/19.
*/
public class HelloController extends Controller {
public void index(){
renderText("hello world!");
}
}
3.3 編輯web.xml檔案
<!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>
<display-name>Archetype Created Web Application</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.demo.config.DemoConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>