Java QuickStart (3) - Web 开发

入了Java的坑,看完了基础和语法之后,我进入了好长时间的迷茫期:

  • Java JDK 只有个API手册,不知道怎么查找想用的东西,并且API手册缺少实例,充其量只是个类、接口、方法介绍
  • 怀念PHP的手册,再也不能使用 PHP 那些神奇的函数了,md5(), strtotime(), json_encode()
  • 想实现一点东西,发现轮子实在是太多,比如光json就有一大堆的库,gson,fastjson,jackson...
  • 我找到了 awesome java 项目,上面介绍了一堆,但不知道从何开始下手
  • 最大的问题:没有老司机带路

迷茫之后我决定先从 Web 开发这块开始下手,于是我:

  • 折腾了IDE,从 Eclipse 到 IDEA,最终觉得 IDEA 靠谱
  • 看了看 JSP 和 Servlet,难道Java Web 是这么玩的?
  • 找个框架看看吧,我瞄准了 Play Framework,热加载很牛逼,捣鼓了一阵还是放弃了
  • Structs 和 Hibernate 了解了一下,放弃
  • 接着 Spring -> Spring MVC,感觉稍微有点靠谱了,不过实操起来还是感觉有点吐血,配置太繁琐了
  • 直到,我看到了 Spring Boot 这个玩意。眼前一亮,开始入坑

开始之前

找点 Java 编码规范和常用的类库、工具、框架看看(参见QuickStart 2):

Google 规范

https://google.github.io/styleguide/javaguide.html

这里有中文版:

http://www.hawstein.com/posts/google-java-style.html

阿里巴巴 Java 开发手册

https://yq.aliyun.com/articles/69327

SpringBoot快速入门

http://git.oschina.net/didispace/SpringBoot-Learning

准备工作

看看 JSP 和 Servlet 这两个古董级东西,了解下大概原理

看看 Spring 和 Spring MVC,了解下大概原理

然后根据经验,我们看看要进行 Java Web 开发,大概需要掌握哪些东西:

  • Java 基础,选择 JDK 8,再配合一些常用的工具
  • 框架或 MVC 框架,选择 SpringBoot(集成了Spring、Restful、单元测试、日志、验证、JSON、容器)
  • 模板引擎,选择 Thymeleaf?
  • 数据库,选择 MySQL 以及一个ORM 框架 MyBatis
  • 缓存,选择 Redis

上面都是比较大的东西,再来细分下:

  • HTTP 相关操作,获取header,输出header,获取Session、Cookie
  • HTTP 方法参数相关操作,GET、POST、PUT、DELETE,获取路径参数,GET参数,POST参数,文件上传
  • 数据库 CURD 操作,缓存操作
  • 配置管理
  • 验证码
  • 字符串处理,日期,JSON,加密处理

操练完上面的东西,应该能搞搞一般的开发了,为了检验学习成果,按照惯例,我准备弄一个万能练手项目:留言板

留言板

表结构

会员表(用户名,密码)
会员登陆日志表
留言表(标题,内容)
管理员表(用户名,密码)

前台需求

页面(多页面):
首页(留言+留言列表+分页),会员登陆,注册页面

功能:
会员注册、登陆、登出
留言列表分页查看
留言发布

后台需求

页面(单页面Vue.js + API):

功能:
登陆,登出,验证码
会员管理,增删改查,会员登陆日志
留言管理,增删改查,留言回复