总结
配置JFinala
在maven项目里导入JFinal的jar包,修改web.xml
<filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-value>demo.DemoConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
添加 java 文件,在项目 src 目录下创建 demo 包,并在 demo 包下创建 DemoConfig 文件
package demo;
import com.jfinal.config.*;
public class DemoConfig extends JFinalConfig {
public void configConstant(Constants me) {
me.setDevMode(true);
}
public void configRoute(Routes me) {
me.add("/hello", HelloController.class);
}
public void configEngine(Engine me) {}
public void configPlugin(Plugins me) {}
public void configInterceptor(Interceptors me) {}
public void configHandler(Handlers me) {}
在 demo 包下创建 HelloController 类文件, 内容如下
package demo;
import com.jfinal.core.Controller;
public class HelloController extends Controller {
public void index() {
renderText("Hello JFinal World.");
}
}
然后运行JFinal
测试路由
在configRout方法里添加路由
public void configRoute(Routes me) {
me.add("/index",Index.class);
}
index类的配置
public class Index extends Controller{
public void index(){
render("index.html");
}
连接数据库
在configPlugin方法中配置数据库插件,我这里使用c3p0连接池
public void configPlugin(Plugins me) {
loadPropertyFile("sql.txt");
C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("jdbcUrl"),
getProperty("user"), getProperty("password"));
me.add(c3p0Plugin);
ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);
me.add(arp);
arp.addMapping("complain","comp_id", Complain.class);
}
数据库配置文件
jdbcUrl=jdbc:mysql://localhost/demo?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull
user=123
password=123
devMode=true
测试数据库连接,简单的CRUD操作
Complain complain = new Complain();
complain.setComp_id("2");
complain.setComp_company("A");
complain.setComp_name("Jack");
complain.setComp_mobile("123");
complain.save();
complain = complain.findById("2");
String comp_name = complain.getComp_name();
complain.setComp_name("jerry");
boolean update = complain.update();
System.out.println(update);
boolean deleteById = complain.deleteById("3");
访问WEB-INF时遇到的小问题
访问WEB-INF下面的页面需要配置setBaseViewPath才能访问
public void configRoute(Routes me) {
me.setBaseViewPath("WEB-INF/jsp");
me.add("/index",Index.class);
me.add("/user",UserController.class,"nsfw/user");
}
me.add(“/user”,UserController.class,”nsfw/user”);的最后一个参数是进入setBaseViewPath配置路径下面的子目录的,最终的路径就是:WEB-INF/jsp/nsfw/user/index.html