资源准备
jar包下载:http://www.jfinal.com/download/?file=jfinal-3.3-all.zip
下载完成后需要用到的jar包:
将 jfinal-3.3-bin.jar与jetty-server-8.1.8.jar拷贝至项目WEB-INFlib下即可。注意:jetty-server-8.1.8.jar是开发时使用的运行环境,生产环境不需要此文件。
集成环境下开发
作者这里使用的是eclipse
1、创建Dynamic Web Project
2、填入项目基本信息
注意上图中:Target runtime 一定要选择<None>
3、修改Default Output Folder,推荐输入WebRootWEB-INFclasses
特别注意:此处的 Default out folder必须要与 WebRootWEB-INFclasses 目录完全一致才可以使用 JFinal 集成的 Jetty 来启动项目。
4、修改Content directory,推荐输入WebRoot
注意:一定要将xml文件打上勾,方便之后使用
注意上图:此处也可以使用默认值WebContent, 但上一步中的WebRootWEB-INFclasses则需要改成WebContentWEB-INFclasses才能对应上。
5、放入JFinal库文件
将jar包拷贝至项目WEB-INFlib下,然后安装截图箭头操作即可
6、修改web.xml
将如下内容添加至web.xml(filter-name需与工程名一致)
<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>
追加至图中位置即可,图中标注的位置要改为您的工程名
7、添加java文件
在项目src目录下创建demo包,并在demo包下创建DemoConfig文件与HelloController类文件
DemoConfig类文件内容如下:
注意:DemoConfig.java文件所在的包以及自身文件名必须与web.xml中的param-value标签内的配置相一致(在本例中该配置为demo.DemoConfig)。
package demo; 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.template.Engine; /** * * @author: 房上的猫 * * @time: 下午3:25:55 * * @博客地址: https://www.cnblogs.com/lsy131479/ * * DemoConfig类 * */ public class DemoConfig extends JFinalConfig { @Override public void configConstant(Constants arg0) { // TODO Auto-generated method stub arg0.setDevMode(true); } @Override public void configEngine(Engine arg0) { // TODO Auto-generated method stub } @Override public void configHandler(Handlers arg0) { // TODO Auto-generated method stub } @Override public void configInterceptor(Interceptors arg0) { // TODO Auto-generated method stub } @Override public void configPlugin(Plugins arg0) { // TODO Auto-generated method stub } @Override public void configRoute(Routes arg0) { // TODO Auto-generated method stub arg0.add("/hello", HelloController.class); } }
HelloController类文件如下:
package demo; import com.jfinal.core.Controller; /** * * @author: 房上的猫 * * @time: 下午3:25:55 * * @博客地址: https://www.cnblogs.com/lsy131479/ * * HelloController类 * */ public class HelloController extends Controller { public void index() { renderText("Hello JFinal World."); } }
8、启动项目前的配置
选中DemoConfig类文件,右击进行如下操作:
在出现窗口中的Main class输入框中填入: com.jfinal.core.JFinal并点击Debug按钮启动项目,如下图所示:
因为jfinal默认端口为80> 此处如果出现端口号80冲突问题,如图所示:
需设置Arguments值,将会解决此问题:
WebRoot 8081 / 5
-XX:PermSize=64M -XX:MaxPermSize=256M
9.ok,最后点击Debug按钮启动项目。
然后浏览器访问输入http://localhost:8081/hello输出内容为 Hello JFinal World 证明项目框架搭建完成。