JavaWeb初试 使用IDEA平台

Author Avatar
EmptinessBoy 9月 16, 2020
  • 在其它设备中阅读本文章

不知道为啥自己选了这门课,好像 JSP 是淘汰了蛮久的技术吧。emm,不过既然学了就好好学

环境准备

首先 JAVAWEB 是使用 JSP 进行开发的,基于 JAVA EE 企业级环境。所以,JDK 这样的环境是必不可少的。

JDK 8

关于 JDK 相关的内容,可以参考我之前的文章:JAVA入坑之JDK环境安装到HelloWorld

这里需要注意的是,由于 JAVAWEB 是企(gu)业(dong)级的产品,所以目前最新版本的 JAVA15 是不兼容的,我们需要手动下载旧版本的 JDK1.8

集成开发环境 IDEA

由于自己之前初学 JAVA 的时候就用的 inteliJ IDEA 感觉比较顺手,所以这里我下载了 inteliJ IDEA 作为我学习 JAVAWEB 的集成开发环境

intelij.png

ServerLet 服务器

这里有两种方案,一种是使用重量级的 Oracle 的 glassfish5,另一种是使用免费的 Appache 基金会的 Tomcat(汤姆猫)

apachetomcat.png

开始 HelloWorld

这里说一下我选择的方案,使用 inteliJ IDEA 集成开发环境,以及 JDK1.8 作为开发使用。选择 轻量级的 Tomcat 作为运行 JSP 的服务器。

一切就绪后,就开始动手操作啦!

下载软件

在我的电脑,已经有 JDK 了,我设置的默认 JDK 版本是 14,但不影响我使用 JDK8,只需要在 IDEA 创建项目的时候将项目设置为 JDK8 即可

然后就是下载 TomCat。官网:https://tomcat.apache.org/

这一步不管是下载 WindowsInstaller 可执行安装程序,亦或是下载 zip 格式的压缩包,都没有任何关系。至于安装程序的版本,最后会生成 Tomcatw 这个程序用来控制 Tomcat 服务器的启动,方便修改配置文件等。

安装完毕后,一定要记住安装的目录。然后你就可以看到和我一样的下面的控制界面了。

tomcatinstall.png

点击左下方的 Start ,我们可以简单的测试一下 Tomcat 是不是已经可以正常的在我们的系统上工作:

我们在浏览器输入: http://127.0.0.1:8080

tomcathello.png

如果你和我一样,看到了图示的 Tomcat 欢迎界面,那么说明 Tomcat 的安装已经成功了。

IDEA 的坑

这里我是通过 ToolBox 下载 IDEA 的。很方便很好用,强烈推荐。

点击 Install,然后慢悠悠的喝杯茶,emm,悠闲,巴适。。。。。大概 30min 过去后,看到恼人的安装条终于跑到了99%。于是回到电脑桌前,打开 IDEA 后,尝试创建一个 JAVAWEB 项目。

IDEAempty.png

咦?
JAVAWEB 项目的按钮在哪?
看了一通百度,也没找到别人所说的 WEB A品牌力擦体哦那???

不得已,求助 Google,看到国外大佬对此的回答:

need-untimate.png

大意就是,这个 IDEA 里面没有 JavaEE 相关的东西是很正常的,因为我们用的是 Community 版本,也就是免费版的 IDEA。只要升级成付费的 Ultimate 版本,就可以愉快的使用 JavaEE 了。

看到这里,果断点了 Ultimate 版本的安装。继续一杯茶时间的等待🤣

installIDEA.png

终于安装好了,登录我的账号激活下。付费版的图标和免费版略有不同,感觉好像很高大上的样子。

这回,打开属性的创建项目窗口,瞬间组件多了很多有没有?

newproject.png

建立 JavaEE 项目

但是因为我使用的是最新的 inteliJ2020 版本,所以和网上查到的新建 WEB-APPLICATION 的方法不太一样。

使用 2020 版的 idea 没有2019版那样快捷的 java enterprise模块 的选项,我们需要先创建一个普通的 java 程序项目:

idea-start-js-p_1.png

像这样什么模板都不用选择:

idea-start-js-p_2.png

在项目创建完成后,点击左侧菜单按钮,选择项目结构,在项目模块处导入 Tomcat 的包,这一步需要先完成 Tomcat 与 idea 的关联,在本文后面有提到:

idea-start-js-p_3.png

到这里重点来了,我们现在需要为这个项目添加模块,让它变成一个 Jsp 项目应该有的样子。

idea-start-js-p_4.png

我们需要做的是选中左侧目录树中的项目根目录,右键添加框架支持:

