ubuntu18.04从零开始配置环境(jdk+tomcat+idea)到使用idea开发web应用和servlet
昨天吃了亏,搞了一下午才把环境配置好,故此将整个过程记录一下以防日后需要。
注意:因为我的博客模块的原因,所以我把图片压缩了一些,如果有看不清的,
可以 右键图片->在新标签页打开图片
目录:
1. JDK1.8的安装配置
1.1 下载(下载链接)
先点击接受许可协议再点击文件下载。

1.2 解压
#后面的文件名视你下载的文件名而定
1.tar -zxvf jdk-8u181-linux-x64.tar.gz
1.3 移动到指定目录(一般是容易记的地方)
#将解压的文件夹移动到/usr/local下,并且重命名为jdk1.8
1.sudo mv jdk1.8.0_181 /usr/local/jdk1.8
1.4 设置环境变量(关于Linux环境变量的配置方法和区别不再扩展,自行搜索)
1.vim /etc/profile
#如果权限不够可以在命令前面加sudo
2.sudo vim /etc/profile
然后在文件的末尾加入以下内容
#具体位置视你的位置而定,主要的就是JAVA_HOME的位置,其他位置可直接如下
export JAVA_HOME=/usr/local/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=.:${JAVA_HOME}/bin:$PATH
1.5 使配置生效以及检查是否生效
#生效
1.source /etc/profile
#检查
2.java -version
如果设置成功,则会出现JDK的版本信息,如下图

2. Tomcat9.0.12的安装配置
2.1 下载(下载链接)
我下载的是Tomcat9,这个可以跟JDK8兼容,然后往下拉看到图示内容,点击下载

2.2 解压
#后面的文件名视你下载的文件名而定
1.tar -zxvf apache-tomcat-9.0.12.tar.gz
2.3 移动到指定目录(一般是/opt下)
#用sudo 不然权限不够
#此处也一样,直接将解压出来的文件夹移动到/opt下并且重命名为tomcat9
1.sudo mv apache-tomcat-9.0.12 /opt/tomcat9
2.4 更改文件夹的权限(鉴于电脑都是自己用,所以直接把权限改成777也没事,根据你的情况而定)
#此命令在/opt下执行,或直接在/opt下打开终端输入即可
sudo chmod -R 777 tomcat9
2.5 配置环境变量
#切换目录到/opt/tomcat9/bin
1.cd /opt/tomcat9/bin
#用gedit打开吧,不然vim可能不太会用
2.sudo gedit ./startup.sh
打开以后,最后一行是exec "$PRGDIR"/"$EXECUTABLE" start "$@",我们将以下内容添加到它的前面的位置即可
export JAVA_HOME=/usr/local/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=.:${JAVA_HOME}/bin:$PATH
export TOMCAT_HOME=/opt/tomcat9
2.6 启动tomcat服务器并检测是否配置成功
#启动,打开startup.sh这个文件,根据路径而输入命令,或者直接输入
1./opt/tomcat9/bin/startup.sh
当出现下方内容:

代表tomcat服务器启动成功,我们在浏览器输入地址 http://localhost:8080/ ,当浏览器出现下方内容,代表tomcat服务器正常运行了

3. IDEA的下载安装
3.1 下载(下载地址)
下载左边的版本

3.2 解压
1.tar -zxvf ideaIU-2018.2.3.tar.gz
3.3 移动到指定目录(一般还是移动到/opt下)
#具体的文件夹名以你解压的文件夹名为准
1.sudo mv ideaIU-2018.2.3 /opt
3.4 安装完成
后续使用的时候,需要激活,可以在某宝买一个,五块钱,我就是买了 XD,好像是一年有效期
4. IDEA创建web工程
4.1 创建一个新的web工程
File->New->Project
然后按照下图操作,其中2和4都是找到所需的安装路径

点击next之后会让你输入项目名字

然后点击Finish就完成创建了
4.2 web工程的一些基本配置
如下图所示,右键WEB-INF,NEW->Directory
创建两个文件夹classes和lib,作用不解释了,如下图所示,别创建错位置了噢

