前四章免费阅读,内容会持续定期更新,紧随Jfinal的发展,希望大家看看做出评价,谢谢!
-----------------------------------------------------------------------
百度阅读地址 :http://yuedu.baidu.com/ebook/3fc54b55d5bbfd0a7956739f
定价55.55元,百度阅读抽取30%,剩余再纳税20%,其余为作者所得,谢谢大家支持!
暂时没有出纸质版本是因为费用实在太高(3-5W),个人无法承受,望大家体谅。
-----------------------------------------------------------------------
学习交流QQ群 :309647612
书籍整个创作周期从2015年8月1日开始到2015年9月10日,时间仓促,难免有瑕疵,
希望大家能够指出存在的问题,我会不断的更新纠正,谢谢大家!
-----------------------------------------------------------------------
目录
Jfinal极速开发实战... 2
为什么要写这本书... 3
读者对象... 3
能学到什么... 4
如何阅读这本书... 4
勘误和支持... 4
致谢... 4
1 初识Jfinal 18
1.1 Jfinal的简介... 18
1.2 Jfinal的特点... 18
1.3 Jfinal下载... 18
2 搭建开发环境... 19
2.1 开发环境要求... 19
2.2 下载安装配置JDK. 20
2.2.1 下载地址... 20
2.2.2 选择平台类型... 20
2.2.3 安装JDK. 21
2.2.4 配置环境变量... 21
2.2.5 JVM参数... 22
2.2.6 Java VisualVM... 23
2.3 下载安装配置Eclipse. 26
2.3.1 打开主页... 26
2.3.2 选择平台类型... 27
2.3.3 点击下载... 27
2.3.4 安装eclipse. 28
2.3.5 启动eclipse. 28
2.3.6 添加JDK到eclipse. 28
2.3.7 设置JDK编译级别... 30
2.3.8 设置文件编码... 30
2.4 下载安装配置Maven. 32
2.4.1 下载maven. 32
2.4.2 配置maven. 32
2.4.3 eclipse整合maven. 35
2.5 下载安装配置TomcatPlugin. 37
2.5.1 打开主页... 37
2.5.2 下载tomcatPlugin. 37
2.5.3 安装tomcatPlugin. 37
2.5.4 下载tomcat. 38
2.5.5 安装配置tomcat. 39
2.5.6 整合tomcatPlugin和tomcat. 39
2.5.7 设置tomcat的JVM... 40
2.6 嵌入式Tomcat. 41
2.6.1 打开主页... 41
2.6.2 配置项目... 42
2.6.3 编写启动类... 43
2.6.4 启动测试... 45
2.7 热部署神器之Jrebel 45
2.7.1 打开主页... 46
2.7.2 下载eclipse插件包... 46
2.7.3 Eclipse中安装update-site-6.2.1.zip. 47
2.7.4 破解jrebel 49
2.7.5 设置jvm的jrebel代理... 52
2.8 热部署神器之springloaded. 52
2.8.1 打开主页... 52
2.8.2 下载springloaded-xxx.jar包... 52
2.8.3 安装配置... 53
2.8.4 启用jvm的springloaded代理... 53
3 导入示例项目... 54
3.1 eclipse导入Jfinal demo项目... 54
3.1.1 解压Jfinal_demo.zip. 54
3.1.2 导入项目... 54
3.2 eclipse导入Jfinal demo for maven项目... 57
3.2.1 解压Jfinal_demo_for_maven.zip. 57
3.2.2 Eclipse导入maven项目... 58
3.2.3 导入后的项目视图... 60
3.3 使用eclipse git下载JfinalUIB项目... 60
3.3.1 项目地址... 60
3.3.2 打开git视图... 61
3.3.3 使用git下载... 62
3.3.4 使用git更新... 65
4 运行项目方式... 66
4.1 Jetty运行Jfinal demo. 66
4.1.1 创建数据库... 66
4.1.2 配置数据库连接... 66
4.1.3 启动项目... 67
4.1.4 访问项目... 68
4.1.5 这是错误吗?... 68
4.1.6 移出jetty-server-8.1.8.jar. 69
4.2 TomcatEclipsePlugin运行Jfinal demo. 69
4.2.1 数据库配置... 70
4.2.2 修改tomcat/conf/server.xml 70
4.2.3 删除jetty-server-8.1.8.jar. 70
4.2.4 启动tomcat. 70
4.2.5 访问项目... 73
4.2.6 启用热部署... 73
4.3 Tomcat Embedded运行Jfinal demo. 74
4.3.1 数据库配置... 75
4.3.2 添加应用路径... 75
4.3.3 启动项目... 75
4.3.4 访问项目... 75
4.3.5 启用热部署... 75
4.4 Jetty运行Jfinal demo for maven. 77
4.4.1 数据库配置... 77
4.4.2 启动项目... 77
4.4.3 访问项目... 77
4.5 Mvn jetty:run运行Jfinal demo for maven. 77
4.5.1 数据库配置... 77
4.5.2 启动项目... 78
4.5.3 访问项目... 79
4.6 Eclipse自带server运行Jfinal demo for maven. 79
4.6.1 数据库配置... 79
4.6.2 重新解压一个tomcat. 79
4.6.3 查找Server视图... 79
4.6.4 配置Server. 81
4.6.5 修改项目路径... 84
4.6.6 自动发布和启动超时... 85
4.6.7 启动项目... 86
4.6.8 访问项目... 86
4.6.9 启用热部署... 86
4.7 配置运行JfinalUIB. 88
4.7.1 配置数据库... 88
4.7.2 修改数据库连接... 91
4.7.3 启动项目... 92
4.7.4 访问项目... 93
4.7.5 启用热部署... 94
4.8 使用idea开发JfinalUIB项目... 94
4.8.1 安装配置git. 94
4.8.2 使用git下载... 95
4.8.3 导入并启动项目... 96
4.9 创建并运行普通java web项目... 99
4.9.1 创建一个Dynamic Web Project. 99
4.9.2 修改编译路径... 102
4.9.3 加入Jfinal支持... 104
4.9.4 启动并测试... 107
4.10 创建并运行maven版java web项目... 109
4.10.1 创建一个Maven Project. 109
4.10.2 加入Jfinal支持... 112
4.10.3 启动并测试... 114
5 部署项目... 114
5.1 项目打包... 114
5.1.1 项目结构... 114
5.1.2 打包jfinal_demo. 115
5.1.3 打包JfinalUIB. 115
5.2 项目部署到tomcat. 115
5.2.1 安装tomcat. 115
5.2.2 修改默认端口... 116
5.2.3 部署项目... 116
5.2.4 设置tomcat内存大小... 117
5.2.5 启动tomcat. 117
5.3 项目部署到jetty. 117
5.3.1 安装jetty. 117
5.3.2 修改默认端口... 118
5.3.3 部署项目... 118
5.3.4 启动Jetty. 118
5.3.5 设置Jetty内存大小... 119
5.4 项目部署到resin. 119
5.4.1 安装resin. 119
5.4.2 修改默认端口... 120
5.4.3 部署项目... 120
5.4.4 设置resin内存大小... 120
5.4.5 启动resin. 121
5.5 整合nginx. 122
5.5.1 下载nginx. 122
5.5.2 安装nginx. 123
5.5.3 启动nginx. 123
5.5.4 在hosts文件中配置域名... 124
5.5.5 整合servlet容器... 125
5.5.6 负载均衡... 128
6 Jfinal快速入门... 130
6.1 Jfinal总体架构图... 130
6.2 入口控制类JfinalConfig. 131
6.2.1 configConstant. 131
6.2.2 configRoute. 132
6.2.3 configPlugin. 135
6.2.4 configInterceptor. 135
6.2.5 configHandler. 137
6.2.6 afterJfinalStart. 137
6.2.7 beforeJfinalStop. 138
6.3 MVC控制器Controller. 139
6.3.1 Action. 139
6.3.2 Action中获取请求参数... 140
6.3.3 Action中请求参数实例化model 141
6.3.4 Action中获取上传文件... 142
6.3.5 Action中操作request的attribute. 143
6.3.6 Action中操作Session. 143
6.3.7 Action中的render. 144
6.4 数据校验Validator. 146
6.4.1 验证器示例... 146
6.4.2 验证器调用... 148
6.4.3 validate方法扩展... 149
6.5 数据库操作ActiveRecord. 150
6.5.1 什么是ActiveRecord. 150
6.5.2 ActiveRecordPlugin. 151
6.5.3 Model 153
6.5.4 Db + Record. 157
6.5.5 ICallback. 161
6.5.6 事务控制... 163
6.5.7 各种数据库支持... 165
6.5.8 多数据源... 166
6.6 缓存的配置使用... 167
6.6.1 整合使用Ehcache. 167
6.6.2 整合使用Redis. 171
6.7 国际化... 172
6.7.1 资源文件编辑器... 172
6.7.2 资源文件操作... 172
6.7.3 I18nInterceptor. 173
6.8 常用工具类... 174
6.8.1 PropKit. 174
6.8.2 FileKit. 175
6.8.3 HandlerKit. 176
6.8.4 HashKit. 176
6.8.5 HttpKit. 178
6.8.6 JsonKit. 178
6.8.7 PathKit. 179
6.8.8 Ret. 179
6.8.9 StrKit. 180
6.8.10 Sqls. 180
6.8.11 DbKit. 181
7 实战项目之项目设计... 183
7.1 数据处理流程... 183
7.1.1 数据处理流程图... 183
7.1.2 核心处理类说明... 184
7.2 项目结构... 186
7.2.1 platform源码包... 187
7.2.2 junit源码包... 188
7.2.3 WebContent文件夹... 188
7.3 功能模块... 189
7.3.1 用户管理... 189
7.3.2 分组管理... 190
7.3.3 角色管理... 190
7.3.4 岗位管理... 190
7.3.5 功能管理... 191
7.3.6 系统管理... 191
7.4 数据库... 191
7.4.1 安装ERMaster. 192
7.4.2 用户权限表... 192
7.4.3 其他表... 193
7.5 Base类... 194
7.5.1 BaseController. 194
7.5.2 BaseService. 197
7.5.3 BaseModel 201
7.6 前端和后端交互... 207
7.6.1 单页面应用... 208
7.6.2 页面交互流程... 209
7.6.3 交互架构的演变... 209
8 实战项目之扩展开发... 210
8.1 Controller、Model自动注册... 210
8.1.1 定义Controller注解... 210
8.1.2 应用Controller注解... 211
8.1.3 扫描Controller注解... 211
8.1.4 定义Model注解... 213
8.1.5 应用Model注解... 214
8.1.6 扫描Model注解... 214
8.2 Controller全局参数封装... 215
8.2.1 定义拦截器... 215
8.2.2 request取值到Controller变量... 216
8.2.3 Controller变量值返回request. 218
8.3 支持distinct分页... 219
8.3.1 普通分页存在的问题... 219
8.3.2 自定义分页方法... 222
8.3.3 调用分页方法... 224
8.4 高仿mybatis动态SQL管理... 224
8.4.1 .sql.xml文件定义... 225
8.4.2 加载.sql.xml文件... 226
8.4.3 获取静态sql 228
8.4.4 获取动态sql 229
8.4.5 获取动态预处理sql 230
8.5 格式化输出SQL和预处理参数输出... 232
8.5.1 开启Sql打印... 232
8.5.2 Sql格式化工具类... 233
8.5.3 Sql格式化输出... 233
8.5.4 Sql参数输出... 234
8.5.5 Sql和参数输出效果... 235
8.6 乐观锁控制... 236
8.6.1 什么是乐观锁... 236
8.6.2 乐观锁设计... 237
8.6.3 乐观锁实现... 237
8.6.4 乐观锁应用... 240
8.7 请求耗时计算... 241
8.7.1 总耗时... 241
8.7.2 Render耗时... 243
8.8 国际化... 243
8.8.1 国际化内容... 244
8.8.2 国际化资源文件编辑... 244
8.8.3 国际化资源文件加载... 244
8.8.4 国际化资源文件读取... 248
8.8.5 国际化的模板取值... 249
8.9 使用Junit做单元测试... 250
8.9.1 单元测试基础类TestBase. 250
8.9.2 测试示例... 253
8.10 简易代码生成器... 254
8.10.1 设计目标... 254
8.10.2 设计实现思路... 254
8.10.3 模板定义... 255
8.10.4 应用示例... 260
8.11 表单数组提交... 262
8.11.1 getModel方法... 262
8.11.2 getModel源码分析... 263
8.11.3 扩展实现... 264
8.11.4 增加到BaseController. 266
8.11.5 应用示例... 266
8.12 表单重复提交... 267
8.12.1 常见的处理手段... 267
8.12.2 JfinalUIB中做了哪些工作... 268
8.13 统一异常处理... 269
8.13.1 统一捕获异常... 269
8.13.2 异常提示... 270
8.14 Service层事务控制... 271
8.14.1 引入cglib做事务边界控制... 272
8.14.2 定义方法事务注解... 273
8.14.3 事务代理类... 274
8.14.4 应用示例... 276
9 实战项目之业务功能开发... 277
9.1 权限设计... 277
9.1.1 权限分配流程... 277
9.1.2 URL权限... 277
9.1.3 按钮权限... 280
9.2 登录验证... 281
9.2.1 密码存储... 282
9.2.2 登录验证... 283
9.2.3 加密登录cookie. 285
9.2.4 解密登录cookie. 287
9.3 分页详解... 289
9.3.1 页面查询参数... 290
9.3.2 查询参数封装... 291
9.3.3 分页数据处理... 293
9.3.4 页面数据展示... 297
9.4 通用表单验证器... 302
9.4.1 Rapido UI的校验提示... 302
9.4.2 扩展Input属性... 304
9.4.3 通用校验方法... 304
9.4.4 Input中的onblur验证... 307
9.4.5 Form整体验证... 307
9.4.6 用户信息校验... 308
9.5 开发一个新功能... 309
9.5.1 表设计... 310
9.5.2 文件生成... 313
9.5.3 配置Controller和Model 314
9.5.4 修改Action方法... 315
9.5.5 Service层单元测试... 317
9.5.6 页面开发... 317
9.5.7 录入功能URL. 322
9.5.8 菜单和按钮授权... 324
9.5.9 页面功能测试... 325