Jfinal 项目搭建步骤

  • 2021年10月29日
  • Java

创建动态web项目
配置web.xml
创建并继承final配置文件类
添加main方法
配置路由,和添加jsp页面
启动运行项目

<!-- 配置web.xml 实现jfinal对访问请求的过滤监听 -->
<?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" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <filter>
  	<filter-name>jfinal</filter-name>
  	<filter-class>com.jfinal.core.JFinalFilter</filter-class>
  	<init-param>
  		<param-name>configClass</param-name>
  		<param-value>com.longlonggo.common.MainConfig</param-value>
  	</init-param>
  </filter>
  
  <filter-mapping>
  	<filter-name>jfinal</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

// 继承jfinal的config类
package com.longlonggo.common;

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.core.JFinal;
import com.jfinal.render.ViewType;

public class MainConfig extends JFinalConfig {

	/**
	 * 配置常量,如数据库的配置文件,选用的视图
	 */
	@Override
	public void configConstant(Constants me) {
		me.setViewType(ViewType.JSP);
	}

	/**
	 * 配置路由,就是类似通过action类,找到真实的页面地址
	 */
	@Override
	public void configRoute(Routes me) {
		me.add("/", IndexController.class);
	}

	/**
	 * 配置插件
	 */
	@Override
	public void configPlugin(Plugins me) {
//		// 配置C3p0数据库连接池插件,注意需要两个jar,mchange-commons.jar,c3p.jar
//        C3p0Plugin C3p0Plugin = new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit
//                .get("username"), PropKit.get("password").trim());
//        me.add(C3p0Plugin);
//
//        // 配置ActiveRecord插件
//        ActiveRecordPlugin arp = new ActiveRecordPlugin(C3p0Plugin);
//        me.add(arp);
	}

	/**
	 * 配置拦截器
	 */
	@Override
	public void configInterceptor(Interceptors me) {
	}

	/**
	 * 配置处理器
	 */
	@Override
	public void configHandler(Handlers me) {
	}

	/**
	 * 自己定义的main方法,用于启动jfinal的容器
	 * 	WebRoot 项目的根目录
	 * 	80 端口号
	 * 	"/" 目录的路径选择根目录
	 * 	5 每隔5秒执行一次更新
	 * @param args
	 */
	public static void main(String[] args) {
	    JFinal.start("WebRoot", 80, "/", 5);
	}
}

<% /* index.jsp页面 */ %>
<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>卧槽…… I'm jfinal!</h1>
</body>
</html>

package com.longlonggo.common;

import com.jfinal.core.Controller;

public class IndexController extends Controller {
	/**
	 * 执行实际页面的跳转
	 */
	public void index(){
		render("index.jsp");
	}
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注