然后点击左上角File->Project Structrue,之后就按照下图操作。其中5选的两个文件夹是刚才我们所创建的classes

配置完classes文件夹之后,就到lib文件夹,如下图操作

点击之后选择我们创建的lib文件夹,然后继续下图操作即可


至此,web工程的简单配置结束。
4.3 IDEA关联tomcat的配置(灰常重要)
点击绿色小斧头旁边的Add Configuration

出现下图

然后按图示操作

创建好tomcat服务器之后,在上方的命名处重命名就行。
下一步继续按图示操作

点击完之后,出现下图,直接默认的就好,然后点Apply

之后就继续按图操作

在第2步中将那两个东西设置成图中一样,作用也不多说了,值得注意的是,这个第2步是在完成上一步的操作后才出现的选项
至此,tomcat服务器也配置好了,接下来就可以测试了。
4.4 运行测试
我们编辑index.jsp,然后就可以点击绿色小三角运行了。其中有点问题,如下图

这是端口被占用了,因为我们一开始安装tomcat时测试打开的,所以我们先把它关闭,IDEA这边才能继续打开
#直接打开终端输入
1./opt/tomcat9/bin/shutdown.sh
之后继续点击绿色小三角,系统就会自动弹出浏览器访问页面了

5. 创建并运行servlet程序
5.1编写servlet源程序
我们在src文件夹下创建一个新类并继承HttpServlet
然后输入以下代码即可
效果图:
源代码:
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter; public class HelloWorld extends HttpServlet {
private String message; @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//设置响应内容类型
resp.setContentType("text/html"); //设置逻辑实现
PrintWriter out = resp.getWriter();
out.println("<h1>" + message + "</h1>"); } @Override
public void destroy() {
super.destroy();
} @Override
public void init() throws ServletException {
message = "hello world";
}
}
然后就可以点击绿色小斧头编译了。编译之后会发现我们创建的classes目录下生成了.class文件。
5.2 部署servlet
在WEB-INF目录下web.xml文件的<web-app>标签中添加如下内容:
<servlet>
<!-- 这里的servlet-name和下面的保持一致 -->
<servlet-name>HelloWorld</servlet-name>
<!-- 这里采用完整包名+类名的格式 -->
<servlet-class>HelloWorld</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
5.3 运行测试
点击绿色小三角运行,等控制台输出完毕,浏览器自动打开先前的index.jsp,然后我们在地址栏输入 http://localhost:8080/HelloWorld 即可跳转到我们编写的servlet,如下图

至此,我们终于完成了一系列的安装配置与测试了,如果你看到这里,谢谢你。

