idea / eclipse 配置 Tomcat 并发布 Web 项目

news2025/1/23 6:04:59

文章目录

  • tomcat 安装配置
    • 简介
    • 下载安装
    • 系统环境配置
    • 优化配置
      • 修改默认内存
      • 管理员用户名和密码设置
      • 支持中文文件名称
  • idea 配置 tomcat 并发布 web 项目
    • 项目创建
    • 为项目添加 tomcat
    • 发布测试
  • eclipse 配置 tomcat 并发布 web 项目
    • 引入 tomcat
    • 建立 web 项目
    • 发布测试
  • 总结

本篇内容主要讲述如何在 idea 和 eclipse 开发工具中配置 Tomcat,记录一些踩坑的地方,帮大家避坑,节约时间

首先,你的电脑中应该默认配置好 java 的开发环境,没有配置的朋友请参考这里

tomcat 安装配置

简介

Tomcat是由Apache软件基金会属下Jakarta项目开发的Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全局管理和Tomcat阀等。由于Tomcat本身也内含了HTTP服务器,因此也可以视作单独的Web服务器。但是,不能将Tomcat和Apache HTTP服务器混淆,Apache HTTP服务器是用C语言实现的HTTPWeb服务器;这两个HTTP web server不是捆绑在一起的。Apache Tomcat包含了配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。(源 : Wikipedia)

总结来说就是免费、开源、轻量的 Web 服务器

下载安装

这里建议,不要下载最新版!!

大家也可以根据开发环境选择合适的版本

官网地址,找到图示位置下载

下载后解压,放到合适位置(记住路径,后面需要用)

系统环境配置

打开系统环境变量,添加表中两项,变量值为 tomcat 文件路径

变量
CATALINA_HOMEC:\IDE\apache-tomcat-8.5.77
CATALINA_BASEC:\IDE\apache-tomcat-8.5.77

继续打开 Path 变量,追加两项,注意 ; 分隔
%CATALINA_HOME%\lib %CATALINA_HOME%\bin

在 tomcat 安装目录 bin 目录下,打开终端,运行指令

$ 安装 tomcat 服务
service.bat install

Win+R 执行 services.msc 打开服务窗口,修改 tomcat 启动方式为自动

可以在安装目录下启动 tomcat8w.exe 程序控制/查看运行状态

访问 http://localhost:8080/ 网址,显示图示页面即配置成功

优化配置

此部分操作不建议初次上手直接操作,请在实际需求中进行更改,初次配置可略过该项

修改默认内存

在实际开发中可能会遇到默认 128MB 内存不够用的情况,我们需要调大默认容量

打开图示路径

打开后搜索 JAVA_OPTS,将默认位置内容修改为 JAVA_OPTS='-Xms256m - Xmx512m' ,表示初始化内存为 256MB,可用最大内存为 512MB

管理员用户名和密码设置

进入图示目录,打开 tomcat-users.xml 文件

搜索 username ,在 password 处设置密码

支持中文文件名称

一般情况下,我们如果在使用 tomcat 时,打开的文件以中文命名或超链接中下载含中文名,会出现乱码,这时我们修改下对应配置文件解决该问题

打开图示文件

定位到 Connector port ... 位置处添加 URLEncoding="UTF-8" 即可

idea 配置 tomcat 并发布 web 项目

项目创建

新建 Java 项目

添加项目路径

添加 web 框架支持

选择 web 标准

查看当前的项目结构

目录文件解释:

  • src :存放类源目录
  • web :虚拟路径,存放静态、动态网页目录
  • WEB-INF:受 Web 容器保护的目录
  • web.xml :描述符文件,java web 服务配置文件

为项目添加 tomcat

编辑项目配置

添加 Tomcat Server,选择第一个,注意区分版本,否则会有警告信息

选中安装路径,IDE 自动识别版本号、端口号等信息

部署信息

设置项目名称,此处如果配置,那么访问的 URL 则为 http://localhost:8080/[项目名]/...;若设置为 / ,则访问的 URL 为 http://localhost:8080/...

建议配置,以免每次系统默认生成的名字造成 Tomcat 访问报 404 错误

其他信息配置

此时,一个 web 项目的基本配置完成

发布测试

启动服务

执行信息

打开浏览器访问(执行成功可以自动跳转) http://localhost:8080/

发布成功!

eclipse 配置 tomcat 并发布 web 项目

引入 tomcat

打开首选项

向下滑找到 Server

选择匹配的 tomcat 版本

细节配置

保存退出

建立 web 项目

文件 -> 新建

配置项目信息

java 类源文件位置,默认就好

单击 finish 完成创建

发布测试

首先打开 Servers 面板

定义服务

点击 Next ,选中服务名称添加

