【原】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-1.8-bin.jar这两个jar包就够了

2、开发环境搭建:

① 创建web project,随便起个名字jfinal_helloworld

② 将前面准备好的两个jar包,复制到WebRoot下的WEB-INF下的lib中,复制进去后,就会看到Referenced Libraries下也出现了这两个jar包,这时开发环境就算搭建好了。这里使用jetty作为web容器。

3、编码开始:

① 设置web.xml

Java Web工程中的web.xml文件有些像asp.net中的web.config文件,一些设置的东西都在这里先规划好。

filter节点和filter-mapping节点都是加上去的,需要注意的是填写的param-value是规划的包名+配置类的名称,在后续创建时必须一致,不然找不到配置类了。url-pattern里写的/*自然是表示任何匹配。

② 创建包以及配置类,名称要和web.xml文件中规划的名称一致哦!所以包的名称叫demo,配置类的名称叫DemoConfig,创建时直接选择从JFinalConfig类继承。

创建好之后,我们能看见的类文件应该是这样的,这里我把方法的作用以注释的形式显示出来了,方法名称起的都非常清晰,一目了然

③ 编写常量值 和 路由内容

在configConstant方法里写上一句:me.setDevMode(true);//设置开发模式为true

在configRoute方法里写上一句:me.add("/hello", HelloController.class);

写路由内容的时候会提示错误,因为这个HelloController类还没创建呢,这没关系,等下创建就好了。话说路由的写法都差不多呗,这写法和asp.net mvc 或是 node.js都挺像的吧,意思也是相当清楚了,在url里有”路径/hello”的请求时,找HelloController这个控制器类去吧。

④ 编写控制器类

在demo包下新建一个类HelloController,注意从Controller类继承就好了

然后在这个控制类里写一个index方法

意思非常简单,通过renderText()这个渲染文本方法,输出”Hello jFinal  World!”

自此,代码部分就写完了,是不是很简单,就没写几句话。

4、运行开始:

如下图所示操作

点击后出现

点击”OK”后运行起来在myeclipse的控制台会出现

再打开浏览器,输入”localhost/hello”,出现下图

时间: 2024-12-17 19:01:39

【原】jFinal学习笔记(01)Hello World的相关文章

JFinal学习笔记

[原]JFinal学习笔记(一) 在Tomcat下的JFinal环境配置 2014-12-23阅读180 评论0 最近打算做一个属于我自己的个人网站,本来打算使用微软的.NET来进行开发的,但是听朋友说有一个基于java的开源框架JFinal和.NET的开发模式很像,同时兼备了.NET快速开发和java安全性两方面的优点.出于好奇本人打算学习一下JFinal框架,看看是不是真的这么神. 同时这次我将对我学习的每个重要的步骤或者遇到的问题都在博客中详细的记录,主要是为自己做个学习笔记,防止以后一段

【opengl 学习笔记01】HelloWorld示例

<<OpenGL Programming Guide>>这本书是看了忘,忘了又看,赶脚还是把笔记做一做心里比较踏实,哈哈. 我的主题是,好记性不如烂笔头. ================================================================ 1. 下载glut库 glut库地址为:www.opengl.org/resources/libraries/glut/glutdlls37beta.zip glut全称为:OpenGL Utilit

HTTP 学习笔记01

HTTP   hypertext transfer protocol (超文本传输协议) TCP/IP 协议集中的一个应用层协议 用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式 HTTP 1.0  会话方式 HTTP 1.1 方式 HTTP 请求消息结构 一个请求行,若干消息头,以及实体内容 其中的一些消息头和实体内容都是可选的,消息头和实体内容之间要用空行隔开. GET   方式下是没有实体内容的 POST .PUT.DELETE 方式下请求消息才可以包含实体内容 HT

SWIFT学习笔记01

1.Swift,用来判断option是不是nil,相当于OC的 if(option) if let name = option{ greeting = "if=====" }else{ greeting = "else===" } 2.运行switch中匹配到的子句之后,程序会退出switch语句,并不会继续向下运行,所以不需要在每个子句结尾写break. 3.//使用..创建的范围不包含上界,如果想包含的话需要使用...,集合上,就是[)与[]的关系 for i

C++ GUI Qt4学习笔记01

C++ GUI Qt4学习笔记01 qtc++signalmakefile文档平台 这一章介绍了如何把基本的C++只是与Qt所提供的功能组合起来创建一些简单的图形用户界面应用程序. 引入两个重要概念:一个是“信号和槽”,另一个是“布局”. 窗口部件(widget)是用户界面的一个可视化元素,相当于windows系统中的“控件”和“容器”.任意窗口部件都可以用作窗口. 1.1Hello Qt 正确安装Qt4开发环境,创建工程目录hello,源代码文件名为hello.cpp,进入hello目录 (1

HTML学习笔记01

HTML学习笔记 HTML学习笔记01 一.HTML的定义 1 HTML就是"HyperText Markup Language","超文本标记语言".2 HTML不是<color="red">编程语言,而是一种标记语言.3 标记语言是一套标记标签.4 HTML使用标记标签来描述网页. 二.HTML标签 1 HTML标签是由尖括号包围的关键词.2 HTML标签通常是成对出现的.3 标签对中的第一个标签是开始标签,第二个标签是结束标签.

MVC4 学习笔记01

1 . ASP.NET MVC 中 ActionResult 和 ViewResult 在使用上的区别是什么?要注意什么吗? ActionResult 是一个抽象(abstract)类,ViewResult 只是ActionResult 的一个实现(implementation).如果你确认你返回的是一个视图(view),你可以直接返回类型为ViewResult.ActionResult 有很多的派生类,如果你很确定你要返回的类型,你可以明确的返回该类型.如果你并不是很清楚,或者你根本不想去理解

python学习笔记(01):python和c语言 标识符命名规则比较

python标识符命名规则:标识符的第一个字符必须是字母表中的字母(大写或小写)或者一个下划线(‘ _ ’).标识符名称的其他部分可以由字母(大写或小写).下划线(‘ _ ’)或数字(0-9)组成.标识符名称是对大小写敏感的.例如,myname和myName不是一个标识符.注意前者中的小写n和后者中的大写N.有效 标识符名称的例子有i.__my_name.name_23和a1b2_c3.无效 标识符名称的例子有2things.this is spaced out和my-name. c语言标识符命

C++学习笔记——01

最近准备跳槽的事情,于是把C++翻出来看,顺便做了一些练习,主要是数据结构方面的,就贴在这里做个系列,权当督促自己了. 第一天,写了一个栈,调试了下没什么问题,内存泄露的问题也解决了. 1 #ifndef STACK_H 2 #define STACK_H 3 4 #include "stdlib.h" 5 #include "iostream" 6 7 class Stack 8 { 9 private: 10 typedef int NODE_DATA_TYPE