【Java框架型项目从入门到装逼】第三节 - 如何用Tomcat发布web项目?

简介: 【Java框架型项目从入门到装逼】第三节 - 如何用Tomcat发布web项目?

啥叫Tomcat?有道词典是这么说的。

35.png

这个我们姑且不管,实际上呢,Tomcat是一种Web服务器,我们自己做好了一个Web项目,就可以通过Tomcat来发布。服务器呢,又分为硬件服务器和软件服务器。硬件服务器一般来说就是一台电脑,而软件服务器则是一个应用程序,比如Tomcat它本身就是一个程序。

36.png

让我们来看一下Tomcat的目录结构:

37.png

Bin目录里面都是一些脚本文件:

38.png

我们需要关注的就是startup.bat这个文件,当我们双击这个文件,就可以启动Tomcat服务器。接下来,我们顺便来说一说配置环境变量的问题,我们知道,在安装JDK的时候就需要配置环境变量。简单来说,配置环境变量的目的就是让用户可以在任何目录都能访问到某一个文件夹的文件。比如,我们打开cmd命令窗口:


39.png

39.png


输入cmd,点确定。

40.png

我们希望通过这个命令来打开startup.bat,然而并没有什么卵用!

41.png

因为路径不对,是吧。好,那么现在我们调整到Tomcat的bin目录:

42.png


运行

35.png36.png


这样就好了,恭喜你,Tomcat服务器已经成功启动了!

大家是不是很好奇,有没有一种不需要跳转到指定目录就可以运行startup.bat的方法呢?这就需要我们配置环境变量了。

右键我的电脑,属性。


43.png44.png45.png46.png47.png


在path后面添加 ;%TOMCAT_HOME%\bin ,确定。

重新再cmd命令窗口执行startup.bat命令:

48.png


出现这个错误,它说环境变量名字不对,应该叫CATALINA_HOME,OK,那我们就改成这个环境变量,然后就好了。

现在,我们在conf目录中我们打开server.xml,可以查看Tomcat的端口号。


49.png

50.png

这个8080就是端口号,我们用http://localhost:8080 , 可以访问到Tomcat的首页。

52.png


##1、tomcat服务器映射方式一

tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚似目录。

现在我们来手工搭建一个web项目,首先,在webapps目录下新建一个文件夹,是的,就是文件夹,不管你项目是什么,肯定还是放在文件夹里面的。

53.png

项目名称就叫做myapp。

打开myapp,根据web项目的规范,我们需要有一个WEB-INF文件夹。

54.png

然后,在WEB-INF文件夹里面,必须要有一个web.xml文件。

Web.xml内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
</web-app>


<?xml version="1.0" encoding="UTF-8"?> 这句话表示这个文件是xml文件。

<web-app version="2.5" 
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
</web-app>


web.xml的模式文件是由Sun公司定义的,每个web.xml文件的根元素中,都必须标明这个 web.xml使用的是哪个模式文件。其它的元素都放在之中。

<welcome-file-list>
   <welcome-file>index.jsp</welcome-file>
</welcome-file-list>


这个是设置欢迎页,因为我们现在还没有欢迎页,所以要写一个。

55.png


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
  这是我的APP
</body>
</html>


然后访问http://localhost:8080/myapp/ 的时候,就会默认找到index.jsp文件。如果出现中文乱码,从以下几个方面考虑:

1、 文件本身的编码格式是不是UTF-8,不是的话就用一个文本工具另存为一下。

2、 Server.xml中有没有指定编码格式为UTF-8 。

<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
    enableLookups="false" redirectPort="8443" acceptCount="100"
    connectionTimeout="20000" disableUploadTimeout="true" URIEncoding='UTF-8' />

3、 JSP页面有没有设置编码为UTF-8 。

##2、Tomcat服务器虚拟目录的映射方式二

在server.xml配置文件的添加配置。

<Host name="localhost"  appBase="webapps"
              unpackWARs="true" autoDeploy="true" 
              xmlValidation="false" xmlNamespaceAware="false"> 
  <Context path="/JavaWebApp" docBase="D:\myapp" />
</Host> 


其中,Context表示上下文,代表的就是一个JavaWeb应用,Context元素有两个属性,

 Ⅰ.path:用来配置虚似目录,必须以"/"开头。

 Ⅱ.docBase:配置此虚似目录对应着硬盘上的Web应用所在目录。


如果我们不想要把web项目丢到webapp目录,那又该怎么办呢?没错,我们就采用第二种方式。


我现在把myapp项目放到D盘根目录,为了防止你们说我使诈,我不但把访问地址改了,还把webapp目录下的myapp项目删掉了。


56.png

我们一般都推荐第二种方式。

相关文章
|
9天前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
111 1
|
8天前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
90 0
|
1月前
|
前端开发 Java API
2025 年 Java 全栈从环境搭建到项目上线实操全流程指南:Java 全栈最新实操指南(2025 版)
本指南涵盖2025年Java全栈开发核心技术,从JDK 21环境搭建、Spring Boot 3.3实战、React前端集成到Docker容器化部署,结合最新特性与实操流程,助力构建高效企业级应用。
437 1
|
1月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
308 63
|
7天前
|
IDE 安全 Java
Lombok 在企业级 Java 项目中的隐性成本:便利背后的取舍之道
Lombok虽能简化Java代码,但其“魔法”特性易破坏封装、影响可维护性,隐藏调试难题,且与JPA等框架存在兼容风险。企业级项目应优先考虑IDE生成、Java Records或MapStruct等更透明、稳健的替代方案,平衡开发效率与系统长期稳定性。
73 1
|
9天前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
1月前
|
前端开发 Java 数据库
Java 项目实战从入门到精通 :Java Web 在线商城项目开发指南
本文介绍了一个基于Java Web的在线商城项目,涵盖技术方案与应用实例。项目采用Spring、Spring MVC和MyBatis框架,结合MySQL数据库,实现商品展示、购物车、用户注册登录等核心功能。通过Spring Boot快速搭建项目结构,使用JPA进行数据持久化,并通过Thymeleaf模板展示页面。项目结构清晰,适合Java Web初学者学习与拓展。
174 1
|
监控 Java 应用服务中间件
【Linux】Web服务之Tomcat服务
【Linux】Web服务之Tomcat服务
133 0
|
Cloud Native Java 应用服务中间件
【云原生 | 23】Docker运行Web服务实战之Tomcat
Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和Java Server Page(JSP)的支持。同时,它提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,也可以当作一个单独的Web服务器来使用
360 0
【云原生 | 23】Docker运行Web服务实战之Tomcat