在 webapp 目录下新建一个 .jsp 文件

写入测试程序(记得保存),测试服务状态

<%--
  Created by Eclipse
  User: jason
  Date: 2022/3/22
  Time: 19:27
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>java-web-project</title>
  </head>
  <body>
  Congratulations!! settings successful.
  </body>
</html>

启动服务

可以在 Console 面板下查看到执行信息

浏览器地址栏输入 http://localhost:8080/test/test.jsp 即可访问

文件 test/test.jsp : 第一个 test 即为上述 Web Module 处设置的 Context root 名称

总结

其实花了这么多时间我是比较意外的,最后发现本地 java 版本太多,一开始没有去仔细配置好对应的版本,太过于依赖 IDE

安装 tomcat 时也是首先去进行了 优化配置 像设置缓存、配置密码这些,其实我们首先应该让项目跑起来,日后再去不断提升安全性之类的问题

遇到问题,我们也要学着不断总结,不断试错,不论多么小的错误都不要轻视。因为这点点滴滴都是经验的不断积累。今天错了,日后保证不再出错,效率才会不断提升。遇到问题欢迎大家留言讨论,加油!!


参考资料:

  • Error running ‘Tomcat 8.5.57‘: Address localhost:8080 is already in use
  • Application Server was not connected before run configuration stop, reason: Unable to ping server at
  • Intellij IDEA Tomcat Application Server was not connected before run configuration stop, reason: Unable to ping server at localhost:1099
  • Windows 查看端口占用进程并关闭

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/408249.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python Web开发 flask轻量级Web框架实战项目--实现功能--账号密码登录界面(连接数据库Mysql)

ps&#xff1a;各位好久不见&#xff0c;我回家了&#xff01;终于有时间把之前的一些东西整理一下了&#xff08;好吧&#xff0c;之前是我太懒了&#xff09;&#xff0c;今天分享一个功能简单的python web实战项目&#xff0c;后期功能可自行丰富。 先看效果 输入正确用户名…

猿创征文|【C++游戏引擎Easy2D】我拿吃零食的时间,学会了在C++上添加可点击按钮

&#x1f9db;‍♂️iecne个人主页&#xff1a;&#xff1a;iecne的学习日志 &#x1f4a1;每天关注iecne的作品&#xff0c;一起进步 &#x1f4aa;学C必看iecne 本文专栏&#xff1a;【C游戏引擎】. &#x1f433;希望大家多多支持&#x1f970;一起进步呀&#xff01; ✨前…

vuex报错:Property or method “$store“ is not defined on the instance but referenced during render. Make

‘store’ is defined but never used no-unused-vars 最近在写vuex&#xff0c;报过一个这样的错误&#xff1a; Property or method “$store” is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the da…

结合表单验证谈el-form中model、prop、rules属性

目录前言modelproprules验证总结前言 最近写vue项目需要用element ui中的表单组件显示一些信息呈现在页面上&#xff0c;但在使用提供的一些属性时有些困惑——这三者之间有什么关系&#xff0c;必须要同时存在吗&#xff1f;于是在这里做一些记录。 model 官方说是表单中的数…

flex布局中使用flex-wrap实现换行

最近做个项目,其中有个样式是换行布局,作为样式渣渣的我一开始不会,只能查资料,然后摆平了它.今天得空了,简要记录一下,方便后面小伙伴布局使用. 参考资料 flex-wrap 开始样式 <div class"planWrap"><div class"content planItem">1</div…

vue 父传子 子传父实现方式

父传子&#xff1a; 主要步骤&#xff1a; 首先在子组件props中创建一个属性&#xff0c;用以接收父组件传过来的值&#xff1b;然后父组件中引用子组件&#xff0c;并在子组件标签中添加子组件props中创建的属性&#xff1b;最后把需要传给子组件的值赋给该属性。 理解&#…

Vue父子组件生命周期执行顺序

要想弄懂Vue父子组件的生命周期执行顺序&#xff0c;首先要知道vue页面的生命周期钩子函数的执行顺序&#xff0c;这也是在面试中老生常谈的问题&#xff0c;同时相信大家在工作的时候也能经常碰到父子组件加载上的问题&#xff0c;所以&#xff0c;不管是面试还是工作&#xf…

前端常见的时间转换方法合集+动态时钟效果实现

1.将时间戳转换为YYYY-MM-DD HH:mm:ss格式-老方法 通过对应的年月日时分秒依次进行拼接&#xff0c;另外还需要对小于10的值进行处理&#xff0c;在前面添加字符串‘0’&#xff0c;转换为常见的两位数时间格式 function transformTime(timestamp new Date()) { if (time…

Vue实现生成二维码

