我花了3天配置Java Web环境,终于明白为什么程序员总在“调Bug”
前言
以前总觉得:
程序员天天敲代码,
看起来特别厉害。
后来真正开始学 Java Web 后,
我发现:
程序员的大部分时间根本不是在写代码。
而是在:
配置环境
修Bug
查报错
重启Tomcat
尤其是第一次搭 Java Web 环境的时候,
我真的被折磨到怀疑人生。
一、事情是怎么开始的?
当时老师让我们做一个 Java Web 项目。
我心想:
“不就是配置一下环境吗?”
结果刚开始第一步:
安装 JDK。
我就卡住了。
二、第一个Bug:JAVA_HOME 配置失败
安装完 JDK 后,
命令行输入:
java -version
结果:
不是内部或外部命令
当时我直接懵了。
后来才知道:
JAVA_HOME 根本没配置。
于是开始:
-
配环境变量
-
配 Path
-
重启命令行
-
查教程
折腾了两个小时。
最后终于成功。
那一刻真的特别激动。
三、Tomcat 才是真正的开始
我本来以为:
JDK 配好就结束了。
结果:
Tomcat 才是真正的噩梦。
1. startup.bat 一闪而过
第一次启动:
startup.bat
窗口直接闪退。
我当时以为:
Tomcat坏了
后来才发现:
其实是 Java 版本问题。
2. 端口冲突
后来终于能启动了。
结果浏览器打开:
localhost:8080
直接打不开。
最后发现:
8080 端口被占用了。
于是又开始:
-
改 server.xml
-
查端口
-
杀进程
那时候第一次理解:
为什么程序员总在“查问题”。
四、最崩溃的是乱码问题
我以为:
项目能运行就结束了。
结果:
中文全是乱码。
数据库乱码。
网页乱码。
控制台乱码。
甚至:
你好
都能变成:
???
后来才知道:
编码还有:
UTF-8
GBK
ISO-8859-1
不同编码。
那时候真的感觉:
编程像在修仙。
五、数据库连接失败让我彻底破防
后来开始连接 MySQL。
写好 JDBC 后,
运行:
直接报错。
Communications link failure
我当时完全看不懂。
后来查了很久才发现:
原来:
-
MySQL没启动
-
用户名密码错误
-
驱动版本不兼容
都可能导致连接失败。
也是从那时候开始,
我第一次真正学会:
看报错信息。
六、我终于理解为什么程序员喜欢复制报错
以前我一直不理解:
为什么程序员总:
复制报错
搜Google
搜CSDN
后来自己做项目后才发现:
因为:
大部分Bug别人都踩过。
真正重要的是:
-
会不会搜索
-
会不会定位问题
-
能不能看懂日志
七、真正做项目后,我对编程的理解彻底变了
以前我觉得:
编程就是:
System.out.println("Hello World");
后来发现:
真正的软件开发涉及:
-
环境配置
-
数据库
-
服务器
-
前后端交互
-
权限管理
-
项目部署
而代码,
只是其中一部分。
八、为什么很多新手坚持不下去?
因为刚开始学习时:
会不断遇到:
404
500
NullPointerException
端口冲突
JDK冲突
Tomcat闪退
这些问题。
而且:
很多时候改了半天,
项目还是运行不了。
这其实是新手最容易放弃的阶段。
九、但也是这一阶段成长最快
虽然那段时间特别痛苦。
但现在回头看,
我真正成长最快的时候,
恰恰就是:
-
查Bug的时候
-
改配置的时候
-
项目崩掉的时候
因为:
真正的编程能力,其实是解决问题的能力。
十、现在我终于理解了一句话
以前看到一句话:
“一个程序员的成长史,本质上就是踩坑史。”
当时觉得太夸张。
现在觉得:
真的特别真实。
十一、给刚开始学 Java Web 的人一些建议
1. 不要害怕报错
报错非常正常。
程序员每天都在报错。
2. 学会看控制台
很多问题:
控制台其实已经告诉你答案了。
3. 环境问题一定要耐心
Java Web 最大的问题:
很多时候不是代码。
而是环境。
4. 学会搜索
不会的问题:
-
搜 CSDN
-
搜官方文档
-
搜 Stack Overflow
非常正常。
十二、总结
刚开始学习 Java Web 时,
我一直以为:
自己在学编程。
后来才发现:
其实我在学习:
-
如何解决问题
-
如何排查错误
-
如何阅读日志
-
如何搭建系统
虽然过程真的很折磨。
但当项目终于成功运行的时候,
那种成就感也特别强。
最后送给所有刚开始学 Java Web 的人一句话:
“每一个让你崩溃的Bug,最后都会成为你的经验。”
更多推荐
所有评论(0)