注:本人使用的是Tomcat9.0以及MyEclipse2017版。
但是其中有不分讲解的图片是借用http://blog.csdn.net/qq_25827845/article/details/53982209的图片。
因此也推荐大家看该文章。嘻嘻!!!!
主要内容:
1.介绍了Tomcat的相关知识(启动和关闭,文件夹目录);
2.MyEclipse中创建Web项目的步骤和方法;
3.如何部署到Tomcat中
1.Tomcat相关知识
1.1启动和关闭Tomcat(不在myeclipse中进行)
在启动Tomcat之前,我们必须要配置环境变量:
- JAVA_HOME:必须先配置JAVA_HOME,因为Tomcat启动需要使用JDK;
- CATALANA_HOME:如果是安装版,那么还需要配置这个变量,这个变量用来指定Tomcat的安装路径,例如:F:\apache-tomcat-7.0.42。
- 启动:进入%CATALANA_HOME%\bin目录,找到startup.bat,双击即可;
- 关闭:进入%CATALANA_HOME%\bin目录,找到shutdown.bat ,双击即可;
startup.bat会调用catalina.bat,而catalina.bat会调用setclasspath.bat,setclasspath.bat会使用JAVA_HOME环境变量,所以我们必须在启动Tomcat之前把JAVA_HOME配置正确。
启动问题:
点击startup.bat后窗口一闪即消失:检查JAVA_HOME环境变量配置是否正确;
同时还可以通过如下的两个进行查看。
Tomcat9.exe是在控制台下启动的Tomcat,后者是在弹出的UGI窗口启动的。
1.2 进入Tomcat主页
访问:http://localhost:8080(默认端口是8080.但是可以自行设置,根据自行设置的不同访问)
1.3 Tomcat的目录结构(转载的---个人觉得写的挺全面的)
(1) bin:
该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个exe文件:tomcat6.exe、tomcat6w.exe,前者是在控制台下启动Tomcat,后者是弹出UGI窗口启动Tomcat;如果是解压版,那么会有startup.bat和shutdown.bat文件,startup.bat用来启动Tomcat,但需要先配置JAVA_HOME环境变量才能启动,shutdawn.bat用来停止Tomcat;
(2) conf:这是一个非常非常重要的目录,这个目录下有四个最为重要的文件:
server.xml:配置整个服务器信息。例如修改端口号,添加虚拟主机等;下面会详细介绍这个文件;
tomcatusers.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以按着该文件中的注释信息添加tomcat用户,然后就可以Tomcat主页中进入Tomcat Manager页面了;
web.xml:部署描述符文件,这个文件中注册了很多MIME类型,即文档类型。这些MIME类型是客户端与服务器之间说明文档类型的,如用户请求一个html网页,那么服务器还会告诉客户端浏览器响应的文档是text/html类型的,这就是一个MIME类型。客户端浏览器通过这个MIME类型就知道如何处理它了。当然是在浏览器中显示这个html文件了。但如果服务器响应的是一个exe文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。MIME就是用来说明文档的内容是什么类型的!
context.xml:对所有应用的统一配置,通常我们不会去配置它。
(3) lib:
Tomcat的类库,里面是一大堆jar文件。如果需要添加Tomcat依赖的jar文件,可以把它放到这个目录中,当然也可以把应用依赖的jar文件放到这个目录中,这个目录中的jar所有项目都可以共享之,但这样你的应用放到其他Tomcat下时就不能再共享这个目录下的Jar包了,所以建议只把Tomcat需要的Jar包放到这个目录下;
(4) logs:
这个目录中都是日志文件,记录了Tomcat启动和关闭的信息,如果启动Tomcat时有错误,那么异常也会记录在日志文件中。
(5) temp:
存放Tomcat的临时文件,这个目录下的东西可以在停止Tomcat后删除!
(6) webapps:
存放web项目的目录,其中每个文件夹都是一个项目;如果这个目录下已经存在了目录,那么都是tomcat自带的。项目。其中ROOT是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是ROOT项目。http://localhost:8080/examples,进入示例项目。其中examples就是项目名,即文件夹的名字。
(7) work:
运行时生成的文件,最终运行的文件都在这里。通过webapps中的项目生成的!可以把这个目录下的内容删除,再次运行时会生再次生成work目录。当客户端用户访问一个JSP文件时,Tomcat会通过JSP生成Java文件,然后再编译Java文件生成class文件,生成的java和class文件都会存放到这个目录下。
(8) LICENSE:许可证。
(9) NOTICE:说明文件。
2.MyEclipse创建JavaWeb应用
2.1、配置Tomcat
使用MyEclipse配置服务器后,就可以使用MyEclipse来启动和停止服务器了。当然,你需要先安装好服务器(Tomcat),才能配置。MyEclipse自带了一个Tomcat,强烈建议不要使用它。所以,我们需要先把MyEclipse自带的Tomcat关闭,然后再来配置我们自己的Tomcat。
其实我个人并没有关闭原来自带的Tomcat8.5. 只是添加了一个Tomcat9.0.
添加过程如下:
Window --- Preferences ---- Servers ---- Runtime Environments ---- 选择Add --- 选择你要添加的Tomcat的版本(我此时选择的是Apache Tomcat v9.0)---- next ---- 在Browse中添加Tomcat的安装地址 ---- Finish。
如下:
2.2、创建JavaWeb应用
成功创建后,我们来创建一个JavaWeb项目。
File ---- New --- 选择 Web Project --- 在Project Name:中添加项目的名字,下方的Java EE根据版本选择 ---- Finish
在左方的列表中可以查看到自己该项目,和几个文件夹,如图:
2.3、启动Tomcat
此时我们可以在MyEclipse中启动和关闭。
启动方式如下:
1.可以在上方菜单栏的位置选择启动Tomcat。(此时在MyEclipse中配置好的Tomcat就可以直接启动)
2.可以在下方servers中选择要运行的Tomcat版本。
访问http://localhost:端口号就可以看见部署的项目了。
注意:如果在MyEclipse中启动,那么就要在MyEclipse中关闭。
或者可以都不在MyEclipse中开启和关闭。
注:但是在我启动的时候,出现了如下的问题。一般就是端口被占用了。我们可以改变自己安装的Tomcat的端口号,修改方式如下:
修改方法:
1.找到Tomcat的安装目录,找到conf下的server.xml文件。
2.在其中找到如下的3行代码。然后对其一一更改
<Server port="8005" shutdown="SHUTDOWN">
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
3.
<Server port="8005" shutdown="SHUTDOWN">
修改为:
<Server port="8006" shutdown="SHUTDOWN">
4.
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
修改为:
<Connector port="8010" protocol="AJP/1.3" redirectPort="8444"/>
5.
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>
修改为:
<Connector connectionTimeout="20000" port="8081" protocol="HTTP/1.1" redirectPort="8444"/>
6.重新启动Tomcat,访问http://localhost:8081/ ;
注意:必须重启Tomcat,否则更改无效。
如果能成功访问,说明修改成功(访问的端口跟据配置文件中设置的Connector 端口)
3、发布项目到tomcat的webapps目录
选择要发布的项目,右键,选择MyEclipse---选择Add and Remove Project Deployments 选项。
添加Tomcat
项目发布后,就是把项目的WebRoot目录copy到Tomcat的webapps目录,并把WebRoot重命名为项目名称,即hello。所以在Tomcat的webapps下会多出一个文件夹hello
4、打war包
JavaSE程序可以打包成Jar包,而JavaWeb程序可以打包成war包。然后把war发布到Tomcat的webapps目录下,Tomcat会在启动时自动解压war包。
参考:http://blog.csdn.net/qq_25827845/article/details/53982209
参考:https://jingyan.baidu.com/article/adc815139b12def722bf7377.html