1、下载最新版本IntelliJ IDEA
地址:https://www.jetbrains.com/idea/download/#section=windows
我选择的是Ultimate版本
安装后可以用:http://idea.iteblog.com/key.php 做为license server激活
2、安装maven
下载最新版本的maven地址:http://maven.apache.org/download.cgi
下载 Maven 的 zip 文件,例如: apache-maven-3.5.2-bin.zip
,将它解压到你要安装 Maven 的文件夹。
假设你解压缩到文件夹 – D:\Java\Tool\apache-maven-3.5.2
解压并新建一个本地仓库文件夹 LocalWarehouse(做为本地仓库)
配置本地仓库路径
编辑内容:
把localRepository值改为刚刚创建的本地库文件夹绝对地址:
D:\Java\Tool\LocalWarehouse
设置环境变量
添加 M2_HOME 和 MAVEN_HOME 环境变量到 Windows 环境变量,并将其指向你的 Maven 文件夹。
M2_HOME :D:\Java\Tool\apache-maven-3.5.2
%M2_HOME%\bin
M2_HOME 或 MAVEN_HOME
Maven 说只是添加 M2_HOME , 但一些项目仍引用 Maven 的文件夹 MAVEN_HOME, 因此,为了安全也把它添加进去
验证是否成
mvn –version
Maven库地址:http://mvnrepository.com/
3、在IntelliJ IDEA中配置maven
打开-File-Settings4、创建demo项目
File->New->projectNext
Next
添加的配置为 archetypeCatalog=internalNext
创建完成5、配置tomcat
Next
Next
Next
Next
Next
Next
6、使用Jfinal框架
修改**.imi文件内容为(我的BomeiyiVideoServer.imi):
<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">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bomei</groupId>
<artifactId>BomeiyiVideoServer</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>BomeiyiVideoServer Maven Webapp</name>
<url>http://maven.apache.org</url>
<!-- 使用阿里 maven 库 -->
<repositories>
<repository>
<id>ali-maven</id>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jfinal</artifactId>
<version>3.3</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.44</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.29</version>
</dependency>
<dependency>
<groupId>com.jfinal</groupId>
<artifactId>cos</artifactId>
<version>2017.5</version>
</dependency>
</dependencies>
<build>
<finalName>BomeiyiVideoServer</finalName>
</build>
</project>
保存后会自动加载依赖
在main下创建文件夹java并设置为源码文件夹
Next
在java文件夹下添加packagecom.bomei.common
com.bomei.controller
新建src\main\java\com\bomei\controller\CameraController.java
内容如下
package com.bomei.controller;
import com.jfinal.core.Controller;
public class CameraController extends Controller {
public void photograph() {
renderJson("ok");
}
}
新建src\main\java\com\bomei\common\BaseConfig.java
内容如下
package com.bomei.common;
import com.bomei.controller.CameraController;
import com.jfinal.config.*;
import com.jfinal.template.Engine;
public class BaseConfig extends JFinalConfig {
/**
* 运行此 main 方法可以启动项目,此main方法可以放置在任意的Class类定义中,不一定要放于此
*
* 使用本方法启动过第一次以后,会在开发工具的 debug、run config 中自动生成
* 一条启动配置,可对该自动生成的配置再添加额外的配置项,例如 VM argument 可配置为:
* -XX:PermSize=64M -XX:MaxPermSize=256M
*/
// public static void main(String[] args) {
// /**
// * 特别注意:Eclipse 之下建议的启动方式
// */
// JFinal.start("src/main/webapp", 80, "/", 5);
//
// /**
// * 特别注意:IDEA 之下建议的启动方式,仅比 eclipse 之下少了最后一个参数
// */
// // JFinal.start("src/main/webapp", 80, "/");
// }
/**
* 配置常量
*/
public void configConstant(Constants me) {
// // 加载少量必要配置,随后可用PropKit.get(...)获取值
// PropKit.use("a_little_config.txt");
// me.setDevMode(PropKit.getBoolean("devMode", false));
me.setDevMode(true);
}
/**
* 配置路由
*/
public void configRoute(Routes me) {
me.add("/camera", CameraController.class, "/index"); // 第三个参数为该Controller的视图存放路径
//me.add("/blog", BlogController.class); // 第三个参数省略时默认与第一个参数值相同,在此即为 "/blog"
}
public void configEngine(Engine me) {
// me.addSharedFunction("/common/_layout.html");
// me.addSharedFunction("/common/_paginate.html");
}
/**
* 配置插件
*/
public void configPlugin(Plugins me) {
// 配置 druid 数据库连接池插件
// DruidPlugin druidPlugin = new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());
// me.add(druidPlugin);
//
// // 配置ActiveRecord插件
// ActiveRecordPlugin arp = new ActiveRecordPlugin(druidPlugin);
// // 所有映射在 MappingKit 中自动化搞定
// _MappingKit.mapping(arp);
//
// me.add(arp);
}
// public static DruidPlugin createDruidPlugin() {
// return new DruidPlugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());
// }
/**
* 配置全局拦截器
*/
public void configInterceptor(Interceptors me) {
}
/**
* 配置处理器
*/
public void configHandler(Handlers me) {
}
}
在main->resources下创建自由文件log4j.properties内容如下
# log4j.rootLogger=WARN, stdout, file
log4j.rootLogger=ERROR, stdout, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n
# Output to the File
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.file.File=./jfinal_demo_for_maven.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH:mm:ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n
修改src\main\webapp\WEB-INF\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.bomei.common.BaseConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
重新启动tomcat
访问:http://localhost:8083/camera/photograph
网友评论