写java代码最牛逼的IDE肯定要数JetBrainIDEA UItimate啦,至于Eclipse,那东西还是算了吧,Eclipse下面的VIM插件体验极差,像我这种伸手摸不出方向键的,码字又不想用鼠标的,实在可以用蛋疼二字来形容。VIM是一款上古神器,它可以让你码字同步思考的速度。这学期学jsp,寒假复习了一些前端的基础知识,顺带学了点php,既然要学jsp,那就感受下JSP传说中的稳定强大吧。

关于JSP

JSP全称 Java Service Page ,Java的写出来的可视化界面不敢恭维,当时Java的语法及其高级特性确实使得这门语言在极短的时间内风靡全球,即便它在浏览器上面失败了(取而代之的是JavaScript),也丝毫阻止不了它在服务端大放异彩,这杯热咖啡谁不想尝一尝呢?和PHP以及ASP.NET一样,JSP并不能被浏览器直接解析,浏览器只能解析html+css+js,而动态部分则需要一种运行在服务端的语言来处理。和传统网页相比,有些js实现不了的,或是需要动态生成的全部交给服务端语言处理。对应变化则是:在需要动态变化的部分嵌入jsp代码,并将文件拓展名由htmlhtm改为jsp. 当用户请求具有该类拓展名时,Web服务软件并不会原封不动的发送到服务端,而是先交给其对于模块处理生成html/css/js代码,再将生成的结果发送到客户端浏览器。

与PHP、ASP.NET的Web服务软件稍作对比。php可以使用apache、nginx、caddy。ASP.NET只能使用IIS(ASP.NET本质是Visual Basic Script),上个学期学VB.NET的时候就见过这货了。JSP只能使用apache基金会的Tomcat。常见的搭配有:

- - -
Linux PHP Apache MySql Unix JSP Tomcat Oracle Windows ASP.NET IIS ACCESS


IDEA是JetBrain开发的一款编写java代码的IDE(集成开发环境),IDEA分为社区版和旗舰版,其中学生和教师可以通过教育邮箱注册后免费试用该公司开发的十余款IDE,其中比较著名的有PyCharmGoLandClion等。接下来就是如何配置Tomcat了,主要分为以下步骤:

  • 填写正确的Tomcat路径,使得IDEA可以管理Tomcat
  • 编辑项目的RUN Configuration,以便IDEA能正确的拷贝编译项目文件到webapps目录

下面是Tomcat的目录结构:

目录 说明
/bin 存放程序二进制文件以及一些编写好的启动和关闭的脚本
/conf 程序的配置文件目录
/lib 存放Tomcat服务器及所有Web程序都可以访问的库文件
/logs Tomcat运行过程中生成的日志文件存放在这里
/temp 存放Tomcat产生的临时文件,系统重启后会清空该目录
/webapps 存放所有Web应用的目录
/work 存放jsp页面生成的Servlet源文件和字节码文件

其中webapps目录下的ROOT目录是Tomcat默认的Web应用,Tomcat监听的端口号可以再conf目录下的server.xml中修改元素Connector的port属性。

鉴于Tomcat无法自动申请签发SSL证书以及设置代理等等,在实际运用中建议修改Tomcat默认端口,避免与Caddy冲突。同时用Caddy代理Tomcat的Web应用(貌似不会对性能产生较大的影响)

开始编写JSP代码

新建项目

新建项目

打开我们的IDEA Utimate,新建个Project,选择JAVA Enterprise选项卡下的Web Application,默认版本为 4.0 ,同时会默认勾选☑️Create web.xml,JDK的版本你配置好就行了,相信这并不是什么难事。这里我创建一个名为helloServlet的项目,展开我们的目录树,可以发现以下文件和目录:

练一练

练一练

Dir Info
.idea 存放一些IDEA中关于本项目的信息,可能包含版本控制信息(猜测)
out IDEA将项目中的源文件编译后产生的字节码输出到该目录下
src 开发者存放java源代码的目录(比如Servlet源文件)
web 网站根目录,开发者编写的JSP源代码(.jsp)放在此目录下
helloServlet.iml 是一个xml文件,保存一些项目基本信息,有IDEA自动生成
  • cellar 地窖
  • brew 酿酒(号称macOS缺失的包管理工具)
brew安装tomcat

brew安装tomcat

点击顶部菜单的RUN选项卡选择Edit Configurations, 在打开的窗口中选择左上角的+, 在Add New Configuration中依次选择Tomcat Server => Local在Server中,我们点击Application server右侧的CONFIGURE,添加TomCat程序目录。注意,确保所填目录为bin目录的上一级(父目录).

在macOS中使用brew安装的tomcat安装在/usr/local/Cellar/tomcat/9.0.16/libexec目录中,而这个目录在finder中无法直接选择这个路径。我们可以创建软链接都宿主目录下。

Tomcat目录添加软链接

Tomcat目录添加软链接

1
2
ln -s /usr/local/Cellar/tomcat/9.0.16/libexec ~/TomCatHome
ln -s /usr/local/Cellar/tomcat/9.0.16/libexec/webapps ~/Desktop/webapps

顺带提一句brew service管理的tomcat位于/usr/local/opt/tomcat/libexec, 所以这个目录也是可以的。

约定: 下面使用${Project_Name}来表示我们的项目名,使用${TomCatHome}来表示我们的Tomcat安装的完整路径

配置

配置

继续配置下面的。下方的URL填写http:localhost:8080/${Project_Name}_war_exploded,这是浏览器在第一次部署启动tomcat打开URL.点击Server选项卡Deployment, 点击+添加Artifact文件,添加完成后,点击小铅笔修改,只需要修改Output directory其内容修改为${TomCatHome}/webapps/${Project_Name}_war_exploded. 这样,在IDEA中部署时,就会将编译好的文件拷贝到该目录下。

Output directory

Output directory

Servlet

Servlet