Idea&Maven构建java web项目&java 后端学习建议

653 阅读7分钟

@[TOC]

前言

给学习Javaweb的建议

在正式开始本篇文章的内容之前本着“过来人”的角度想要给想要学习java后端,学习java web 想要自己动手制作一个网站或者Server Application 的朋友一点建议。因为我本人的学习路线呢,很早以前看过我博客的应该会有点印象,我是从python 爬虫,渗透过来,然后玩的Django,之后玩的java 的这个一套体系。由于还玩了数学建模,所以对那种算法也有点涉猎,什么机器学习,神经网络也会玩玩,所以我这里不是以一个初学者的身份来阐述的。

永远记住,先会用,才会理解。很多教程,“大佬”都很喜欢说你从底层开始,从serlvet开始,学什么jsp。首先一点,这些都是老技术,可以用但是不推荐,因为你平时用的还是springboot,或者springmvc 这个我估计用的应该也少了,配置灾难嘛。但是我并不是说这个技术不重要,因为后面的技术都是对这个进行优化的,只是,作为初学者不应该先关注这个!而是应该先体会,熟悉完整的流程,之后从上而下地去学习。

什么是java web 在我的理解里面是能够帮助开发者进行web开发的工具,但是在很多教程里面这个是指Java EE 也就是 servlet 这一套,后面是Spring MVC 之类的。在B站上面很多学习机构的视频也是这样标注的,但是我觉得这个不太妥当,当然如果是由于某些历史原因的话,当我没说。

聊了这么多,我就希望,对于初学者,没有必要在那种servlet jsp上面浪费功夫,因为你会发现,后面学习的时候你基本上见不到它的影子(你非要扯底层也没办法,但是你会放着更好用的玩意去用没那么好用的东西嘛,MVC的设计者要比你我都高明)所以我的建议请直接跳过那个servlet,也就是大部分视频里面说的java web。

跳过 java web

这里的java web就是指刚刚说的servlet,jsp等。那么怎么办,跳过了之后呢,没错直接学习spring,不过在学习spring之前当然先确保你的基本功(多线程,xml,maven,反射,注解,基本设计模式,前端基础),学习spring不需要学太深,记住你现在还只是初学者,然后会基本使用spring之后,请去学习springboot,然后后面的mybatis,mvc都基于springboot学习。

springboot 与 spring 的关系

很多人可能不知道他们之间的关系,我就先告诉你吧,同时也告诉你为什么还要先学习spring。首先spring做了几件事情,第一件事情 那就是 IOC,容器管理,这里包括了对象管理,依赖转移,依赖注入,以及设计模式,然后是AOP,看过我关于spring5的使用的朋友应该知道,不知道也没事,学了就知道,第二件事是对数据库的支持,里面对数据库事务,数据库操作提供了支持,应该有人用过springjdbctemplate吧,这个就是它对数据库的支持只一,当然还支持拓展,例如mybatis。第三件事情就是对 java web的支持,和直接操作jdbc一样,人家觉得这个不够“优雅”所以自然是有支持,对它进行层层封装,最后你就见到了springmvc,是的springmvc其实是spring的一个module,所以很多人都说spring全家桶嘛。 尽管spring很强大,但是问题也来了,支持的东西不少但是意味着相关的配置也很麻烦,试想一下,每次创建项目,还要绑定到Tomcat有多麻烦(当然这只是其中一点)所以为了优化配置,springboot诞生生了!springboot做了一件很伟大的事情,那就是自动配置,所以如果你使用springboot那么你学习的过程当中将会用更多的精力去学习技术,去了解开发流程,快速开发自己的小demo。包括现在的云服务也都是基于springboot和springcloud。 所以学习springboot 例如用springboot制作网站其实用的api,都是springmvc里面的内容,所以你可以理解为学习springboot其实是在学习spring springmvc和其它被整合的框架的使用,只是在正常情况下,你还需要学习他们之间的配置(这个时候可能要看脸)

后补票

前面说了那么多,前提和目的都是为了帮助小白快速学习,但是学习完之后,我们才要开始去追根溯源,重新回到 java web的学习,这个时候,你再去看看,为什么原来那里要这样操作,原来是因为这个等等,这个时候的学习也不是为了用它干活,而是为了了解清楚这一套比较“原始”的操作(记住这不算底层,里面甚至连socket的层次都到不了),回顾式地去学习,这样加深理解,例如springboot做的配置,到底是做了哪些?做了什么?这样一旦在未来的某一天出了什么问题,你也能够快速反应。

那么本篇博文我之所以写也是补票嘛~

什么时候补

那么问题来了,什么时候补票,答案很简单,当你能够去使用springboot自己做一个东西的时候,例如 大二期末作孽(SpringBoot+Vue前后端分离博客社区(重构White Hole)) 当然这里面还使用了 vue ,第一代是Django写的。不过只要能够做出类似的东西,也就是差不多了,去补票吧。 当然如果你直接学习springboot也是可以的但是我建议先学学spring的基本使用会被更好一点。

其实补票的时候,你会发现还是很轻松的,因为怎么用你都懂了丫。

不过这里如果你想要走得远一点,这里的补票还可以是配合源码阅读~我们不能只会用吧,这样培训班的一抓一大把,那么作为面试官,作为公式我凭什么要你呀!

环境准备

前面说了那么多,现在开始吧。

下载Tomcat

首先的,话创建java web的方法很多,我们这里就用maven,不过可以肯定的是都得要这个Tomcat,因为servlet其实是Tomcat的微应用,人家是在Tomcat里面的,写的代码是 war包(打包之后)放在Tomcat里面运行,这个Tomcat是个服务器。

在这里插入图片描述 直接官网下载解压就行了

中文乱码

由于我的是在Windows里面,编码的话有问题,所以中文在控制台可能会输出乱码,解决方案是这样的 找到这个文件在你的Tomcat里面 在这里插入图片描述 编辑输入这个

java.util.logging.ConsoleHandler.encoding=GBK

在这里插入图片描述 然后保存

创建项目

创建项目的时候也简单,创建maven项目 在这里插入图片描述 这个一路next,输入你自己的项目名字,就不用我多说了吧

在这里插入图片描述 在这里插入图片描述

配置Tomcat

接下来是比较重要的步骤了 直接先看我的操作好吧。 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

导入servlet依赖

有时候,你直接是有注解可能会发现 @WebServlet() 这个注解竟然没有!那是你的依赖还没有导入,这样做 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

这个时候既可以了,我们来测试一下

测试

我们写一个测试类 在这里插入图片描述 然后进入我们的浏览器 在这里插入图片描述

可以发现一切正常~

配置细节

这里的话还有几个配置细节,主要是那个Tomcat的 在这里插入图片描述 在这里插入图片描述 其他的我想面板上提示的很清楚了,我这里就不多说了。