前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java框架型项目从入门到装逼】第三节 - 如何用Tomcat发布web项目?

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

作者头像
剽悍一小兔
发布2018-05-17 15:28:23
8680
发布2018-05-17 15:28:23
举报
文章被收录于专栏:web编程技术分享

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

输入cmd,点确定。

image.png

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

image.png

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

image.png

运行

image.png

image.png

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

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

右键我的电脑,属性。

image.png

image.png

image.png

image.png

image.png

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

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

image.png

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

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

image.png

image.png

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

image.png

1、tomcat服务器映射方式一

tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚似目录。 现在我们来手工搭建一个web项目,首先,在webapps目录下新建一个文件夹,是的,就是文件夹,不管你项目是什么,肯定还是放在文件夹里面的。

image.png

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

image.png

然后,在WEB-INF文件夹里面,必须要有一个web.xml文件。 Web.xml内容如下:

代码语言:javascript
复制
<?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文件。

代码语言:javascript
复制
<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-app>中,都必须标明这个 web.xml使用的是哪个模式文件。其它的元素都放在<web-app></web-app>之中。

代码语言:javascript
复制
<welcome-file-list>
   <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

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

image.png

代码语言:javascript
复制
<%@ 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 。

代码语言:javascript
复制
<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配置文件的添加配置。

代码语言:javascript
复制
<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项目删掉了。

image.png

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.11.24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、tomcat服务器映射方式一
  • 2、Tomcat服务器虚拟目录的映射方式二
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档