JFinal 3.3 入门学习 -- Hello JFinal World.
资源准备
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-INF\lib下即可。注意:jetty-server-8.1.8.jar是开发时使用的运行环境,生产环境不需要此文件。
集成环境下开发
作者这里使用的是eclipse
1、创建Dynamic Web Project
2、填入项目基本信息
注意上图中:Target runtime 一定要选择<None>
3、修改Default Output Folder,推荐输入WebRoot\WEB-INF\classes
特别注意:此处的 Default out folder必须要与 WebRoot\WEB-INF\classes 目录完全一致才可以使用 JFinal 集成的 Jetty 来启动项目。
4、修改Content directory,推荐输入WebRoot
注意:一定要将xml文件打上勾,方便之后使用
注意上图:此处也可以使用默认值WebContent, 但上一步中的WebRoot\WEB-INF\classes则需要改成WebContent\WEB-INF\classes才能对应上。
5、放入JFinal库文件
将jar包拷贝至项目WEB-INF\lib下,然后安装截图箭头操作即可
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 证明项目框架搭建完成。
JFinal 3.3 入门学习 -- Hello JFinal World.的更多相关文章
- jFinal 2.2入门学习之一:搭建框架输出helloword
官方推荐用Eclipse IDE for Java EE Developers 做为开发环境 1.创建 Dynamic Web Project 2.修改 Default Output Folder,推 ...
- jFinal 2.2入门学习之二:使用sqlserver数据库学习搭建jfinal-demo框架(MySQL的话就不需要看这个了)
1.去官网下载最新的jfinal_Demo(我这是JFinal-2.2) 2.解压demo源码,eclipse导入项目 3.本地创建数据库,修改信息,(注意:如果sqlserver端口号冲突,需要配置 ...
- vue入门学习(基础篇)
vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...
- Hadoop入门学习笔记---part4
紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...
- Hadoop入门学习笔记---part3
2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...
- PyQt4入门学习笔记(三)
# PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...
- PyQt4入门学习笔记(一)
PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...
- Hadoop入门学习笔记---part2
在<Hadoop入门学习笔记---part1>中感觉自己虽然总结的比较详细,但是始终感觉有点凌乱.不够系统化,不够简洁.经过自己的推敲和总结,现在在此处概括性的总结一下,认为在准备搭建ha ...
- Retrofit 入门学习
Retrofit 入门学习官方RetrofitAPI 官方的一个例子 public interface GitHubService { @GET("users/{user}/repos&qu ...
随机推荐
- python 12306 车次数据获取
ssl._create_default_https_context = ssl._create_default_https_context train_data = '2018-10-20' head ...
- 在Emacs中画思维导图
是的,你没有看错.其实,不只画思维导图,画结构图.流程图等,都可以.那怎么办呢?就是借助 Graphviz . Graphviz 可以方便地表达概念之间的联系,因此用它画思维导图是可行的,再加上它是个 ...
- 介绍一个强大的画图类 CImage(转)
我们知道,Visual C++的CBitmap类和静态图片控件的功能是比较弱的,它只能显示出在资源中的图标.位图.光标以及图元文件的内容,而不像VB中的Image控件可以显示出绝大多数的外部图像文件( ...
- python内置模块之itertools
前言 itertools模块是python内置的迭代器模块,定义了可生成多种迭代器的函数,用来代替可迭代对象的遍历等操作,节约内存. 迭代器函数的类型 无限迭代器:包括count.cycle.repe ...
- win7 64位mysql安装及navicat 解压版
教程:http://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html Mysql修改设置root密码的命令及方法:http://jingy ...
- Scala中“=>”用法及含义
=> has several meanings in Scala, all related to its mathematical meaning as implication. 1. In a ...
- webpack3学习笔记
地址:https://segmentfault.com/a/1190000006843916 地址:https://www.chungold.com/my/course/32 地址:http://js ...
- java基础81 jsp的内置对象(网页知识)
1.什么是内置对象? 在jsp开发中,会频繁使用到一些对象,如:HttpSession,ServletContext,HttpServletRequest. 如果每次使用这些对象时,都要去创 ...
- 使用dos命令创建多模块Maven项目
好吧,咱们接着上一篇博客继续用另一种方式来创建Maven项目.不过在创建之前我们应该先熟悉一些相关dos命令. 创建web项目命令: mvn archetype:generate -DgroupId= ...
- java 局部内部类
可以在代码块里创建内部类,典型的方法是在一个方法体的里面创建,局部内部类不能有访问说明符,因为它不是外围类的一部分,但是可以访问当前代码块的常量,以及此外围类的所有成员,下面分别对局部内部类和匿名内部 ...