JFinal学习笔记

[原]JFinal学习笔记(一) 在Tomcat下的JFinal环境配置

2014-12-23阅读180 评论0

最近打算做一个属于我自己的个人网站,本来打算使用微软的.NET来进行开发的,但是听朋友说有一个基于java的开源框架JFinal和.NET的开发模式很像,同时兼备了.NET快速开发和java安全性两方面的优点。出于好奇本人打算学习一下JFinal框架,看看是不是真的这么神。

同时这次我将对我学习的每个重要的步骤或者遇到的问题都在博客中详细的记录,主要是为自己做个学习笔记,防止以后一段时间不用后会遗忘。话说我以前怎么就没有写博客的习惯,之前经常发生一些开发技术一段时间不用后就不会用的乌龙,怨念啊。当然如果我的笔记能够帮到其他人那是再好不过了。

下面进入主题。我在学习JFinal框架的时候遇到的第一个问题就是环境的配置。JFinal给出的帮助文档中是使用jetty进行程序调试的。但是这个jetty我从来没用过,我担心在下面的开发中会有不必要的麻烦,所以我决定在Tomcat下对JFinal项目进行调试,其实配置过程并不复杂,与帮助文档中的配置方法大致相同。

进行环境配置前首先要确定安装了eclipse和tomcat(好像是废话,这当然要有),版本尽量高一点,因为JFinal是2011年出的框架,版本过低不知道会不会有问题。我用的是eclipse juno和tomcat 7.0。

装了eclipse和tomcat中首先要在eclipse中绑定tomcat,话说我每次都忘记怎么绑定,所以在这里多嘴说一下tomcat的绑定方法。

首先在eclipse中点击菜单栏中的Window-->Preferences,在弹出的对话框中的左边栏里选择Sever-->Runtime Environment。

第一次配置tomcat的吗右边的应该没有任何选项,我因为现在已经配好了所以有一个tomcat 7.0的运行环境。第一次配置直接点击Add按钮。

在弹出的对话框中选择你现在安装的tomcat的版本,我的是7.0所以选的的7.0版本,点击Next按钮。

在安装路径中输入tomcat的安装路径,一般默认的路径是C:\Program Files\Apache Software Foundation\Tomcat 7.0,点击Finish就完成了tomcat的绑定。

下面进行工程的创建,首先在eclipse中创建一个dynamic web project。

点击Next后填入项目的基本信息。

注意这里的Target runtime和JFinal帮助文档中的不一样,一定要选择当前你绑定的tomcat。

下面两步与JFinal帮助文档中的步骤一样,点击Next按钮,将default output folder改为Webroot\WEB-INF\classes。

点击Next,修改Content directory为Webroot。

点击finish完成工程的创建。

在JFinal官网上下载jfinal-1.9-all.zip文件并解压,将解压文件夹中的jfinal-1.9-bin.jar文件复制到项目中Webroot\WEB-INF\lib文件夹中。

在项目的src目录下创建一个包名为common,在该包下创建一个类名为DemoConfig的类,该类是整个项目的配置文件。在DemoConfig中写入以下代码。

package common;

import com.jfinal.config.*;

public class DemoConfig extends JFinalConfig {
	public void configConstant(Constants me) {
		me.setDevMode(true);
	}

	public void configRoute(Routes me) {

	}

	public void configPlugin(Plugins me) {
	}

	public void configInterceptor(Interceptors me) {
	}

	public void configHandler(Handlers me) {
	}
}

再在common包中创建IndexController类,并在该类中填入以下代码:

package common;

import com.jfinal.core.Controller;

public class IndexController extends Controller {
	public void index() {
		renderText("Hello JFinal World.");
	}
}

接下来回到DemoConfig类中,在configRoute方法中添加以下代码:

me.add("/", IndexController.class);

这段代码的作用是指定网站的主页路径。

最后修改WEB-INF文件夹下的web.xml,写入以下代码:

<?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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<filter>
		<filter-name>jfinal</filter-name>
		<filter-class>com.jfinal.core.JFinalFilter</filter-class>
		<init-param>
			<param-name>configClass</param-name>
			<param-value>common.DemoConfig</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>jfinal</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
</web-app>

这里要注意的是<param-value>中的路径一定要与项目配置文件的路径一致,这里的项目配置文件是common包中DemoConfig类,所以路径是common.DemoConfig。

到这里项目就配置完毕了,下面右键项目选择Run As-->Run On Severs就可以了,运行结果如下图。


