一、Tomcat介绍

概述:Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器

Apache与Tomcat的比较

相同点:
1、两者都是Apache组织开发的
2、两者都有HTTP服务的功能
3、两者都是免费的

不同点:
1、Apache是专门用了提供HTTP服务的,以及相关配置的(例如虚拟主机、URL转发等等),而TomcatApache组织在符合Java EEJSPServlet标准下开发的一个JSP服务器.
2、Apache是一个Web服务器环境程序,启用他可以作为Web服务器使用,不过只支持静态网页。如果要在Apache环境下运行JSP的话就需要一个解释器来执行JSP网页,而这个JSP解释器就是Tomcat
3、Apache侧重于HTTPServer ,Tomcat侧重于Servlet引擎,如果以Standalone方式运行,功能上与Apache等效,支持JSP,但对静态网页不太理想
4、ApacheWeb服务器,Tomcat是应用(Java)服务器,它只是一个ServletJSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行

Tomcat同类产品:

1、Resin 服务器
ResinCaucho公司的产品,是一个非常流行的支持Servlet和JSP的服务器,速度非常快。Resin本身包含了一个支持HTMLWeb服务器,这使它不仅可以显示动态内容,而且显示静态内容的能力也毫不逊色,因此许多网站都是使用Resin服务器构建

2、Jetty 服务器
Jetty是一个纯粹的基于Java的网页服务器和Java Servlet容器。尽管网页服务器通常用来为人们呈现文档,但是Jetty通常在较大的软件框架中用于计算机与计算机之间的通信。Jetty作为Eclipse基金会的一部分,是一个自由和开源项目

3、JBoss服务器
JBoss是一个种遵从JavaEE规范的、开放源代码的、纯JavaEJB服务器,对于J2EE有很好的支持。JBoss采用JML API实现软件模块的集成与管理,其核心服务又是提供EJB服务器,不包含ServletJSPWeb容器,不过它可以和Tomcat完美结合

4、WebSphere 服务器
WebSphereIBM公司的产品,可进一步细分为 WebSphere Performance PackCache ManagerWebSphere Application Server等系列,其中WebSphere Application Server 是基于Java 的应用环境,可以运行于 Sun Solaris、Windows NT 等多种操作系统平台,用于建立、部署和管理InternetIntranet Web应用程序

5、WebLogic 服务器
WebLogicORACLE公司的产品,可进一步细分为 WebLogic Server、WebLogic EnterpriseWebLogic Portal 等系列,其中 WebLogic Server 的功能特别强大。WebLogic 支持企业级的、多层次的和完全分布式的Web应用,并且服务器的配置简单、界面友好。对于那些正在寻求能够提供Java平台所拥有的一切应用服务器的用户来说,WebLogic是一个十分理想的选择

二、Tomcat与jdk

JDK是开发人员开发使用,jre是用来运行java程序,就是java程序的运行环境,jvm是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为class的类文件,这种类文件可以在虚拟机上执行
JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹binlib,在这里可以认为bin里的就是jvmlib中则是jvm工作所需要的类库,而jvmlib和起来就称为jrejdkjava语言编写的,用来给java程序调用的,jvm因为与平台进行交互,是用c/c++和汇编语言编写的;
jdkjava运行和编译的,tomcatweb项目的运行容器,java没有jdk没办法编译运行,java运行必须依赖jdk的环境,所以安装tomcat前必须要安装jdk环境

下载位置
Tomcat下载地址:Apache Tomcat® - Apache Tomcat 9 Software Downloads
jdk下载地址:Java 归档文件下载 - Java SE 8 (oracle.com)

解释:

Java SE(Java Platform,Standard Edition):Java SE 是做电脑上运行的软件
Java EE(Java Platform,Enterprise Edition):Java EE 是用来做网站的(我们常见的JSP技术)
Java ME(Java Platform,Micro Edition):Java ME 是做手机软件的

对应关系:

三、Tomcat内部工作原理及模型协议

 tomcat整体架构:

