1、JavaEE规范一共有13种技术,JBoss、WebSphereAS、WebLogic都是支持规范比较好的服务器应用,但是它们太完善,应用占资源较多。Tomcat是小型的服务器应用,它支持servlet/jsp规范,也就是说服务器应用并不需要全部支持13种JavaEE规范。所以如果我们开发的时候用的是servlet/jsp/jdbc等知识的话,Tomcat就足够了也是最好的选择。
2、Tomcat建议使用绿色版。环境变量可以配置,但后期一般用不到。
3、以后再MyEclipse中集成Tomcat启动时如果报错中出现“JVM Bind”,那么基本可以确定是Tomcat端口号被占用了。在tomcat服务器的logs日志文件中可以查到记录。
说明:
——我们写的java源码都是在src里面。
——我们部署文件到服务器的时候,就是复制WebRoot目录下的文件到服务器的webapps目录中自己的应用文件夹中。
——我们部署的时候不是直接把java源文件部署到服务器,而是部署上面的那些东西。
——因为我们写java源代码的时候,会在WEB-INF里的classes文件夹中生成我们的字节码文件也就是.class文件,这也就是为什么我们只部署这个而不部署java源文件的原因。
——WEB-INF的lib里放得都是一些jar包。
——web.xml是配置文件,比如最典型的就是欢迎页面,默认是index.jsp,我们可以修改成我们想要的,这样我们在url中只需要输入到/应用名,它就会自动找寻我们定义的欢迎页面文件。
——在部署的时候META-INF可以删除,这是MyEclipse的配置文件。
——这种目录结构里,index.html要引用css等文件,路径是”css/index.css”,引用js文件雷同。
——我们这里看不到classes文件。我们可以通过window>show views>others>查找Navigator,相当于选择了Navigator视窗模式打开项目,如下可见classes目录。
——上面我们说的是WebProject,我们在JavaProject中同样的道理。我们在src中写java源代码,有一个bin目录是专门放字节码文件.class的,这都是MyEclipse帮我们自动生成的字节码,同样需要在Navigator视窗下查看。当然,一般我们不需要以这种模式查看项目。
5、集成Tomcat和部署应用。
——MyEclipse8.5只有Tomcat4、5、6没有7。最简单的办法是升级MyEclipse到高版本。
——卸载MyEclipse在程序与功能中找不到,可以通过开始>所有应用,找到后有一个uninstall的程序,点击就可以卸载。
——删除数据,以防再次安装时出错。在Users>自己的用户名下,有一些.myeclipse和workspace/workspaces/.m2文件夹,删除。还有其他一些删除比如pluse等,参见分享MyEclipse安装及安装报错的解决方法。
——关于怎么打开win10下面的documents and settings,参见Win10无法访问Documents and Settings文件夹如何解决。
——安装JDK,因为安装MyEclipse10的时候破解文件是run.bat,不安装JDK的话无法打开。查看JDK是否安装的话,打开cdm输入java -version
,如果没有正常输出信息就是没安装或者配置环境变量有问题。还可以直接在Program Files目录中看到Java目录,就说明已经安装了JDK。
如下图,就是在MyEclipse中集成Tomcat7。
6、使用Tomcat实现自动部署。
——我们集成Tomcat之后,可以在下方Servers中直接启动它,我们就可以通过localhost:8080在浏览器中访问Tomcat默认首页了,当然此时,我们没有部署任何应用。
——自动部署应用,在Servers中找到我们的Tomcat服务器,右击选择“Add Deployment”,然后在下面的框中选择我们需要部署的项目。其实,我们在这里可以看出,自动部署的本质也是把我们项目 WebRoot文件夹下的几个文件拷贝到服务器的webapps文件夹中。而且应用名就是我们的项目名。然后启动服务器,我们就可以访问我们的应用了,比如:localhost:8080/Day04_Tomcat/index.html。
7、还可以把WebRoot目录下的文件打包成war包文件,然后把这个war包文件直接复制到webapps中,只要这个时候Tomcat服务器运行着,它就会自动解压缩我们的war包,我们就可以访问了。我们删除war包的话,服务器也会自动删除它给我们解压出来的文件夹。
——jar命令无法使用的话,就是java环境变量配置有问题。配置以下3个变量。JAVA_HOME变量是jdk的路径;Path的路径是bin目录,可以用%JAVA_HOME%\bin;CLASSPATH的变量是jdk中的lib目录。
——在cmd中可以先cd 到WebRoot目录中,然后执行命令。
8、我们上面说过,有时候会遇到服务器端口号被占用的错误,导致我们不能正常启动,其实本质上就是我们之前打开过服务器但是没有关闭。所以解决方法就是找到那个进程关闭它。但是我们不知道是哪个进程。所以先找到那个进程。
——在cmd中netstat -ano
查看所有端口使用情况,当然我们的目的是找到8080端口是否被占用,如果被占用的话,记住它的进程号pid。
——然后在任务管理器的进程中关闭这个进程(可以选择列显示出进程,这样不会误结束进程,win10的任务管理器有一个详细信息的tab,可以查看pid),一般是javaw.exe这个进程。
9、配置虚拟目录。配置虚拟目录的目的是因为有时候我们的应用并没有部署到webapps中,而是放在了磁盘的其他地方,如果这个时候启动服务器后要访问它,那么需要给它做一个虚拟目录。
——配置虚拟目录有2种方式,一种是在tomcat的conf的server.xml文件中修改,在host标签中设置
。需要重启服务器才能生效。
——还有一种方式,是我们直接配置一个xml文件,然后把这个xml文件放在tomcat的conf的Catalina中的localhost文件夹中,这个xml文件的文件名就是虚拟目录,在xml文件中只需要写
。不需要重启服务器即可生效,所以我们推荐使用这种方式。
10、默认主页的设置是在项目中的web.xml文件中,我们可以设置多个welcome-file节点,到时候按顺序查找。
——默认端口的设置,在tomcat服务器的conf的server.xml中,有一个Connector节点,这里面可以把8080修改为80,这样我们在浏览器上输入URL访问的时候就可以省略80,因为浏览器默认的端口号就是80。
——默认应用的设置。我们在浏览器上输入localhost:8080的时候会出现tomcat的页面,其实这也是一个应用,这个应用同样放在tomcat服务器的webapps目录中,就是ROOT文件夹。也就是说我们直接输入localhost:8080的时候,服务器其实默认是打开了ROOT这个应用,相当于localhost:8080/ROOT。那么如果我们想把我们自己应用设置为默认应用的话,只需要把放置在Catalina的localhost目录下的xml文件名字设置为ROOT.xml并在这个xml文件里配置上我们需要默认打开的应用地址(一般就在webapps中),这样的好处就是我们输入URL的时候可以省略应用名了。
——为什么要设置这么多默认?因为如果我们设置了默认端口号80,那么URL中可以省略端口号;如果我们设置了默认应用,那么URL中就可以省略应用名;如果我们设置了默认主页的话,我们就不需要再URL中加上主页文件地址。所以这样实质上精简了我们的URL地址。