Day5
和学长聊完JavaWeb,我好像找对了学习节奏
下午整理验证码程序的bug时,实在卡得慌——明明Session存了验证码,可验证时总报null,索性抱着电脑去找了直系学长,没成想半小时聊天,比自己闷头查俩小时资料管用多了。
刚坐下就急着问“Session为什么获取不到”,学长没直接给答案,先翻了翻我上午整理的实验文档。看到浮点数精度问题那页,他突然指着BigDecimal的代码说:“你看,当初纠结‘为什么不用double’,和现在卡Session是一个道理——Java里很多问题不是‘记住用法’就行,得懂底层逻辑。” 他点开我的LoginServlet,果然是我把生成验证码和验证的Session搞混了,一个用了request.getSession(),一个漏了,可我之前只记着“存Session里”,压根没琢磨过Session的创建时机。
聊到JavaWeb学习路径,我忍不住问:“现在要不要直接学Spring?感觉Servlet太麻烦了。” 学长笑了,说他当初也急着跳框架,结果写增删改查时连请求参数怎么拿都搞不清。“你今天写的验证码就是个好起点,”他指着页面里的图片刷新功能,“从Servlet生成图片、用JS刷新、Session存数据,这一套下来,HTTP请求、会话管理的基础就摸透了,后面学SpringMVC才不会觉得‘悬浮’。” 他还说,我整理的枚举、变量作用域这些基础文档别丢,后面看框架源码时,全是这些“老熟人”。
临走前学长补了句:“Java学习不是‘学完语法→学Web→学框架’的直线,是‘基础→小实战→回头补基础→再搞大实战’的循环。你今天整理文档是补基础,写验证码是小实战,卡bug就是找漏洞,这节奏其实挺对的。”
回来改完Session的bug,看着浏览器里“验证码正确”的提示,突然不慌了。之前总怕自己进度慢,纠结要不要跳过Servlet直奔框架,现在才明白:那些啃过的枚举原理、踩过的浮点数坑、写过的原生Servlet代码,都是在给后面的路铺砖。
明天打算顺着学长的话,把验证码程序里的Servlet流程画成图,再回头看看文档里的“变量作用域”——说不定能挖出更多和Web开发相关的联系呢。