idea-start-js-p_5.png

点击确认后,我们熟悉的 jsp 项目的基本目录就会被自动生成了。


以下是不做推荐的新建项目的方法:

我们需要参考最新的官方文档:来自JetBrains 官方:https://www.jetbrains.com/help/idea/creating-and-running-your-first-java-ee-application.html

这里我们需要先创建 Java Enterprise 项目,记得 SDK 版本一定要选择 Java8 或者 Java1.8 ,构建工具选择 Maven,测试程序选择 Junit。

newjavaweb.png

到了这一步选择库和框架时,我们勾选 Servelet (Web应用程序框架)。然后在下一步时输入项目名称就可以了!

javawebhello.png

Tomcat 与 IDEA 的关联

刚创建完成项目,我们需要多等待一会,等 Maven 同步完成后,我们方能创建我们的第一个网页文件。

在此之前,我们可以先配置 Tomcat 与 IDEA 的关联:

打开设置 ---> 构建,执行,部署 ---> 应用程序服务器

点击左上角小小的加号 “+”,然后选择 TomcatServer。

addnew.png

接下来在弹出的窗体中输入 TomCat 的安装路径(前面让大家把路径记下来就是这么回事)。

addtomcat.png

最后,保存下相关信息就可以了

appserver.png

添加运行选项

刚刚添加了 Tomcat 到服务器选项还是不够的。我们还需要配置运行选项:

从主菜单中,选择运行| 编辑配置。

在“ 运行/调试配置”对话框中,单击添加按钮,展开Tomcat Server节点,然后选择“ 本地”。

修复运行配置设置对话框底部出现的所有警告。

tomcatrun.png

新建网页文件

三杯茶喝完,我们的项目应该也差不多同步完成了,我们可以展开目录树:

fileTree.png

找到下面的路径。

src/main/webapp

此时,如果我们的项目已经初始化完成,这时候就可以右键 webapp 文件夹,新建 JSP/JSPX 文件啦!(如果项目还没完成初始化,是不会有这个选项的,耐心等待进度条跑完就可以啦!)

下图勘误:应该为 webapp 文件夹中新建文件

newjavasp.png

新建一个 HelloWorld 的 JSP 文件,然后写入代码:

<%--
  Created by IntelliJ IDEA.
  User: huxia
  Date: 2020/9/16 0016
  Time: 23:33
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title><% out.println("Hello World!"); %></title>
</head>
<body>
<% out.println("Hello, EmptinessBoy!"); %>
</body>
</html>

newjavawebhello.png

运行

激动人心的时刻终于来了,这时只要右键 运行文件 ,就可以直接在浏览器看到我们刚才写的文件运行效果啦!

helloworld.png

填坑

坑 A 控制台乱码

Tomcat 控制台输出部分乱码。原因为汤姆猫默认的 UTF-8 和 Windows 系统默认 GBK 不一致。

解决方法:

修改 Tomcat 10.0\conf\logging.properties 文件,新增一行:

java.util.logging.ConsoleHandler.encoding = GBK

解决后:

bug2.png

坑 B 代码提示异常

具体异常表现为:无法解析方法’println(java.lang.String)’

bug1.png

解决方法:

打开项目结构 –> 模块

bug1-fix.png

选中项目名,选则右边的依赖:

bug1-fix1.png

选中 Tomcat,把 Tomcat 加入依赖即可

bug1-fix2.png

坑 C 未配置关闭端口

如果出现如下的报错:未配置关闭端口。通过OS信号关闭服务器。服务器未关闭

解决方法很简单,只要编辑 Tomcat 安装目录下配置文件夹下的 server.xml。找到 server port 这一行,把原先的 -1 修改为 8005 即可

c018f52c8bce858bf57f4ce74cb225f4.png

坑 D Tomcat9 兼容性

实测 Tomcat9.39 即使导入了正确的包也可能存在语法提示错误,提示某个 class 不存在之类的。

事实上这个问题不影响程序的最终运行。但 ide 上红色的报错会让人很难受。

解决方法就是,手动建立第三方库,然后将 Tomcat 安装目录下 lib 文件夹中需要的包复制到我们刚才建的第三方库目录即可:

idea-start-js-p_7.png

把 servelet-api.jar 等包复制到 WEB-INF 下面的这个目录即可。

This blog is under a CC BY-NC-ND 4.0 Unported License
本文链接:https://coding.emptinessboy.com/2020/09/JavaWeb%E5%88%9D%E8%AF%95-%E4%BD%BF%E7%94%A8IDEA%E5%B9%B3%E5%8F%B0/