Java Web开发Tomcat中三种部署项目的方法
- 格式:doc
- 大小:32.00 KB
- 文档页数:3
一、概述在现代互联网时代,Java Web开发已经成为一种非常流行的趋势。
而对于Java Web应用的发布方式,也有多种选择。
本文将介绍Java Web发布的常用方式,包括传统的WAR包发布、容器内部发布和Docker容器化发布等方式。
二、传统的WAR包发布1. WAR包的概念WAR(Web Application Archive)是一种用于打包Web应用程序的文件格式。
它将Web应用的所有相关文件,包括HTML、JSP、Servlet、Java类文件、配置文件等打包成一个文件,并且可以在任何支持Java的服务器上运行。
2. WAR包发布步骤a. 编写Web应用程序,包括前端页面、后端逻辑、配置文件等。
b. 将应用程序打包成WAR文件。
c. 将WAR文件部署到应用服务器中,如Tomcat、Jetty等。
d. 启动应用服务器,访问对应的URL即可访问Web应用。
3. 传统WAR包发布的优缺点优点:传统的WAR包发布方式简单易用,适用于小型应用和传统项目。
缺点:需要手动管理服务器,不够灵活,不适合大型分布式系统。
三、容器内部发布1. 容器的概念容器(Cont本人ner)是一种用于打包、分发和运行应用程序的技术。
它可以将应用程序及其所有依赖项打包在一起,并且提供了统一的部署和运行环境。
2. 容器内部发布步骤a. 编写Dockerfile文件,定义容器镜像的构建步骤。
b. 使用Docker命令构建镜像。
c. 使用Docker命令运行容器。
d. 在容器中部署Java Web应用。
3. 容器内部发布的优缺点优点:容器化发布方便部署、管理和扩展,适用于微服务架构和大型分布式系统。
缺点:需要学习Docker和容器化技术,对于传统项目的迁移有一定的学习成本。
四、总结在Java Web应用发布方式的选择上,可以根据具体项目的规模和需求来进行选择。
对于传统的小型项目,可以选择传统的WAR包发布方式;对于大型分布式系统和微服务架构,容器化发布方式更为适合。
部署准备1. 系统环境WINDOWS 2000 SERVER2. 数据库ORACLE9i3. 安装包JDK安装文件:j2sdk-1_4_2-windows-i586.exeTOMCAT 安装文件:jakarta-tomcat-5.0.28.exe数据库文件:v60c.dmp应用程序包:systemframe说明文本:readme.txt(注明导出数据库文件的服务名)部署实施一、配置JDK1. 安装JDK建议安装1.4.0以上版本的JDK,以配合5.0以上版本的TOMCAT。
以J2SDK1.4.2的安装为例,执行安装包中的J2SDK1.4.2安装程序,自定义路径,假定安装路径为:C:\j2sdk1.4.2。
以下环境变量配置过程中,变量值的设定均以此路径为准,实际安装时将其替换为实际安装路径。
2. 配置环境变量1)配置路径在桌面上或开始菜单中右键点击“我的电脑”图标=>点击“属性”=>选择“高级”页面=>点击“环境变量”按钮,如图1-1。
图1-1 系统属性-“高级”页面在环境变量窗口中点击系统变量中的“新建”按钮,新建一个环境变量;或者选中某个变量,点击“编辑”按钮,对该变量进行修改,如图1-2。
图1-2 环境变量窗口图1-3 编辑系统变量窗口2)添加环境变量(实施部署可以只配置第一个变量)如果已经安装过JDK,则查看环境变量中有没有上述变量。
如果没有或变量值跟上述不符,重新设置以上变量。
二、配置TOMCAT1. 安装TOMCAT运行安装包中TOMCAT5.0.28.exe,安装TOMCAT。
注意,如果使用TOMCAT5.5.9版本,需要JRE1.5。
按照提示运行安装程序,在安装类型的下拉菜单中选择“custom”,在窗口的安装树里选中Service,即作为Windows服务来运行。
TOMCA T图2-1 TOMCA T安装类型选择页面指定TOMCAT的安装目录,如图2-2,为了方便起见,这里选择安装在C:\tomcat5.0根目录下。
web应⽤部署(Tomcat,springboot部署⽅式)核⼼内容1.在Tomcat中有四种部署Web应⽤的⽅式,分别是:(1)利⽤Tomcat⾃动部署(项⽬直接拷贝OR WAR包拷贝到webapps下)(2)利⽤控制台进⾏部署(tomcat的manager控制台的deploy区域)(3)增加⾃定义的Web部署⽂件(%Tomcat_Home%\conf\Catalina\localhost\AppName.xml)(4)⼿动修改%Tomcat_Home%\conf\server.xml⽂件来部署web应⽤2.SpringBoot WEB项⽬两种发布和部署⽅式(1)通过WAR包(2)通过JAR包(官⽹推荐)3.springboot有3中热部署⽅式:(1)使⽤springloaded配置pom.xml⽂件,使⽤mvn spring-boot:run启动(2)使⽤springloaded本地加载启动,配置jvm参数 -javaagent:<jar包地址> -noverify(3)使⽤devtools⼯具包,操作简单,但是每次需要重新部署1. Tomcat中有四种部署Web应⽤的⽅式第⼀种⽅式:利⽤Tomcat⾃动部署利⽤Tomcat⾃动部署⽅式是最简单的、最常⽤的⽅式。
若⼀个web应⽤结构为D:\workspace\WebApp\AppName\WEB-INF\*,只要将⼀个Web应⽤的WebContent级的AppName直接扔进%Tomcat_Home%\webapps⽂件夹下,系统会把该web应⽤直接部署到Tomcat中。
所以这⾥不再赘述。
第⼆种⽅式:利⽤控制台进⾏部署若⼀个web应⽤结构为D:\workspace\WebApp\AppName\WEB-INF\*,利⽤控制台进⾏部署的⽅式如下:进⼊tomcat的manager控制台的deploy区域——在Context path中键⼊"XXX"(可任意取名)——在WAR or Directory URL:键⼊D:\workspace\WebApp\AppName (表⽰去寻找此路径下的web应⽤)——点击deploy按钮。
一、下载CXF包,apache-cxf-2.6.1.tar.gz,解压后得到文件夹apache-cxf-2.6.1图1二、创建服务端1、新建Dynamic Web ProjectFile—New—Project—Web—Dynamic Web Project;工程命名后Next,将“Default output folder”改为WebContent/WEB-INF/classes,Next;勾选“Generate web.xml deployment discriptor”。
图2图3图42、将解压后apache-cxf-2.6.1文件夹lib文件夹中的JAR文件导入工程下WebContent/WEB-INF/lib中,或直接复制到相应文件夹下,刷新工程。
3、创建服务接口工程右键—New—Interface,添加代码:package com.yxj;import javax.jws.WebService;import javax.jws.WebParam;import javax.jws.WebMethod;@WebServicepublic interface IcxfWB {@WebMethodString sayHello(@WebParam(name="name") String name);}说明:“@WebService”标记表示该接口是一个WebService服务,@ WebMethod标记表示WebService中的方法;@WebParam(name="paramName")表示方法中的参数,name属性限制了参数的名称,若没有指定该属性,参数将会被重命名。
4、创建服务实现类package com.yxj;public class CxfWBImpl implements IcxfWB {public String sayHello(String name) {return"Hello "+name;}}5、编辑WebContent/WEB-INF下web.xml文件<?xml version="1.0"encoding="UTF-8"?><web-app xmlns:xsi="/2001/XMLSchema-instance"xmlns="/xml/ns/javaee"xmlns:web="/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID"version="3.0"><display-name>CXFService</display-name><context-param><param-name>contextConfigLocation</param-name><param-value>WEB-INF/service-beans.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><servlet><servlet-name>CXFServlet</servlet-name><servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class></servlet><servlet-mapping><servlet-name>CXFServlet</servlet-name><url-pattern>/*</url-pattern></servlet-mapping></web-app>其中,<context-param>指定了spring的相应配置,在<param-value>中指定了配置文件的位置;<servlet-mapping>下的<url-pattern>指明了服务访问时地址的形式,“/*”代表URL地址中,包名称后直接跟服务endpoint地址,若指明<url-pattern>为“/webservice/*”,则URL为包名/ webservice/endpoint?wsdl。
T-conference会议在线注册系统安装部署一、JDK1.5安装1.1 本文选择jdk1.5即jdk-1_5_0_06-windows-i586-p.exe做为例子。
双击运行exe 文件,出现以下界面:2.2等一分钟左右,出现下图所示:3. 选择“我接受该许可协议”单击下“下一步”4. 单击“更改…”,选择保存目录。
如“E:\Program Files\code\Java\Jdk1.5”,如果不更改,默认路径也可以。
单击“下一步”,继续。
5. 稍等一会,弹出如下所示的对话框:6. 单击“更改…”,选择保存目录。
如“E:\Program Files\code\Java\Jre1.5”,如果不更改,默认路径也可以。
单击“确定”然后单击“下一步”,继续,出现对话框如下图所示。
7.单击“下一步”。
8.单击完成,结束安装。
3测试安装效果3.1开始->运行(cmd)->弹出dos窗口如下所示3.2输入java(回车),如果运行结果如下图所示,说明安装成功。
3.3输入javac(回车)出现如下图所示结果,这说明我们还没有设置环境变量。
4环境变量配置4.1新建环境变量JAVA_HOME“我的电脑”—>右击—>“属性”—>“高级”—>“环境变量”,弹出如下图所示:单击系统变量中“新建”按钮,如下图所示:“变量名”为:JAVA_HOME“变量值”为:E:\Program Files\code\Java\Jdk1.5 (jdk的安装路径)。
如下图所示:单击“确定”。
以“JAVA_HOME”命名的环境变量新建完成。
4.2新建环境变量CLASSPATH(步骤和上一步类似)“变量名”为:CLASSPATH“变量值”为:%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 如下图所示:单击“确定”,CLASSPATH新建完成。
4.3编辑环境变量Path在“系统变量”中,选中Path项,单击下面的“编辑”:在“变量值”文本框的最前面加入“%JAVA_HOME%\bin;”如图所示:单击“确定”,完成环境变量配置。
tomcat-embed 9 用法使用Tomcat Embed 9Tomcat是一个流行的开源Java Servlet容器,为开发者提供了一个服务器环境来运行Java Web应用程序。
Tomcat Embed 9是Tomcat 9的强大的嵌入式版本,它允许将Tomcat作为Java应用程序的一部分进行部署。
本文将详细介绍如何使用Tomcat Embed 9。
第一步:下载Tomcat Embed 9首先,您需要从Apache Tomcat官方网站下载Tomcat Embed 9的最新版本。
访问第二步:配置pom.xml文件在您的Java项目的根目录下,您需要创建一个名为pom.xml的Maven 项目文件。
在这个文件中,您需要添加Tomcat Embed 9的依赖项。
请确保在dependencies标签内添加以下代码:<dependency><groupId>org.apache.tomcat.embed</groupId><artifactId>tomcat-embed-core</artifactId><version>9.0.0</version></dependency>这将会将Tomcat Embed 9的核心组件添加到您的项目中。
第三步:编写代码在您的Java项目中,您需要编写代码来配置和启动Tomcat Embed 9。
您需要创建一个类,例如App.java,然后将以下代码添加到该类中:import org.apache.catalina.startup.Tomcat;import java.io.File;import javax.servlet.ServletException;public class App {public static void main(String[] args) throws ServletException { String webappDirLocation = "src/main/webapp/";Tomcat tomcat = new Tomcat();tomcat.setPort(8080);tomcat.addWebapp("/", newFile(webappDirLocation).getAbsolutePath());tomcat.start();tomcat.getServer().await();}}上述代码通过设置端口号、添加Web应用程序以及启动Tomcat来配置Tomcat Embed 9。
Tomcat 部署项目的三种方法1、下载Tomcat 服务器官网下载地址:/回到顶部2、启动并部署Tomcat 服务器①、解压tomcat 安装包到一个非中文目录下②、配置环境变量。
JAVA_HOME(指向JDK 安装的根目录)③、双击apache-tomcat-6.0.16\bin 目录下的startup.bat,启动服务器(如果一闪而过,那就是没有配置JAVA_HOME 的环境变量)④、在浏览器中输入http://localhost:8080注意:Tomcat 启动不了的时候注意配置JAVA_HOME:C:\ProgramFiles\Java\jdk1.6.0_43这是安装JDK的根目录回到顶部3、Tomcat 的目录结构4、部署项目的第一种方法(项目直接放入webapps 目录中)1、将编写并编译好的web项目(注意要是编译好的,如果是eclipse,可以将项目打成war 包放入),放入到webapps 中2、启动tomcat服务器(双击apache-tomcat-6.0.16\bin 目录下的startup.bat,启动服务器)3、在浏览器输入:http://localhost:8080/项目名/访问的文件名5、部署项目的第二种方法(修改conf/server.xml 文件)①、打开tomcat下conf/server.xml,在1path:浏览器访问时的路径名docBase:web项目的WebRoot所在的路径,注意是WebRoot的路径,不是项目的路径。
其实也就是编译后的项目reloadble:设定项目有改动时,tomcat是否重新加载该项目②、双击startup.bat,启动tomcat 服务器,然后在浏览器输入访问的项目名称路径注意:如果你配置的path="/xx",那么访问的时候就是这样:6、部署项目的第三种方法(apache-tomcat-7.0.52\conf\Catalina\localhost )①、进入到apache-tomcat-7.0.52\conf\Catalina\localhost 目录,新建一个项目名.xml 文件②、在那个新建的xml 文件中,增加下面配置语句(和上面的是一样的,但是不需要path 配置,加上也没什么用)1③、在浏览器输入路径:localhost:8080/xml文件名/访问的文件名总结:①、第一种方法比较普通,但是我们需要将编译好的项目重新copy 到webapps 目录下,多出了两步操作②、第二种方法直接在server.xml 文件中配置,但是从tomcat5.0版本开始后,server.xml 文件作为tomcat 启动的主要配置文件,一旦tomcat 启动后,便不会再读取这个文件,因此无法再tomcat 服务启动后发布web 项目③、第三种方法是最好的,每个项目分开配置,tomcat 将以\conf\Catalina\localhost 目录下的xml 文件的文件名作为web 应用的上下文路径,而不再理会中配置的path 路径,因此在配置的时候,可以不写path。
使用myeclipse创建web程序并在tomcat发布MyEclipse是一款基于Eclipse开发环境的IDE,主要用于Java开发。
下面将介绍如何使用MyEclipse创建Web程序,并将其发布到Tomcat服务器上。
首先,确保已安装并配置了MyEclipse和Tomcat。
如果还没有,请按照官方文档指引进行安装和配置。
1. 打开MyEclipse,点击“File”菜单,选择“New” -> “Project”。
在弹出窗口中选择“Java EE” -> “Dynamic Web Project”,然后点击“Next”。
2. 在新建项目对话框中,输入项目名称、目标运行环境和目标服务器。
选择所需的Java版本和动态Web模块版本。
点击“Next”。
3. 在Web模块设置对话框中,可以选择需要的配置,如上下文根、项目结构等。
点击“Finish”完成项目的创建。
4. 创建完毕后,将在项目导航器中看到项目的目录结构。
其中,WEB-INF目录是Web应用的核心目录。
可以在其中创建html、jsp、css、js等文件。
5. 可以通过右键单击项目导航器中的“WebContent”目录,选择“New” -> “Other”来创建其他类型的文件。
6. 开发Web应用程序时,可以通过右键单击项目导航器中的项目,选择“Run As” -> “Run on Server”来测试项目。
选择已配置好的Tomcat服务器,点击“Finish”。
8. 如果需要在本地Tomcat服务器上发布Web应用程序,可以将项目右键单击项目导航器中的项目,选择“Export” -> “WAR File”,然后按照提示将项目导出为WAR文件。
9. 导出WAR文件后,将文件复制到Tomcat服务器的webapps目录下。
然后启动Tomcat服务器。
以上就是使用MyEclipse创建Web程序,并将其发布到Tomcat服务器上的基本步骤。
第一种方法:在tomcat 中的conf 目录中,在server.xml 中的,<host/>节点中添加:<Contextpath="/hello" docBase="D:eclipse3.2.2forwebtoolsworkspacehelloWebRoot" debug="0" privileged="true"></Context>至于Context 节点属性,可详细见相关文档。
第二种方法:将web 项目文件件拷贝到webapps 目录中。
第三种方法:很灵活,在conf 目录中,新建 Catalina (注意大小写)\localhost 目录,在该目录中新建一个xml 文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,该xml 文件的内容为: <Contextpath="/hello" docBase="D:eclipse3.2.2forwebtoolsworkspacehelloWebRoot" debug="0" privileged="true"> </Context>第3个方法有个优点,可以定义别名。
服务器端运行的项目名称为path ,外部访问的URL 则使用XML 的文件名。
这个方法很方便的隐藏了项目的名称,对一些项目名称被固定不能更换,但外部访问时又想换个路径,非常有效。
第2、3还有优点,可以定义一些个性配置,如数据源的配置等。
还有一篇 详细的1、直接放到Webapps 目录下Tomcat 的Webapps 目录是Tomcat 默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。
也可以将JSP 程序打包成一个war 包放在目录下,服务器会自动解开这个war 包,并在这个目录下生成一个同名的文件夹。
tomcat部署(配置⽂件)⼀、启动tomcat服务器的⽅式1. 直接到tomcat服务器的bin⽬录下双击startup.bat2. 通过cmd进⼊bin⽬录,输⼊命令startup.bat1. 但这时会出现的问题是,服务器启动程序只是⼀闪⽽过,为什么呢?其实问题就是,没有Java的JDK,我们需要到环境变量配置系统变量JAVA_HOME。
我们都知道,1.5 以上的版本的JDK只需要配置path变量就可以了。
但是如果你想在机器上使⽤tomcat的话,你就必须配置JAVA_HOME,指向JDK的安装位置。
配置好之后我们就可以正常打开tomcat了,双击startup.bat,tomcat正常启动。
启动完成后,我们在浏览器地址栏上输⼊:http://localhost:8080,会得到以下的界⾯⼆、配置环境变量我们需要配置系统变量:ATALINA_BASE:指向tomcat的安装位置CATALINE_HOME:指向tomcat的安装位置Path:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin三、配置tomcat的端⼝号tomcat的默认服务端⼝是8080。
可以通过配置⽂件来改变该服务端⼝,甚⾄通过修改配置⽂件让tomcat同时在多个端⼝提供服务tomcat的配置⽂件都放在conf⽬录下。
使⽤⽆格式⽂本编辑器打开该⽬录下的server.xml⽂件,定位到68⾏处<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />其中,port="8080"就是web应⽤的服务端⼝,将8080改为任意端⼝,建议使⽤1024以上的端⼝,避免与公⽤端⼝冲突。
tomcat下如何配置jsp、servlet和bean的问题:第一步:下载j2sdk和tomcat:到sun官方站点(/j2se/1.4.2/download.html)下载j2sdk,注意下载版本为Windows Offline Installation的SDK,同时最好下载J2SE 1.4.2 Documentation,然后到tomcat官方站点(/dist/jakarta/tomcat-4/)下载tomcat(下载最新4.1.x版本的tomcat);第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。
1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.4.2):JAVA_HOME=c:\j2sdk1.4.2classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)path=%JAVA_HOME%\bin接着可以写一个简单的java程序来测试J2SDK是否已安装成功:public class Test{public static void main(String args[]){System.out.println("This is a test program.");}}将上面的这段程序保存为文件名为Test.java的文件。
然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令javac Test.javajava Test此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。
centos7使⽤tomcat部署javaweb项⽬1.下载⼆进制安装包2.下载jdk和配置环境变量这⾥就不再多描述不清楚,可以3.在centos7下安装 tomcat#切换到/usr/local ⽬录下解压安装[root@localhost local]# cd /usr/local/[root@localhost local]# tar xf apache-tomcat-8.0.50.tar.gz#启动tomcat 脚本为startup.sh[root@localhost local]# cd apache-tomcat-8.0.50/[root@localhost apache-tomcat-8.0.50]# ./bin/startup.shUsing CATALINA_BASE: /usr/local/apache-tomcat-8.0.50Using CATALINA_HOME: /usr/local/apache-tomcat-8.0.50Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.0.50/tempUsing JRE_HOME: /usr/lib/jvm/javaUsing CLASSPATH: /usr/local/apache-tomcat-8.0.50/bin/bootstrap.jar:/usr/local/apache-tomcat-8.0.50/bin/tomcat-juli.jar Tomcat started.#登陆⽹页验证如果不能显⽰,估计是防⽕墙,要么关闭防⽕墙或者防⽕墙设置开放8080端⼝的规则。
#关闭tomcat脚本为shutdown.sh[root@localhost apache-tomcat-8.0.50]# ./bin/shutdown.shUsing CATALINA_BASE: /usr/local/apache-tomcat-8.0.50Using CATALINA_HOME: /usr/local/apache-tomcat-8.0.50Using CATALINA_TMPDIR: /usr/local/apache-tomcat-8.0.50/tempUsing JRE_HOME: /usr/lib/jvm/javaUsing CLASSPATH: /usr/local/apache-tomcat-8.0.50/bin/bootstrap.jar:/usr/local/apache-tomcat-8.0.50/bin/tomcat-juli.jar 4.编写⼀个tomcat的启动脚本并加⼊service系统服务[root@localhost apache-tomcat-8.0.50]# cat /etc/rc.d/init.d/tomcat#!/bin/bash#chkconfig: 23451090#description: Starts and Stops the Tomcat daemon.#by benjamin###############################################Startup script for Tomcat on Linux#filename tomcat.sh#Make sure the Java and the tomcat installation path has been added to the PATHJAVA_HOME=/usr/lib/jvm/java #JDK安装⽬录CATALINA_HOME=/usr/local/apache-tomcat-8.0.50 #tomcat安装⽬录export JAVA_HOMEexport CATALINA_HOME###############################################start_tomcat=$CATALINA_HOME/bin/startup.sh #tomcat启动⽂件stop_tomcat=$CATALINA_HOME/bin/shutdown.sh #tomcat关闭⽂件start() {echo -n "Starting tomcat: "${start_tomcat}echo"tomcat start ok."}stop() {echo -n "Shutting down tomcat: "${stop_tomcat}echo"tomcat stop ok."}# See how we were calledcase"$1"instart)start;;stop)stop;;restart)stopsleep10start;;*)echo"Usage: $0 {start|stop|restart}"esacexit 0#给启动脚本授权chmod 755 /etc/rc.d/init.d/tomcat#将tomcat加⼊到系统服务中chkconfig --add /etc/rc.d/init.d/tomcat# 在tomcat中的catalina.sh⽂件中添加如下变量vim /usr/local/apache-tomcat-8.0.50/bin/catalina.sh#在配置⽂件中加⼊如下变量export JAVA_HOME=/usr/lib/jvm/java #javajdk的安装路径,使⽤echo $JAVA_HOME命令可以读取export CATALINA_HOME=/usr/local/apache-tomcat-8.0.50export CATALINA_BASE=/usr/local/apache-tomcat-8.0.50export CATALINA_TMPDIR=/usr/local/kencery/apache-tomcat-8.0.50/temp# 验证是否已加⼊service[root@localhost apache-tomcat-8.0.50]# service tomcat startStarting tomcat: Using CATALINA_BASE: /usr/local/apache-tomcat-8.0.50Using CATALINA_HOME: /usr/local/apache-tomcat-8.0.50Using CATALINA_TMPDIR: /usr/local/kencery/apache-tomcat-8.0.50/tempUsing JRE_HOME: /usr/lib/jvm/javaUsing CLASSPATH: /usr/local/apache-tomcat-8.0.50/bin/bootstrap.jar:/usr/local/apache-tomcat-8.0.50/bin/tomcat-juli.jar Tomcat started.tomcat start ok.5.设置tomcat开机⾃启动#在开机⾃启动⽂件中导⼊ tomcat的相关路径和所依赖的jdk相关路径[root@localhost ~]# cat /etc/rc.d/rc.local#!/bin/bash# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES## It is highly advisable to create own systemd services or udev rules# to run scripts during boot instead of using this file.## In contrast to previous versions due to parallel execution during boot# this script will NOT be run after all other services.## Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure# that this script will be executed during boot.touch /var/lock/subsys/localexport JAVA_HOME=/usr/lib/jvm/javaexport CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/binexport CATALINA_HOME=/usr/local/apache-tomcat-8.0.50/#tomcat⾃启动$CATALINA_HOME/bin/startup.sh# reboot后检查8080端⼝是否还在,在的话证明开机启动设置ok[root@localhost ~]# netstat -lntup|grep8080tcp6 00 :::8080 :::* LISTEN 625/java6.给tomcat⽹页设置登陆帐号密码b. 在tomcat安装包下⾯的conf⽂件下含有⼀个tomcat-usrs.xml⽂件,修改此⽂件即可,命令如下:vim tomcat-users.xml<role rolename="admin-gui"/><role rolename="manager-gui"/><user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>#如若我们现在想访问tomcat中图形化管理应⽤的功能,也就是Manager App,就需要指定manager-gui的权限,如果想访问host manager就必须指定admin-gui权限c.重启tomcat[root@localhost conf]# service tomcat restartd ⽹页验证7.使⽤eclipse打包java web项⽬以上所有⼯作完成之后,我们需要将⾃⼰要发布的项⽬打包,那么在MyEclipse中如何打包项⽬呢?a. 随便创建⼀个JavaWeb项⽬,如图所⽰:b. 在项⽬上单击右键选择【Export】-【MyEclipse JavaEE】⽂件夹-【WAR file】,单击【Next>】如图所⽰,选择存放打包程序的地址,单击【Finish】完成,即实现了打包,在完成之后可以去你打包的地⽅看⼀下是否打包成功。
详解CentOS安装tomcat并且部署JavaWeb项⽬1.准备⼯作b.因为tomcat的安装依赖于Java jdk,所以我们需要在判断linux系统下⾯是否安装jdkb.1 使⽤(Xshell)连接到Linux系统下⾯c.操作需要的软件以及系统如下:虚拟机(Vmware),虚拟机中安装的Centos系统,Xshell,Xftp,Tomcat8.0,MyEclipse开发的WebDemo,apache-tomcat-8.0.29.tar.gz。
2.在Linux下安装Tomcat8.0a.通过上⾯准备⼯作之后,我们现在已经拥有了可以安装和发布的环境,如果没有,请⾃⾏查询安装。
b.然后在Xshell中使⽤命令跳转到local下⾯创建者⾃⼰的⽂件夹:kenceryb.1 cd usr/local/ mkdir kencery cd kencery/c.然后使⽤Xftp将tomcat复制到kencery⽂件夹下⾯,如图所⽰:d.将上传的Tomcat8.0解压,解压之后重命名为tomcat,如图所⽰:d.1 tar -zxv -f apache-tomcat-8.0.29.tar.gzd.2 mv apache-tomcat-8.0.29 tomcatd.3 cd tomcate.解析完成后即可以启动Tomcat,检查是否安装成功,命令如下,如图所⽰: /usr/local/kencery/tomcat/bin/startup.shf.在Linux下⾯的防⽕墙⾥⾯开放8080端⼝会⽤命令如下:f.1 vim /etc/sysconfig/iptablesf.2 打开之后按键盘(i)进⼊编辑模式,写⼊开发8080端⼝,如图所⽰: f.3 写完之后我们按键盘(ESC)按钮退出,然后按(:wq)保存并且关闭Vim。
g.之后重启防⽕墙,命令如下: service iptables restarti.停⽌Tomcat的命令是:/usr/local/tomcat/bin/shutdown.sh3.Linux中设置tomcat的服务器启动和关闭a.如2所⽰,我们已经完成了对tomcat的安装,解析来就可以部署项⽬,但是这⾥存在⼀个问题,那就是Linux的系统和重启我们每次都需要接路径并且执⾏命令,那么我们可以设置横service的形式来实现这个功能。
从eclipse导⼊Web项⽬并且部署到tomcat准备⼯作:在开始下⾯⼯作前,⾸先要配置好jdk、Tomcate、Maven等环境。
⼀、⾸先配置好Eclipse项⽬的Tomcat Server【1】打开Eclipse,单击“Window”菜单,选择下⽅的“Preferences”。
【2】单击“Server”选项,选择下⽅的“Runtime Environments”【3】点击“Add”添加Tomcat。
【4】点击“Next”,选中⾃⼰安装的Tomcat路径。
【5】点击“Finish”完成Tomcat Server 的配置。
⼆、然后导⼊Java Web项⽬并且在Tomcat Server中运⾏【1】打开eclipse,单击左上⾓的File,File–>Import【2】打开General–>Existing projects into Workspace–>Browse(选择需要打开的项⽬);注意:记得勾选下⽅copy project into project,⽬的是为了复制⼀份项⽬到⼯作区间,这样就不会造成原项⽬被修改,如果直接开发那就不需要,直接操作源⽂件即可。
【注意】如果是超⼤项⽬,复制项⽬则耗时⽐较长!【3】所有不是在⾃⼰电脑上开发的web项⽬,都需要重新配置⼀下,单击项⽬右键,打开Projects【快捷键:alt+enter】【4】打开Java Bulid Path–>Libralies–>选择JRE System Library [jre 1.8]–>Edit–>选择中间这个Alternate JRE–>选择本地配置的jre版本【5】继续在Project页⾯,找到Java compiler 直接选择apply–>Compiler compliance level 选择你⾃⼰的版本,我的是安装的jdk1.8,你们的是什么版本就选什么版本;【6】单击Project Facts -->如下图,java选择⾃⼰的jdk版本,直接点击ok,右下⾓会有进度条编译项⽬,稍等就⾏【7】如果项⽬包上还有问题,有可能是因为你的Tomcat⾥的severlt的包没有识别;怎么解决呢?就是在你项⽬单击右键,打开Project–》选择Java Bulid Path–>打开Libralies --》选择Add External JARs 打开,找到你安装tomecat解压的那个⽂件夹,打开⼦⽬录下的lib⽂件夹,找到servlet-api.jar 直接选择打开即可,最后点击ok,项⽬就成功导⼊了!【8】调试阶段,针对不同的项⽬可能会在不同版本的Tomcat下运⾏,所以如果报诸如的tomcat⽆法运⾏的错误,是由于引⼊了tomcat不匹配本地tomcat版本的servlet.api.jar报错,引⽤中的是表⽰当前环境没有配置tomcat8,所以还需要把项⽬配置成本地安装的tomcat版本Description Resource Path Location Type Target runtime Apache Tomcat v8.0 is not defined. AttendanceManager UnknownFaceted Project Problem具体操作如下:选择本地的tomcat版本;【9】接着找到servers双击打开tomcat ,打开tomcat的配置项,这个⼀般都是⾃动配好的,选择本地服务器,修改以下两个配置项,Tomcat保持启动状态,localhost;记得Server Locations选第⼆个;最后点击ok,web项⽬就可以在⾃⼰的本地跑起来了。
【Tomcat】web应⽤的部署以及发布⼀、web项⽬⽂件的⽬录结构在tomcat中所有的应⽤都是放置在CATALINA_HOME/webapps下。
由于Servlet2.2之后的版本规范规定,tomcat中应⽤的⽬录结构需要满⾜固定的格式,这样便于规范⼀致性。
放置在webapps下的⽂件通常是两种格式:⼀种压缩好的项⽬⽂件,⽐如war包!⼀种是正常的⽂件夹。
如果是war包项⽬⽂件,tomcat会在启动后⾃动的把它解压缩到当前⽬录,变成可访问的⽂件夹。
项⽬⽂件的⽬录结构如下:/apps|------/WEB-INF|------/classes 编译的字节码⽂件|------/lib 需要的类库,jar包------web.xml|------/META-INF------context.xml------普通前端页⾯,jsp等等1. web.xml ⽂件:这个⽂件⽐较重要,也叫做部署描述符,⽤于配置web应⽤的相关信息。
⽐较常⽤的是监听器,过滤器,servlet,session管理,初始化参数等。
需要注意的是:注意相同项的配置顺序,tomcat会按照配置顺序进⾏执⾏或者加载。
需要注意的地⽅⽐如过滤器,还有⼀些页⾯的加载。
2. classes⽂件夹:放置编译出的.class⽂件,⽐如你定义的某个包:com.test.hello.java 经过tomcat的启动发布后,就会在响应的应⽤下的classes⽂件夹下找到com/test/hello.class⽂件。
类似的servlet, bean, 普通的java类都会编译到此处。
3. lib ⽂件夹:放置项⽬应⽤的jar包。
⽐如使⽤了SSH,在项⽬引⽤了jar包,最后都会放在这⾥。
这个⽂件夹下的jar⽂件是不会编译到classes⽂件夹下的。
详细信息参考tomcat的类加载机制。
这个⽂件夹下的jar包是属于应⽤⾃⼰使⽤的。
tomcat根⽬录下还有⼀个lib⽂件夹,这⾥⾯存放着基本的servlet和jsp需要的jar包。
1.配置系统管理〔Admin Web Application〕大多数商业化的J2EE效劳器都提供一个功能强大的管理界面,且大都采用易于理解的Web应用界面。
Tomcat按照自己的方式,同样提供一个成熟的管理工具,并且丝毫不逊于那些商业化的竞争对手。
Tomcat的Admin Web Application最初在4.1版本时出现,当时的功能包括管理context、data source、user和group等。
当然也可以管理像初始化参数,user、group、role的多种数据库管理等。
在后续的版本中,这些功能将得到很大的扩展,但现有的功能已经非常实用了。
Admin Web Application被定义在自动部署文件:CATALINA_BASE/webapps/admin.xml 。
〔译者注:CATALINA_BASE 即tomcat安装目录下的server目录〕你必须编辑这个文件,以确定Context中的docBase参数是绝对路径。
也就是说,CATALINA_BASE/webapps/admin.xml 的路径是绝对路径。
作为另外一种选择,你也可以删除这个自动部署文件,而在server.xml文件中建立一个Admin Web Application的context,效果是一样的。
你不能管理Admin Web Application这个应用,换而言之,除了删除CATALINA_BASE/webapps/admin.xml ,你可能什么都做不了。
如果你使用UserDatabaseRealm〔默认〕,你将需要添加一个user以及一个role到CATALINA_BASE/conf/tomcat-users.xml 文件中。
你编辑这个文件,添加一个名叫“admin〞的role 到该文件中,如下:<role name="admin"/>你同样需要有一个用户,并且这个用户的角色是“admin〞。
Java Web开发Tomcat中三种部署项目的方法
第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:<Context path="/hello" docBase="D:\eclipse3.2.2forwebtools\workspace\hello\WebRoot" debug="0" privileged="true"> </Context> 至于Context 节点属性,可详细见相关文档。
第二种方法:将web项目文件件拷贝到webapps 目录中。
第三种方法:很灵活,在conf目录中,新建Catalina(注意大小写)\localhost目录,在该目录中新建一个xml文件,名字可以随意取,只要和当前文件中的文件名不重复就行了,该xml文件的内容为:<Context path="/hello" docBase="D:\eclipse3.2.2forwebtools\workspace\hello\WebRoot" debug="0" privileged="true"> </Context> 第3个方法有个优点,可以定义别名。
服务器端运行的项目名称为path,外部访问的URL则使用XML的文件名。
这个方法很方便的隐藏了项目的名称,对一些项目名称被固定不能更换,但外部访问时又想换个路径,非常有效。
第2、3还有优点,可以定义一些个性配置,如数据源的配置等。
1、直接放到Webapps目录下
Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。
也可以将JSP程序打包成一个war包放在目录下,服务器会自动解开这个war 包,并在这个目录下生成一个同名的文件夹。
一个war包就是有特性格式的jar包,它是将一个Web程序的所有内容进行压缩得到。
具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse、NetBeans、ant、JBuilder 等。
也可以用cmd 命令:jar -cvf applicationname.war package.*;
甚至可以在程序执行中打包:try{ string strjavahome = system.getproperty("java.home"); strjavahome = strjavahome.substring(0,stindexof(\\))+"\\bin\\";
runtime.getruntime().exec("cmd /c start "+strjavahome+"jar cvf hello.war c:\\tomcat5.0\\webapps\\root\\*"); } catch(exception e){system.out.println(e);}
webapps这个默认的应用目录也是可以改变。
打开Tomcat的conf目录下的server.xml文件,找到下面内容:<Host name="localhost" debug="0" appBase="webapps" unpackW ARs="true" autoDeloy="true" xmlValidation="falase" xmlNamespaceAware="false">
2、在server.xml中指定
在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml 中新建Context里部署一个JSP应用程序。
打开server.xml文件,在Host标签内建一个Context,内容如下。
<Context path="/myapp" reloadable="true" docBase="D:\myapp" workDir="D:\myapp\work"/> 其中path是虚拟路径,docBase是JSP应用程序的物理路径,workDir是这个应用的工作目录,存放运行是生成的于这个应用相关的文件。
3、创建一个Context文件
以上两种方法,Web应用被服务器加载后都会在Tomcat的conf\catalina\localhost目录下生成一个XML文件,
其内容如下:<Context path="/admin" docBase="${catalina.home}/server/webapps/admin" debug="0" privileged="true"></Context>可以看出,文件中描述一个应用程序的Context信息,其内容和server.xml中的Context信息格式是一致的,文件名便是虚拟目录名。
您可以直接建立这样的一个xml文件,放在Tomcat的conf\catalina\localhost目录下。
例子如下:注意:删除一个Web应用同时也要删除webapps下相应的文件夹祸server.xml中相应的Context,还要将Tomcat的conf\catalina\localhost目录下相应的xml文件删除。
否则Tomcat 仍会岸配置去加载。
tomcat部署web应用主要有以下几种方式:
1.拷贝你的W AR文件或者你的web应用文件夹(包括该web的所有内容)到$CATALINA_BASE/webapps目录下。
2.为你的web服务建立一个只包括context内容的XML片断文件,并把该文件放到
$CATALINA_BASE/webapps目录下。
这个web应用本身可以存储在硬盘上的任何地方。
这种context片断提供了一种便利的方法来部署web应用,你不需要编辑server.xml,除非你想改变缺省的部署特性,安装一个新的web应用时不需要重启动Tomcat。
3.同方法2,只是将context片断放在CA TALINA_BASE\conf\Catalina\localhost目录下.这种方法比方法2>要有效,笔者经过多次实验发现方法2不如后面这种方法好用.前者多次出现系统打不开的情况.
4.直接在server.xml中</Host>前加上Context片断,使用这种方法时,tomcat会自动在CA TALINA_BASE\conf\Catalina\localhost目录下生成一个文件片断.方法同方法3具有同样效果.这种方式需要将ROOT目录删除才行.
另外,为了让tomcat只运行conf/server.xml中指定的web应用,可以有以下几种办法
实现一:
1)将要部署的WEB应用放在webapps以外的路径, 并在server.xml相应的context中的docBase指定.
2)删除webapps中的所有文件夹, 以及conf/catalina/localhost下所有xml文件. 注: webapps是server.xml中的Host元素的appBase属性的值.
实现二:
1) 修改server.xml中Host元素的属性, 添加或修改: deployXML="false" deployOnStartup="false" autoDeploy="false"
2) 含义: deployXML="false": 不部署conf/catalina/localhost下的xml相应的WEB应用deployOnStartup="false" : tomcat启动时, 不部署webapps下的所有web应用autoDeploy="false": 避免tomcat在扫描改动时, 再次把webapps下的web应用给部署进来.。