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
访问http://localhost:8083/
6、使用Jfinal框架
修改**.imi文件内容为(我的BomeiyiVideoServer.imi):
4.0.0
com.bomei
BomeiyiVideoServer
war
1.0-SNAPSHOT
BomeiyiVideoServer Maven Webapp
http://maven.apache.org
ali-maven
http://maven.aliyun.com/nexus/content/groups/public
true
true
always
fail
junit
junit
3.8.1
test
com.jfinal
jfinal
3.3
log4j
log4j
1.2.16
mysql
mysql-connector-java
5.1.44
com.alibaba
druid
1.0.29
com.jfinal
cos
2017.5
BomeiyiVideoServer
保存后会自动加载依赖
在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内容如下
Archetype Created Web Application
jfinal
com.jfinal.core.JFinalFilter
configClass
com.bomei.common.BaseConfig
jfinal
/*
重新启动tomcat
访问:http://localhost:8083/camera/photograph