下面说一说我在第一次配置中碰到的问题,第一个就是控制台包java.net.BindException: Address already in use: JVM_Bind错误,页面显示404错误。产生这个问题的原因是8080端口被占用了,eclipse当然就无法在8080端口上创建服务了。一般导致这个问题的原因是系统中有tomcat在运行了,可以在任务管理器中查看以下是不是有tomcat的进程在运行,有的话就关掉。
还有一个问题就是刚开始的时候我按照JFinal帮助文档进行tomcat配置的时候在地址栏中输入localhost:8080,总是显示404错误。后来明白了帮助文档中项目的运行中将项目的根目录绑定在了localhost:8080地址上,而tomcat运行项目时是将项目根目录绑定在了"localhost:8080/项目名"上,所以输入localhost:8080是无效的。

时间: 2024-08-19 14:02:19

JFinal学习笔记的相关文章

【原】jFinal学习笔记(01)Hello World

jFinal是一个非常优秀的轻量级框架,理论上看看框架文档就可以上手了.不过对于我这样Java基本不懂的来说,还是需要一点一点摸索使用.这个系列的学习笔记可能是史上最简单.最傻瓜的jFinal学习笔记了^_^. 1.开发工具准备: ① JDK 1.7.0_65:如果安装后不知道如何配置,可以查看Java分类下的JDK设置文章 ② Myeclipse 8.5:因为Java IDE都不熟悉,所以选择了这个听说集成诸多功能的利器 ③ jFinal框架文件:jetty-server-8.1.8.jar.

JFinal学习笔记(一) 在Tomcat下的JFinal环境配置

最近打算做一个属于我自己的个人网站,本来打算使用微软的.NET来进行开发的,但是听朋友说有一个基于java的开源框架JFinal和.NET的开发模式很像,同时兼备了.NET快速开发和java安全性两方面的优点.出于好奇本人打算学习一下JFinal框架,看看是不是真的这么神. 同时这次我将对我学习的每个重要的步骤或者遇到的问题都在博客中详细的记录,主要是为自己做个学习笔记,防止以后一段时间不用后会遗忘.话说我以前怎么就没有写博客的习惯,之前经常发生一些开发技术一段时间不用后就不会用的乌龙,怨念啊.

JFinal 学习笔记

HandlerFactory HandlerFactory是不可实例化的,因为 它的构造 函数 特意定位 私有 的:它有一个 静态的方法叫做 getHandler,它有两个参数 ,一个是Handler的List类型,另一个是一个单一的handler,代码如下 : public static Handler getHandler(List<Handler> handlerList, Handler actionHandler) { Handler result = actionHandler;

[学习笔记]--Jfinal 表单提交附件

最近,项目里面用到了Jfinal 里面的上传附件.Jfinal 的Controller 里面提供了一个 getFile系列方法提供文件上传. 我这里呢,是文件上传和表单参数一起提交.页面类似下图: 这里form表单里面使用了 enctype="multipart/form-data" .先看看Jfinal手册的说明吧!大家看了就知道了 然后还有个问题 如果是表单提交 还不可以用ajax 提交,具体的原因呢也找到了 http://www.oschina.net/question/9410

vector 学习笔记

vector 使用练习: /**************************************** * File Name: vector.cpp * Author: sky0917 * Created Time: 2014年04月27日 11:07:33 ****************************************/ #include <iostream> #include <vector> using namespace std; int main

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则

Caliburn.Micro学习笔记(一)----引导类和命名匹配规则 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle ICondu

jQuery学习笔记(一):入门

jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操作如下: 1 document.getElementById('info').value = 'Hello World!'; 使用JQuery时获取DOM文本操作如下: 1 $('#info').val('Hello World!'); 嗯,可以看出,使用JQuery的优势之一是可以使代码更加简练,使开

[原创]java WEB学习笔记93:Hibernate学习之路---Hibernate 缓存介绍,缓存级别,使用二级缓存的情况,二级缓存的架构集合缓存,二级缓存的并发策略,实现步骤,集合缓存,查询缓存,时间戳缓存

本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱好者,互联网技术发烧友 微博:伊直都在0221 QQ:951226918 -----------------------------------------------------------------------------------------------------------------

Activiti 学习笔记记录(三)

上一篇:Activiti 学习笔记记录(二) 导读:上一篇学习了bpmn 画图的常用图形标记.那如何用它们组成一个可用文件呢? 我们知道 bpmn 其实是一个xml 文件