组件关联:
1、Tomcat 的心脏是两个组件:ConnectorContainerConnector 组件是可以被替换,这样显得更加灵活,一个 Container 可以选择对应多个 Connector。多个 Connector 和一个 Container 就形成了一个 Service,有了 Service 就可以对外提供服务了,但是 Service 还要一个生存的环境,必须要有人能够给她生命、掌握其生死大权,那就非 Server 莫属了。所以整个 Tomcat 的生命周期由 Server 控制
2、我们将 TomcatConnector、Container 作为一个整体比作一对情侣的话,Connector 主要负责对外交流,可以比作为 BoyContainer 主要处理 Connector 接受的请求,主要是处理内部事务,可以比作为 Girl。那么这个 Service 就是连接这对男女的结婚证了。是Service 将它们连接在一起,共同组成一个家庭。当然要组成一个家庭还要很多其它的元素说白了,Service 只是在 ConnectorContainer 外面多包一层,把它们组装在一起,向外面提供服务,一个 Service 可以设置多个 Connector,但是只能有一个 Container 容器

Engine:负责处理所有请求,处理后,将结果返回给service,而connector是作为serviceengine的中间媒介出现的。 作为交流者;一个engine下可以配置一个默认主机,每个虚拟主机都有一个域名。当engine获得一个请求时,它把该请求匹配到虚拟主机host上,然后把请求交给该主机来处理。 Engine有一个默认主机,当请求无法匹配到任何一个虚拟主机时,将交给默认host来处理。Engine以线程的方式启动Host
Host:代表一个虚拟主机,每个虚拟主机和某个网络域名(Domain Name)相匹配。 每个虚拟主机下都可以部署一个或多个web应用,每个web应用对应于一个context,有一个context path。 当Host获得一个请求时,将把该请求匹配到某个Context上;
Wrapper: 代表一个 Servlet,它负责管理一个 Servlet,包括的 Servlet 的装载、初始化、执行以及资源回收。Wrapper 是最底层的容器,它没有子容器了

Tomcat Coyote支持的IO 模型与协议:

应用层  应用层协议  说明
НТТP/1.1  这是大部分Web应用采用的访问协议
AJP  用于和WX集成(如Apache) ,以实现对静态资源的优化以及集群部署,当前支持AJP/1.3
HТIP/2 HTTP 2.0大幅度的提升了Web性能。下一代HTTP协议, 自8.5以及9.0版本之后支持 
传输层  IO模型  说明
NIO  非阻塞I/O,采用Java NIO类库实现非阻塞I/O,采用Java NIO类库实现
NIO2 NIO2  异步I/O,采用JDK 7最新的NIO2类库实现
APR  采用Apache可移植运行库实现,是C/C++编写的本地库。如果选择该方案,需要单独安装APR

应用层默认协议:HTTP/1.1
传输层默认IO模型:NIO

四、 tomcat配置说明

Tomcat的目录:

目录 说明
bin 存放启动和关闭tomcat脚本
conf 存放不同的配置文件(server.xml和web.xml)
doc 存放Tomcat文档
lib/japser/common 存放Tomcat运行需要的库文件(JARS)
logs 存放Tomcat执行时的LOG文件
src 存放Tomcat的源代码
webapps Tomcat的主要Web发布目录(包括应用程序示例)
work 存放jsp编译后产生的class文件
conf目录中配置文件说明
server.xml Tomcat的主配置文件,包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息
web.xml 遵循Servlet规范标准的配置文件,用于配置servlet,并为所有的Web应用程序提供包括MIME映射等默认配置信息
tomcat-user.xml Realm认证时用到的相关角色、用户和密码等信息;Tomcat自带的manager默认情况下会用到此文件;在Tomcat中添加/删除用户,为用户  指定角色等将通过编辑此文件实现
catalina.policy Java相关的安全策略配置文件,在系统资源级别上提供访问控制的能力
catalina.properties Tomcat内部package的定义及访问相关控制,也包括对通过类装载器装载的内容的控制;Tomcat在启动时会事先读取此文件的相关设置
logging.properties Tomcat6通过自己内部实现的JAVA日志记录器来记录操作相关的日志,此文件即为日志记录器相关的配置信息,可以用来定义日志记录的组  件级别以及日志文件的存在位置等
context.xml 所有host的默认配置信息

tomcat请求过程:

tomcat server处理一个HTT请求的过程

​tomcat中支持两种协议的连接器:HTTP/1.1与AJP/1.3
HTTP/1.1协议负责建立HTTP连接,web应用通过浏览器访问tomcat服务器用的就是这个连接器,默认监听的是8080端口
AJP/1.3协议负责和其他HTTP服务器建立连接,监听的是8009端口,比如tomcatapache或者iis集成时需要用到这个连接器

