标签:
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是无效的。
标签:
原文地址:http://www.cnblogs.com/yuanhui69/p/4634937.html