目 录 ①首先创建一个vue项目 ②引入qrcodejs2 ③封装组件 1. 创建Vue文件 2. 定义template模板 3. 引入QRCode包 4. 进行封装 5. less控制样式 ④启动项目 1. 在终端输入启动项目命令 2. 在浏览器中输入访问地址 3. 访问生成的二维码 4. 扫码进行解析 与后端用J…

CSS实现文字描边效果

一、介绍 最近在一个项目的宣传页中&#xff0c;设计师使用了文字描边效果&#xff0c;之前我确实没有实现过文字的描边效果&#xff0c;然后我在查阅资料后&#xff0c;知道了实现方法。文字描边分为两种&#xff1a;内外双描边和单外描边&#xff0c;也就是指在给文字加上描…

ElementPlus DateTimePicker日期时间选择器限制可选时间范围(精确时分秒)

项目场景 ElementPlus DateTimePicker日期时间选择器 当我们使用日期时间选择器时&#xff0c;可能会有需求只能选择今日之前或者今日之后&#xff0c;又或者一周内&#xff0c;一个月内的时间&#xff0c;而其他的时间应该禁止被用户选择。 解决 直接看文档&#xff1a; …

【element】el-autocomplete的常见用法

前言&#xff1a; 这段时间突然发现很少写博客了&#xff0c;平时都在平衡工作和休息的时间&#xff0c;周末也没动过笔&#xff0c;而且更重要的是我找不到写的内容了&#xff0c;在经历的初始的新知识的学习阶段后&#xff0c;目前的阶段更加转入对于业务的理解&#xff0c;…

vite基本配置教程

&#x1f469; 个人主页&#xff1a;不爱吃糖的程序媛 &#x1f64b;‍♂️ 作者简介&#xff1a;前端领域新星创作者、CSDN内容合伙人&#xff0c;专注于前端各领域技术&#xff0c;成长的路上共同学习共同进步&#xff0c;一起加油呀&#xff01; ✨系列专栏&#xff1a;前端…

C1认证之web基础知识及习题——我的学习笔记

文章目录 目录 文章目录 前言​​​​​​​ Web基础 十四、语义化标签 知识点 习题 十五、表单标签 知识点 习题 十六、转义字符 知识点 习题 十七、Head头 知识点 习题 十八、CSS引入方式 知识点 习题 十九、CSS背景 知识点 习题 二十、CSS文本属性 …

CSS合并单元格四种方式:table/display/flex/grid

目录 方式一&#xff1a;table【最简单写法】 方式二&#xff1a;display: table--不推荐 方式三&#xff1a;display: flex 方式四&#xff1a;display: grid 效果图&#xff1a; 方式一&#xff1a;table【最简单写法】 colspan&#xff1a;规定单元格可横跨的列数。row…

【vue2】近期bug收集与整理02

⭐【前言】 在使用vue2构建页面时候&#xff0c;博主遇到的问题难点以及最终的解决方案。 &#x1f973;博主&#xff1a;初映CY的前说(前端领域) &#x1f918;本文核心&#xff1a;博主遇到的问题与解决思路 目录⭐数据枚举文件的使用⭐elementUI中分页组件使用的注意事项⭐v…

vue解决Not allowed to load local resource

前言 在进行通过本地路径进行加载图片的时候&#xff0c;突然就报了这个问题 Not allowed to load local resource 这个是由于安全性的问题&#xff0c;导致浏览器禁止直接访问本地文件 那么&#xff0c;这边我说一下我具体是怎么解决的吧 问题描述 我的项目是用的vue的vant…

webpack -v报错:Cannot find module ‘webpack-cli/package.json‘

-D安装了webpack和webpack-cli&#xff0c;-g安装了webpack和webpack-cli&#xff0c;但是webpack -v的时候仍然提示需要安装webpack-cli&#xff0c;并且安装之后会报错&#xff1a; 看提示应该是webpack-cli/package.json的位置获取不到正确的&#xff0c;但是并不知道为什么…

【附源码】解决pdf.js跨域并从url动态加载pdf文档

0. Abstract 当我们想用PDF.js从URL加载文档时&#xff0c;将会因遇到跨域问题而中断&#xff0c;且是因为会触发了PDF.js和浏览器的双重CORS block&#xff0c;这篇文章将会介绍&#xff1a;①如何禁用pdf.js的跨域&#xff1f;②如何绕过浏览器的CORS加载URL文件&#xff1f…

axios请求中以params或body形式传递参数的区别

一、前言&#xff1a; 前端发送请求最常⽤的是get请求还有post请求&#xff0c;get请求只能传query参数&#xff0c;query参数都是拼在请求地址上的&#xff0c;post可以传body和query两种形&#xff1b;我在开发的时候通常使用的是Axios第三方库进行网络请求&#xff0c;所以这…