五、构建Tomcat

系统 机器名称 ip 服务
CentOS Linux release 7.4.1708 c7--10 192.168.2.10/24 Tomcat

 先上传安装包  apache-tomcat-10.0.13.tar.gz  jdk-8u91-linux-x64.tar.gz

[root@C7-10 ~]# ls
apache-tomcat-10.0.13.tar.gz  jdk-8u91-linux-x64.tar.gz

(一)、安装jdk,部署java环境

[root@C7-10 ~]# tar zxvf jdk-8u91-linux-x64.tar.gz
..........
.....
..
jdk1.8.0_91/jre/README
jdk1.8.0_91/README.html[root@C7-10 ~]# mv jdk1.8.0_91/ /usr/local/java
[root@C7-10 ~]# ls /usr/local/java/
bin        db       javafx-src.zip  lib      man          release  THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT  include  jre             LICENSE  README.html  src.zip  THIRDPARTYLICENSEREADME.txt----下面直接复制粘贴cat <<END>>/etc/profile
export JAVA_HOME=/usr/local/java
export PATH=\$PATH:/usr/local/java/bin
END----[root@C7-10 ~]# source /etc/profile
[root@C7-10 ~]# java -version                                   #查看java版本
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

(二)、安装Tomcat软件程序

 这里安装的是tomcat 10.0.13版本

注意: 如要做下面的项目二尽量安装版本低一点的

[root@C7-10 ~]# tar zxvf apache-tomcat-10.0.13.tar.gz
................
..........
....
apache-tomcat-10.0.13/bin/startup.sh
apache-tomcat-10.0.13/bin/tool-wrapper.sh
apache-tomcat-10.0.13/bin/version.sh[root@C7-10 ~]# mv apache-tomcat-10.0.13 /usr/local/tomcat[root@C7-10 ~]# ls /usr/local/tomcat/
bin           conf             lib      logs    README.md      RUNNING.txt  webapps
BUILDING.txt  CONTRIBUTING.md  LICENSE  NOTICE  RELEASE-NOTES  temp         work[root@C7-10 ~]# /usr/local/tomcat/bin/startup.sh                        #启动apache-tomcat服务
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
[root@C7-10 ~]# netstat -auptn|grep 8080
tcp6       0      0 :::8080                 :::*                    LISTEN      14366/java

访问页面测试

安装mariadb数据库,提供数据库服务

方法一:本地yum也安装

[root@C7-10 ~]# yum install mariadb-server mariadb
...................
..........
.....[root@C7-10 ~]# systemctl start mariadb
[root@C7-10 ~]# mysqladmin -uroot password 123
[root@C7-10 ~]# mysql -uroot -p123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.68-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)MariaDB [(none)]> quit
Bye

方法二:可以使用网络yum进行安装

