初次接触JFinal框架,接触过MVC思想,接触过Spring. 
JFinal官网: 
http://www.jfinal.com/ 
之前很嫌弃JavaWeb开发,主要原因是繁琐的xml配置. 
官方推荐工具是Eclipse For J2EE.


按照官方文档搭建起快速上手demo 
- 建立javaweb工程 
- 放入jar包 
- 修改web.xml 
- 写java文件


新建package

  cn.pangpython.config

  cn.pangpython.controller

在controller包内新建IndexController继承Controller

package cn.pangpython.controller;import com.jfinal.core.Controller;/*** @author pangPython* 主页控制器*/
public class IndexController extends Controller {public void index(){renderText("index");}
}

index方法是处理默认路径 
如果IndexController绑定

/

这个url,则index方法作为此url下的默认方法 
再,如果AdminController绑定

/admin

这个Url,则本地访问

http://localhost/admin

直接由index方法来处理.

这里使用renderText(String) 
是直接把传入的字符串打印到页面上 
还可以渲染html页面,JFinal默认使用FreeMarker模板引擎解析前端


在config包内新建配置文件 
MyJFinalConfig继承JFinalConfig

package cn.pangpython.config;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 cn.pangpython.controller.IndexController;/*** @author pangPython*  JFinal 项目配置文件*/
public class MyJFinalConfig extends JFinalConfig {@Overridepublic void configConstant(Constants me) {//开启开发模式me.setDevMode(true);//这里可以通过配置文件来读取配置参数,更灵活
    }@Overridepublic void configRoute(Routes me) {//这里是根目录Url由IndexController控制器来响应这个请求me.add("/",IndexController.class);}@Overridepublic void configHandler(Handlers arg0) {// 这里可以配置全局处理器 防止直接访问模板文件暴露数据库表和字段
    }@Overridepublic void configInterceptor(Interceptors arg0) {// 这里可以配置拦截器进项权限管理
    }@Overridepublic void configPlugin(Plugins arg0) {// 这里可以配置JFinal的各种插件,比如数据库插件等
    }//使用JFinal内置的jetty启动项目,直接作为java application运行此文件public static void main(String[] args) {JFinal.start("WebRoot", 80, "/", 5);}}

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" 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"><display-name>JFinalTest</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><filter><filter-name>jfinal</filter-name><filter-class>com.jfinal.core.JFinalFilter</filter-class><init-param><param-name>configClass</param-name><param-value>cn.pangpython.config.MyJFinalConfig</param-value></init-param></filter><filter-mapping><filter-name>jfinal</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>

作为java application运行MyJFinalConfig文件 
浏览器访问

http://localhost/

eclipse 控制台日志输出

到这里JFinal的基本就跑起来了。

参考原文:http://blog.csdn.net/u012995856.

转载于:https://www.cnblogs.com/wyhluckdog/p/10293064.html

JFinal Web开发学习(一)开启HelloWorld相关推荐

  1. 【Java Web开发学习】Spring4条件化的bean

    [Java Web开发学习]Spring4条件化的bean 转载:https://www.cnblogs.com/yangchongxing/p/9071960.html Spring4引入了@Con ...

  2. web开发 学习_是否想学习Web开发但不知道从哪里开始?

    web开发 学习 by Rick West 由里克·韦斯特(Rick West) 是否想学习Web开发但不知道从哪里开始? (Want to learn web development but don ...

  3. java springmvc https_【Java Web开发学习】Spring MVC 使用HTTP信息转换器

    [Java Web开发学习]Spring MVC 使用HTTP信息转换器 @ResponseBody和@RequestBody是启用消息转换的一种简洁和强大方式 消息转换(message conver ...

  4. c#arcgis engine开发_湖南web开发学习网站要多久

    湖南web开发学习网站要多久第13章命令模式(Command)1. 命令模式的关键命令模式的关键之处就是把请求封装成为对象,也就是命 令对象,并定义了统一的执行操作的接口,这个命令对象可以被存储.转发 ...

  5. 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor

    [Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...

  6. Web 开发学习笔记(1) --- 搭建你的第一个 Web Server

    简介 Flask 是一个轻量级的 Web 框架, 如果要学习 Web 开发, Flask 非常适合作为我们学习的起点. 通过接下来的这一些列的博客, 我们将学习如何利用 Flask 以及其他工具, 搭 ...

  7. Web开发学习困难问题 西安尚学堂

    你有学习者综合征吗? 好吧,这本不是什么值得说道的事儿,但我注意到最近出现了一种行为趋势,尤其是在技术和软件开发领域.我不知道它的确切名字,就暂且称之为「学习者综合征」吧.它描述的是一种行为特征:那些 ...

  8. Web开发学习3.11

    Web开发正式进入学习日程,经过一段时间对Web开发工具和基础设置的了解后,现在开始着手利用DW建立一个静态的个人博客网页. 一 网站整体布局分析设计 建立博客网页的第一步就是分析布局,规划好模块和区 ...

  9. Web开发学习路线图

    以下路线图主要展示了成为前端开发者.后端开发者或运维开发者的技术学习路线. 前端学习路线图 主要还是掌握好 HTML.CSS.JavaScript.框架太多不需要多去了解,学习一两个即可,可以多关注 ...

最新文章

  1. iOS 开发 高级:使用 宏定义macros (#,##,...,__VA_ARGS_)
  2. .NET FrameWork 4.0 新特性
  3. Android面试题目之五: 算法题--嵌套的信封
  4. vbs隐藏cmd命令窗口调用bat程序执行class
  5. Linux驱动(6)--关于uboot
  6. centos7安装telnet服务
  7. 上下班成最远的距离...
  8. java异常中Exception捕获不到的异常
  9. 2022 年面向初学者的 10 大免费 3D 建模软件
  10. 输入一串字符(不要超过80个,以回车结束输入),统计其中英文字母、空格或回车、数字字符和其他字符的个数。
  11. DAX:LOOKUPVALUE 函数
  12. win10与ubuntu20.04双系统启动引导问题
  13. 【最优化】黄金分割法与Fibonacci法
  14. 信息论——信道与信道容量
  15. 电脑为啥老是黑屏?只因为你不知道这9种方法
  16. 学校人力资源管理系统——需求分析(一)
  17. undefined reference to pow
  18. 基于AndroidVideoCache的预加载(附Demo)
  19. php tp5在线解压压缩文件
  20. 洛谷4965 薇尔莉特的打字机(Trie,DP)

热门文章

  1. java 集合排序方法_java集合排序方法sort的使用
  2. 筛选法建立初始堆_学术简报|基于库仑效率的退役锂离子动力电池储能梯次利用筛选...
  3. 【BZOJ4318】OSU!【期望DP】
  4. [leetcode]1293. 网格中的最短路径
  5. 数据库的四大事务特性
  6. 2018蓝桥杯B组:猴子分香蕉(C++/JAVA)
  7. opencv学习第6课官方练习实现 Create a Paint application with adjustable colors and brush radius using trackbars
  8. python爬虫爬取慕课网中的图片
  9. k8s优先级priority的使用
  10. 用Python3.6操作HBase之HBase-Thrift