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, ...
随机推荐
- git rebase 合并多次提交.
一.应用场景 为什么需要合并多个提交呢? 常常一个功能的开发,修修补补 commit 了 n 多次,带来的结果就是提交过多过杂,不够直观,究竟哪些提交是对应这个功能的呢?还有就是,如果我要将这个功能迁 ...
- Linux 桌面玩家指南:13. 使用 Git 及其和 Eclipse 的集成
特别说明:要在我的随笔后写评论的小伙伴们请注意了,我的博客开启了 MathJax 数学公式支持,MathJax 使用$标记数学公式的开始和结束.如果某条评论中出现了两个$,MathJax 会将两个$之 ...
- 【死磕 Spring】----- IOC 之 加载 Bean
原文出自:http://cmsblogs.com 先看一段熟悉的代码: ClassPathResource resource = new ClassPathResource("bean.xm ...
- 细说mysql索引
本文从如何建立mysql索引以及介绍mysql的索引类型,再讲mysql索引的利与弊,以及建立索引时需要注意的地方 首先:先假设有一张表,表的数据有10W条数据,其中有一条数据是nickname='c ...
- springboot~rabbitmq的队列初始化和绑定
配置文件,在rabbit中自动建立exchange,queue和绑定它们的关系 代码里初始化exchange 代码里初始化queue 代码里绑定exchange,queue和routekey 配置文件 ...
- redis使用场景和java测试案例
redis数据结构和使用场景 strings lists sets sort sets hashes strings token session validateCode 分布锁 lists 最近联系 ...
- 让你的ASP.NET Core应用程序更安全
让你的ASP.NET Core应用程序更安全 对于ASP.NET Core应用程序,除了提供认证和授权机制来保证服务的安全性,还需要考虑下面的一些安全因素: CSRF 强制HTTPS 安全的HTTP ...
- Asp.Net Core 轻松学-项目目录和文件作用介绍
前言 上一章介绍了 Asp.Net Core 的前世今生,并创建了一个控制台项目编译并运行成功,本章的内容介绍 .NETCore 的各种常用命令.Asp.Net Core MVC 项目文件目录 ...
- 【转载】Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页
在Sqlserver数据库中,如果查询表中含有自增长Id列,一般会采用select Top的方式来数据的分页操作.而实际上很多数据表设计的时候,不一定含有自增长Id列,那么数据库没有Id自增列的时候要 ...
- 从零开始学安全(四十一)●初识Wireshark
wireshark:Beyond Compare是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直接与 ...