[root@C7-10 ~]# ping www.biadu.com         #查看是否可以ping通外网
PING www.biadu.com (47.254.33.193) 56(84) bytes of data.
64 bytes from 47.254.33.193 (47.254.33.193): icmp_seq=1 ttl=50 time=185 ms
[root@C7-10 ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
[root@C7-10 ~]# yum install mariadb-server mariadb    #安装
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
mariadb数据库的相关命令是:systemctl start mariadb    #启动MariaDBsystemctl stop mariadb     #停止MariaDBsystemctl restart mariadb  #重启MariaDBsystemctl enable mariadb   #设置开机启动
[root@C7-10 ~]# systemctl start mariadb
[root@C7-10 ~]# mysqladmin -uroot password 123
[root@C7-10 ~]# mysql -uroot -p123
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 4
Server version: 5.5.68-MariaDB MariaDB ServerCopyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
4 rows in set (0.00 sec)MariaDB [(none)]> quit
Bye

项目一:配置tomcat的manager管理界面

[root@C7-10 ~]# vim /usr/local/tomcat/conf/tomcat-users.xml..............
.........
..
-->
<role rolename="manager-gui"/>                                     #添加定义的角色
<user username="tomcat" password="123" roles="manager-gui"/>       #账户名:tomcat  密码:123
</tomcat-users>                                                    #默认在最后有保存[root@C7-10 ~]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
............
.......21   <Valve className="org.apache.catalina.valves.RemoteAddrValve"22          allow="^.*$" />          #修改    解释:允许其他所有主机访问
...
.注意:allow默认是:127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1[root@C7-10 ~]# /usr/local/tomcat/bin/shutdown.sh      #关闭
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
[root@C7-10 ~]# /usr/local/tomcat/bin/startup.sh      #启动
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/java
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.

进行测试:客户端访问manager管理界面(客户端启用停止项目、测试服务端状态查看)

输入之前设置的   用户名 :tomcat    密码:123

显示出:Tomcat Web 应用程序管理者就说明项目一实验成功了

如果:提示我们403 拒绝访问

解决方案:添加manage.xml文件

[root@C7-10 ~]# vim /usr/local/tomcat/conf/Catalina/localhost/manager.xml<Context privileged="true" antiResourceLocking="false"   docBase="${catalina.home}/webapps/manager"><Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>保存  添加以上内容[root@C7-10 ~]# /usr/local/tomcat/bin/startup.sh
......
...
[root@C7-10 ~]# /usr/local/tomcat/bin/shutdown.sh
....
..在进行访问测试

注意:如果出现401 说明你用户密码输入错误只要输入正确就可以了

项目二:城市订单管理系统,手动上线(创建项目中的数据库或者导入数据库文件),并进行授权

注意:此次使用  apache-tomcat-8.5.16.tar.gz   版本

上传文件smbms_db.sql

[root@C7-10 ~]# ls
smbms_db.sql[root@C7-10 ~]# mysql -uroot -p123<smbms_db.sql         #导入数据库中[root@C7-10 ~]# mysql -uroot -p123
.......
....
...
MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| smbms              |
| test               |
+--------------------+
5 rows in set (0.00 sec)MariaDB [(none)]> grant all on smbms.* to 'aaa'@'192.168.2.10'  identified by "123";                          #给项目数据库授权
Query OK, 0 rows affected (0.01 sec)                 MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)MariaDB [(none)]> use smbms;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -ADatabase changed
MariaDB [smbms]>  show tables;
+-----------------+
| Tables_in_smbms |
+-----------------+
| smbms_address   |
| smbms_bill      |
| smbms_provider  |
| smbms_role      |
| smbms_user      |
+-----------------+
5 rows in set (0.00 sec)MariaDB [smbms]> select * from smbms_user;                #查看项目中的管理员账户
+----+-----------+-----------------+--------------+--------+------------+-------------+----------------------------------------------------+----------+-----------+---------------------+----------+---------------------+
| id | userCode  | userName        | userPassword | gender | birthday   | phone       | address                                            | userRole | createdBy | creationDate        | modifyBy | modifyDate          |
+----+-----------+-----------------+--------------+--------+------------+-------------+----------------------------------------------------+----------+-----------+---------------------+----------+---------------------+
|  1 | admin     | 系统管理员      | 1234567      |      1 | 1983-10-10 | 13688889999 | 北京市海淀区成府路207号                            |        1 |         1 | 2013-03-21 16:52:07 |     NULL | NULL                |
|  2 | liming    | 李明           | 0000000      |      2 | 1983-12-10 | 13688884457 | 北京市东城区前门东大街9号                           |        2 |         1 | 2014-12-31 19:52:09 |     NULL | NULL                |
.................
...........MariaDB [smbms]> exit
Bye

城市订单管理系统项目上线

[root@C7-10 ~]# cd /usr/local/tomcat/webapps/
[root@C7-10 webapps]# mkdir /root/webapps.bak
[root@C7-10 webapps]# mv * /root/webapps.bak/
[root@C7-10 webapps]# ls                 #上传  WebRoot  文件
WebRoot[root@C7-10 webapps]# vim /usr/local/tomcat/webapps/WebRoot/WEB-INF/classes/database.propertiesdriver=com.mysql.jdbc.Driver
#在和mysql传递数据的过程中,使用unicode编码格式,并且字符集设置为utf-8
url=jdbc:mysql://192.168.2.10:3306/smbms?useUnicode=true&characterEncoding=utf-8   #修改地址为自己的192.168.2.10
user=aaa                                                           #设置为之前在数据库授权的用户名 aaa
password=123                                                       #设置为之前在数据库授权的密码   123保存退出[root@C7-10 webapps]# /usr/local/tomcat/bin/shutdown.sh
.....
[root@C7-10 webapps]# /usr/local/tomcat/bin/startup.sh
.....

 测试客户端访问项目二:http://192.168.2.10:8080/WebRoot

