前言

以前总觉得:

程序员天天敲代码,

看起来特别厉害。

后来真正开始学 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,最后都会成为你的经验。”

更多推荐