打算开发自己的后台管理系统, 然后搜索什么最容易上手, 得到一个结果, JFinal开发迭代比较快, 开源, 开发周期短等很多优点.
所以就选择了这个框架.
既然认定了这个框架, 就开始学习, 下面就开始记录自己的JFinal成长轨迹. 我的微信公众号: 史慧君, 欢迎和我交流.
1. 下载Jfinal各种jar包:
http://www.jfinal.com/project/1
2. 我用的mac开发, 首先安装Mac版本的Eclipse, 下载之后安装的时候, 记得安装J2EE版本.
下载地址: http://www.eclipse.org/downloads/eclipse-packages/
3. 新建JFinal Demo项目
注意:Target runtime 一定要选择<None>
修改 Default Output Folder,推荐输入 WebRoot\WEB-INF\classes
修改 Content directory,推荐输入 WebRoot
[注意]:此处也可以使用默认值 WebContent, 但上一步中的 WebRoot\WEB-INF\classes 则需要 改成 WebContent\WEB-INF\classes 才能对应上。
4. 添加JFinal相应的jar包文件,
将 jfinal-xxx.jar 与jetty-server-8.1.8.jar 拷贝至项目 WEB-INF\lib 下即可。
注意:jetty-server-8.1.8.jar是开发时使用的运行环境,生产环境不需要此文件。
5. 在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>
6. 在项目 src 目录下创建 demo 包,并在 demo 包下创建 DemoConfig 文件, 内容如下
public class DemoConfig extends JFinalConfig{
@Override
public void configConstant(Constants me) {
// TODO Auto-generated method stub
me.setDevMode(true);
me.setViewType(ViewType.JSP);
}
@Override
public void configRoute(Routes me) {
// TODO Auto-generated method stub
// me.add("/hello/method", HelloController.class);
// me.add("/", HelloController.class);
me.add(new FrontRoutes());
}
@Override
public void configEngine(Engine me) {
// TODO Auto-generated method stub
}
@Override
public void configPlugin(Plugins me) {
// TODO Auto-generated method stub
// loadPropertyFile("your_app_config.txt");
// C3p0Plugin c3p0Plugin = new C3p0Plugin(getProperty("jdbcUrl"), getProperty("user"), getProperty("password"));
// me.add(c3p0Plugin);
// ActiveRecordPlugin arp = new ActiveRecordPlugin(c3p0Plugin);me.add(arp);
// arp.addMapping("user",User.class);
}
@Override
public void configInterceptor(Interceptors me) {
// TODO Auto-generated method stub
}
@Override
public void configHandler(Handlers me) {
// TODO Auto-generated method stub
}}
注意:DemoConfig.java 文件所在的包以及自身文件名必须与 web.xml 中的 param-value 标 签内的配置相一致(在本例中该配置为 demo.DemoConfig)。
7. 在 demo 包下创建 HelloController 类文件, 内容如下:
public class HelloController extends Controller {
public void index() {
// renderText("Hello JFinal World!");
User user = new User();
user.userName = "junzaivip";
user.passWord = "123456";
renderJson("Hello", user.userName);
renderText("公众号:史慧君");
}
public void method() {
renderText("This is get Key!");
}
public static void main(String[] args) {
JFinal.start("WebRoot", 12555, "/", 5);// 自己设置端口
}
}
注意: JFinal.start("WebRoot", 12555, "/", 5)是自己修改的端口, 因为官方默认的是80端口, 所以必须修改一下, 才能使用, 避免端口冲突.
8. 启动项目:
在右侧窗口中的 Main class 输入框中填入: com.jfinal.core.JFinal , 点击Apply应用项目, 然后点击 Debug 按钮启动项目即可.
且在arguments添加下面的代码:(目的是为了避免端口冲突)
-XX:PermSize=64M -XX:MaxPermSize=256M
WebRoot 12555 / 5
8. 然后在浏览器就可以看到效果啦.