登录后如若访问不了,可以尝试重启tomcat

 注意:如果出现用户名密码错误说明连接不上数据库需要查看数据库是否给用户aaa授权

部署tomcat的虚拟主机

 准备网页

[root@C7-10 ~]# cd /usr/local/tomcat/webapps/
[root@C7-10 webapps]# mkdir benet biii[root@C7-10 webapps]# vim benet/index.jsp
<%@ page language="java" contentType="text/html;charset=utf-8"pageEncoding="utf-8"%>
<h1>192.168.2.10 www.benet.com 今天特别冷</h1>保存[root@C7-10 webapps]# vim biii/index.jsp
<%@ page language="java" contentType="text/html;charset=utf-8"pageEncoding="utf-8"%>
<h1>www.biii.com 今天我没有看电视</h1>保存

修改server.xml文件

[root@C7-10 webapps]# vim /usr/local/tomcat/conf/server.xml
........
....</Host><Host name="www.benet.com"  appBase="webapps" unpackWARs="true" autoDeploy="true" ><Context docBase="/usr/local/tomcat/webapps/benet" path="" reloadable="true"/></Host><Host name="www.biii.com"  appBase="webapps" unpackWARs="true" autoDeploy="true" ><Context docBase="/usr/local/tomcat/webapps/biii" path="" reloadable="true"/></Host></Engine>........
....保存

注意:在文件最后添加内容的</Engine>上面添加

---##########----     HOST容器  介绍---#####<Host name="www.benet.com"  appBase="webapps" unpackWARs="true" autoDeploy="true" >
name="www.benet.com"  :虚拟主机的名称,Tomcat 通过在请求 URL 中的域名与 name 中的值匹配,用于查找能够处理该请求的虚拟主机。如果未找到则交给在 Engine 中 defaultHost 指定的主机处理
appBase="webapps"     :此 Host 的 webapps目录,即指定存放 web 应用程序的目录的路径,默认指向 ROOT 目录下的 index.jsp
unpackWARs="true"     :在启用此 webapps 时是否对 WAR 格式的归档文件先进行展开;默认为 true
autoDeploy="true"     :在 Tomcat 处于运行状态时放置于 appBase 目录中的应用程序文件是否自动进行 部署,默认为 true ;开启自动部署---#####<Context docBase="/usr/local/tomcat/webapps/benet" path="" reloadable="true"/>
docBase="/usr/local/tomcat/webapps/benet"  :设置项目存放路径
path=""               :tomcat把web应用程序映射为root URI路径(相对路径)
reloadable="true"     :在Tomcat运行时,如果WEB-INF/classes和WEB-INF/lib目录中有改变,Tomcat会自动重新加载该WEB应用,但是开启会加重服务器的负载(建议设置为false关闭),默认值为false,我们在调用可以打开,发布后再关闭;如果要更新可以更新完重启tomcat服务
[root@C7-10 webapps]# /usr/local/tomcat/bin/shutdown.sh[root@C7-10 webapps]# /usr/local/tomcat/bin/startup.sh

中本机中修改hosts文件 192.168.2.10 www.benet.com www.biii.com

 c7--10上修改hosts文件

[root@C7-10 webapps]# vim /etc/hosts192.168.2.10 www.benet.com www.biii.com

测试访问:www.benet.com  www.biii.com

如果出现乱码解决方法

(1)HTML页面中:

<head>
......<meta http-equiv=Content-Type content="text/html;charset=utf-8">
......
</head>

(2)JSP页面中:

<%@ page language="java" contentType="text/html;charset=utf-8"pageEncoding="utf-8"%>