附上参考链接:(感谢)
https://blog.csdn.net/yhao2014/article/details/45740111
http://www.cnblogs.com/luoli-/p/9247952.html
https://blog.csdn.net/u011630575/article/details/78490080
ubuntu18.04从零开始配置环境(jdk+tomcat+idea)到使用idea开发web应用和servlet的更多相关文章
- Java开发环境配置(JDK+Tomcat+MyEclipsed)
前言 这个项目一开始,我只能说我把自己整的很无语,所以我只能在调整心态的基础上,重新把思路缕了一遍,好了,接下来就说java运行环境以及发布运行方法还有SSH环境配置. 内容 本次配置用到的安装包: ...
- Ubuntu18.04下配置深度学习开发环境
在Ubuntu18.04下配置深度学习/机器学习开发环境 1.下载并安装Anaconda 下载地址:https://www.anaconda.com/distribution/#linux 安装步骤: ...
- AI应用开发实战 - 从零开始配置环境
AI应用开发实战 - 从零开始配置环境 与本篇配套的视频教程请访问:https://www.bilibili.com/video/av24421492/ 建议和反馈,请发送到 https://gith ...
- ubuntu18.04初始化配置
目录 ubuntu18.04初始化配置 ifconfig sshd smb other vim 配置 最后 ubuntu18.04初始化配置 虚拟机挂了, 又得重新安装配置一遍, 这里记录了我几乎每次 ...
- windows8.1下javaweb环境搭建及基本配置(jdk+tomcat+eclipse)
1.下载安装jdk在无空格的路径下,否则在linux下可能出问题.配置环境变量: a.新建系统变量——JAVA_HOME,值——D:\programming\java\jdk8 // win8下若建为 ...
- Java Web开发环境配置(JDK+Tomcat++IDEA 14)
对于未接触过java web开发的大家而言,应该和我一样对java web编程开发比较迷茫,通过查一些资料,大致清楚了java web开发环境的一些基本配置,未做过相关编程的人员可以看一看,由于我刚接 ...
- ubuntu18.04系统安装+基本环境配置【原创】
平台信息:PC:ubuntu18.04.i5.七彩虹GTX1060显卡.固态硬盘.机械硬盘 作者:庄泽彬(欢迎转载,请注明作者) 说明:在原本的电脑买一个独立显卡,装上去之后,出了各种问题,虽然后面勉 ...
- ubuntu18.04错误配置变量环境导致无法进入系统
1.问题描述 错误配置环境变量(直接在/etc/profile文件末尾添加了export xxx),关机后一直在登录界面循环无法进入系统. ###环境变量的添加是在原有变量之后以冒号(:)分隔加入,并 ...
- 在Ubuntu18.04下配置hadoop集群
服务器准备 启动hadoop最小集群的典型配置是3台服务器, 一台作为Master, NameNode, 两台作为Slave, DataNode. 操作系统使用的Ubuntu18.04 Server, ...
随机推荐
- 【Python3爬虫】斗鱼弹幕爬虫
在网上找到了一份斗鱼弹幕服务器第三方接入协议v1.6.2,有了第三方接口,做起来就容易多了. 一.协议分析 斗鱼后台协议头设计如下: 这里的消息长度是我们发送的数据部分的长度和头部的长度之和,两个消息 ...
- Keras Model Sequential模型接口
Sequential 模型 API 在阅读这片文档前,请先阅读 Keras Sequential 模型指引. Sequential 模型方法 compile compile(optimizer, lo ...
- RabbitMQ消息队列(一)-RabbitMQ的优劣势及产生背景
本篇并没有直接讲到技术,例如没有先写个Helloword.我想在选择了解或者学习一门技术之前先要明白为什么要现在这个技术而不是其他的,以免到最后发现自己学错了.同时如果已经确定就是他,最好先要了解下技 ...
- 并发系列(2)之 ThreadLocal 详解
本文将主要结合源码讲述 ThreadLocal 的使用场景和内部结构,以及 ThreadLocalMap 的内部结构:另外在阅读文本之前只好先了解一下引用和 HashMap 的相关知识,可以参考 Re ...
- 从PRISM开始学WPF(四)Prism-Module-更新至Prism7.1
0x4Modules Modules是能够独立开发.测试.部署的功能单元,Modules可以被设计成实现特定业务逻辑的模块(如Profile Management),也可以被设计成实现通用基础设施或服 ...
- Python两步实现关联规则Apriori算法,参考机器学习实战,包括频繁项集的构建以及关联规则的挖掘
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- asp.net easyui 动态绑定下拉框
前台: <title>标题</title> <link href="EasyUi_v1.3.4/easyui/themes/default/easyui.css ...
- Excel的读取和保存(POI)
示例 Excel文件: 数据读取: 保存路径: Jar包准备 下载地址: 链接:https://pan.baidu.com/s/1RZAwEsFwjKMlnYYGwHMfaA 提取码:h9mj 文件上 ...
- 20190421-那些年使用过的CSS预处理器(CSS Preprocessor)
写在前面的乱七八糟的前言: emmm,不得不说,早上七点是个好时间,公园里跳广场舞的大妈,街边卖菜刀看报的大爷,又不得不说,广州图书馆是个好地方,该有的安静,该有的人气,听着楼下小孩子的声音,看着周围 ...
- webpack 单独打包指定JS文件(CopyWebpackPlugin)
背景: 不确定打出的前端包所访问的后端IP,需要对项目中IP配置文件单独拿出来,方便运维部署的时候对IP做修改.因此,需要用webpack单独打包指定文件.npm install --save-dev ...