被迫学习JSP · 在macOS下安装Tomcat + IDEA

学校开了一门叫“Web应用开发技术“的课,这不由于疫情无法正常开学嘛,就要在线上课。在群里呢老师就上传了叫JspStudy的东西让我们在电脑上安装,还有一个很多人都运行不了的eclipse。虽说我个人是不是很想学习JSP这种过时的技术,但是毕竟学校要求,还是要看一下。

老师在群里上传了JspStudy和eclipse,我非常能理解老师的做法,对于使用Windows操作系统的同学来说这可能是最无脑、最傻瓜式的能让jsp页面运行起来的方法了。但是老师对使用macOS的同学的建议就很苍白了……

@全体成员 所有人务必参考JSP环境搭建视频把开发环境搭好(苹果笔记本建议再安装win10系统,然后在win10安装JspStudy+eclipse)

这里我想分享一下数学家当消防员的故事,细品。

一天,数学家觉得自己已受够了数学,于是他跑到消防队去当消防员。消防队长说:“您看上去不错,可是我得先给您一个测试。”

消防队长带数学家到消防队后院小巷,巷子里有一个货栈,一只消防栓和一卷软管。消防队长问:“假设货栈起火,您怎么办?”数学家回答:“我把消防栓接到软管上,打开水龙头,然后把火浇灭。”

消防队长说:“完全正确!那如果货栈没有起火,您怎么办?”,数学家答道:“我先把货栈点燃。这样就化归为第一种情况,我再把消防栓接到软管上,然后打开水龙头,把火浇灭。”

到底怎么弄

其实要搭建JSP开发环境非常简单,无非就是安装Tomcat和配置IDE嘛!

第一步:用brew安装Tomcat

什么?你没听说过brew?macOS用户怎么能没用过Homebrew呢?快去装!

安装brew(已经装好的请忽略):

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

把这个命令粘贴到“终端 (Terminal)”,终端.app你总知道吧!粘贴,然后运行。

安装Tomcat:

brew install tomcat

这样就装好了,现在可以用catalina run运行Tomcat服务了,但是我们要的不是手动运行,而是让IDEA帮我们管理。对了,可以用brew info tomcat看一下Tomcat装在哪个目录了,等会要用到的:/usr/local/Cellar/tomcat/9.0.31_1

第二步:配置IntelliJ IDEA

IDEA的安装我就不赘述了,网上教程一抓一大把,这里假设你已经用过IDEA编写过Java程序,直接讲如何用IDEA学习JSP。

  1. 创建一个新项目,点击Create New Project。
  2. 选择项目类型Java→勾选Web Application (4.0)→勾选Create web.xml。
  3. 继续,直到创建完成打开项目。
  4. 配置Tomcat服务器,点击菜单Run→Edit Configuration→+→Tomcat Server→Local。
  5. 这里会让你选择Tomcat Home,要填写/usr/local/Cellar/tomcat/9.0.31_1/libexec
  6. 点击OK完成配置,现在点击绿色的三角形运行按钮,把Tomcat服务器跑起来吧。
  7. 在项目目录下有web/index.jsp文件,现在就在IDEA里打开这个文件。在编辑界面右上角有四个按钮可供选择。
  8. 在这四个按钮中选择你常用的浏览器,点击即可用该浏览器里打开你的index.jsp页面。

这就完成了JSP系统初体验。

写在最后

开头说到我不想学JSP,这里再详细解释一下为什么。

JSP是个相对较老的技术,很多设计跟不上时代,比方说它把服务器端运行的代码和HTML混在一起编写,在现在看来这其实非常不好,初学者容易分不清各段的代码到底在哪里运行,而且到最后一个文件会变得非常非常长,不利于维护,这与现在提倡“前后端分离”背道而驰。关于前后端分离可以看看这个回答

计算机技术一直在更新换代,那些“C语言是基础,学编程必须从基础开始学”的说法我非常不赞同。新的技术既然能替代旧的,自然是因为它比旧的更好。新的设计融入了人们实践得来的新的想法,新的理解,这是大佬们对旧时错误观点的修正,新的技术往往更符合人思维习惯,是一种进步。而设计上不合理、不成熟的软件自然应当遭到淘汰。

由于融入了更符合思维习惯的思想,新的语言、新的框架往往比旧的技术更易于为初学者所接受人们思考的方式是会受到他所学到的东西所影响的,如果一开始你学习的是20、30年前的爷爷们摸爬滚打时毫无经验、不成熟的设计,你思考和解决问题时就会受到这些旧思维的影响,最后变得琐碎而又混乱不堪。而如果学习了新的语言,新的框架,在使用这些新技术你的思维自然会被引导到正确的道路上,少走很多弯路。

给你一把锤子的时候,你看什么都是钉子。

总而言之,JSP并不能代表Web技术,学校教这个很可能是因为老师只会这个。即使目的是理解Web的原理,我觉得学习JSP也不能达到这个要求。前后端要分开学,先搞清楚前端的HTMP+CSS+JS是怎么一回事,然后用Go、Python或者Node.js编写几个http服务器做后端就挺好。


对了,这篇文章我是写给我自己看的,不是傻瓜式的新手教程,也没插入图片说明。
所以如果以上拙见与君不同,动动手关掉这个页面就好.