Tomcat应用部署相关推荐

  1. 在tomcat下部署两个或多个项目时 log4j和web.xml配置webAppRootKey 的问题(转)

    在tomcat下部署两个或多个项目时 web.xml文件中最好定义webAppRootKey参数,如果不定义,将会缺省为"webapp.root",如下: <!-- 应用路径 ...

  2. 在Tomcat中部署Java Web应用程序几种方式

    在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录.  一.静态部署       静态部署指的是我们在服务器启动之 ...

  3. eclipse下tomcat添加部署Module,Web名称与项目名称不一致的解决方法

    eclipse下tomcat添加部署Module,Web名称与项目名称不一致的解决方法 参考文章: (1)eclipse下tomcat添加部署Module,Web名称与项目名称不一致的解决方法 (2) ...

  4. Intellij IDEA 创建Web项目并在Tomcat中部署运行

    一.创建Web项目 1.File -> New Module,进入创建项目窗口 2.选择Java类型,在 Module name 处输入项目名,点击Next 3.勾选 Web Applicati ...

  5. 如何在tomcat前部署一个nginx

    在tomcat应用已经发布后,如何在tomcat前部署一个nginx,可以正常访问jsp,静态资源(html,css,js) 这里tomcat的端口号是8888 1 upstream morris { ...

  6. IDEA9+Tomcat热部署配置二法

    IDEA9+Tomcat热部署配置 idea9的web开发配置方式与之前的版本发生了大的变化,idea其实也可以像MyEclipse一样自动热部署,不过配置稍微麻烦了一些. 环境: Idea9.03 ...

  7. 在tomcat中部署web项目

    在tomcat中部署web项目 一.静态部署 静态部署指的是我们在服务器启动之前部署我们的程序,只有当服务器启动之后,我们的Web应用程序才能访问.以下3中方式都可以部署:? 1.将PetWeb目录拷 ...

  8. 在tomcat上部署项目,实现类似添加这样的功能之后,tomcat要运行很久,解决办法

    今天在做软件测试作业的时候遇到了这样一个问题 在tomcat上部署项目,实现类似添加这样的功能之后,一大串子代码不停的在滑动,要运行很久,才会结束,之后上网上查询资料,试着将项目删除重新导入之后,就恢 ...

  9. PHP项目部署在tomcat,在Tomcat中部署Web项目的操作方法(必看篇)

    在这里介绍在Tomcat中部署web项目的三种方式: 1.部署解包的webapp目录 2.打包的war文件 3.Manager Web应用程序 一:部署解包的webapp目录 将Web项目部署到Tom ...

  10. 在Tomcat中部署seam工程

    在Tomcat中部署seam工程 众所周知,Tomcat.Resin是servlet的容器,反应迅速,启动时间快,配置简单(Resin反应应该更迅速一些),但如果用到EJB工程的的话,它们就不能胜任了 ...

最新文章

  1. 封装 vue 组件的过程记录
  2. esxi服务器能虚拟多少虚拟机,关于ESXI能虚拟出多少个虚拟机和CPU的关系
  3. 如何实现Spark on Kubernetes?
  4. Android事件分发机制:基础篇:最全面、最易懂
  5. vue完全编程方式与react在书写和运用上的异同
  6. I - Trade Gym - 100212I 网络流
  7. Eclipse安装VJET报错解决办法
  8. 宇宙人工智能计算机程序,由人工智能推理出:整个宇宙会变成一个玄计算机,宇宙是虚拟的...
  9. 对我帮助很大的ESXCLI命令
  10. Python-20-异常处理
  11. php extension,php的extension要开启哪些
  12. ASM 字节码插桩入门
  13. 清华大学计算机科学系王瑀屏,清华大学材料科学与工程系
  14. 全国各省市区县数据整理
  15. 179. Largest Number
  16. FCN训练自己数据集(person-segmentation)、SIFT-FLOW、SBD和VOC实验总结
  17. 基于内容推荐算法html,基于内容的互联网推荐算法
  18. 建模:蒙特卡洛法求多重积分
  19. 在计算机中关闭应用程序,电脑中如何取消点击关机后出现的还需要关闭程序的提示...
  20. 如何高效学习python

热门文章

  1. 2014美国大学计算机专业排名,2014年美国大学计算机专业研究生排名
  2. scanf提取gprmc数据
  3. 水上乐园设备的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  4. 移动端手指滑动的距离
  5. 迅捷PDF转换器如何将PDF文档转成Word
  6. 跟着小哈一起读AHT20温湿度传感器驱动源码
  7. 云计算板块-云计算基础介绍
  8. LeetCode-剑指Offe-32-1-从上到下打印二叉树
  9. 【剑指 Offe】剑指 Offer 17. 打印从1到最大的n位数
  10. SCI论文写作是用主动语态好还是被动语态好?