idea / eclipse 配置 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 文件路径

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

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

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
文件


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

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

浏览器地址栏输入 http://localhost:8080/test/test.jsp
即可访问
文件 test/test.jsp : 第一个 test 即为上述 Web Module 处设置的 Context root 名称

总结
其实花了这么多时间我是比较意外的,最后发现本地 java 版本太多,一开始没有去仔细配置好对应的版本,太过于依赖 IDE
安装 tomcat 时也是首先去进行了 优化配置 像设置缓存、配置密码这些,其实我们首先应该让项目跑起来,日后再去不断提升安全性之类的问题
遇到问题,我们也要学着不断总结,不断试错,不论多么小的错误都不要轻视。因为这点点滴滴都是经验的不断积累。今天错了,日后保证不再出错,效率才会不断提升。遇到问题欢迎大家留言讨论,加油!!
参考资料:
版权声明: 本文为 InfoQ 作者【攻城狮杰森】的原创文章。
原文链接:【http://xie.infoq.cn/article/05e4b62bed93c08084c2d5f6e】。文章转载请联系作者。
评论