1.安装tomcat出现的问题:
安装完tomcat后,tomcat7.exe可正常启动,但浏览器显示无法访问,如图
**尝试方法(1):**更改Tomcat7w.exe属性,并启动如下图,但浏览器仍然无法访问
**尝试方法(2):**更改server.xml端口号,如下图,但浏览器仍无法打开。
**尝试方法(3):**查看系统环境变量,发现系统变量位置与tomcat的jre位置不同,期间尝试更改系统环境变量JAVA_HOME、更改jre位置,但浏览器仍无法打开。
为此,特意了解JDK下jre包与同目录下jre包的区别,以下来自网络:
JRE(Java Runtime Enviroment)是Java运行时环境。面向Java程序的使用者,而不是开发者。JRE是运行Java程序所必须环境集合,包含JVM标准实现及Java核心库。它包括Java虚拟机、Java平台核心类和支持文件。它不包含开发工具(编译器、调试器等)。
JDK(Java Development Kit)是Java开发工具包,它提供了Java的开发环境(编译器javac等工具,用于将java文件编译成class文件)和运行环境(包括JVM和Runtime辅助包,用于解析class文件使其运行)。如果安装了JDK,那么不仅拥有了Java开发环境,也拥有了运行Java程序的平台。实际上JDK=开发工具tools+JRE+标准类库。
专用JRE:
JDK里面有很多用java所编写的开发工具,比如javac.exe、jar.exe等。同理javac.exe、jar.exe等也只是一个包装器,真正的功能代码是放在jar包和链接库文件里面的。那么这样的话这些用java写的文件就要用到Java的运行环境去跑,也就是JDK目内部目录的jre,这里面的jre是专门运行jdk工具的,称为专有JRE。专有JRE没有注册表设置,通常也不会运行外部的class文件。
公共JRE:
公共JRE可由其他Java应用程序使用,它会注册到windows的注册表里面去,公共JRE就是为运行加载到计算机中的Java程序提供运行环境的
**尝试方法(4)*更换浏览器,仍然无效,有博客分享是否是因为缺少root文件,在我这里root文件存在,若root文件不存在,可复制过来。
**成功方法(5)*在启动tomcat时发现启动异常:org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException,遇到这样的错误可能是软件包冲突,或者是JDK版本过高,或者是Tomcat服务器版本过低,从而导致冲突。解决方法更改高版本Tomcat或者降低JDK的版本。本想卸载jdk1.8,重新安装jdk1.7,但由于jdk1.8卸载后可能会影响VMware,所以直接安装jdk1.7,系统环境变量配置如图:
重新安装tomcat,浏览器仍无法加载,发现tomcat启动,出现错误:java.lang.Exception: Socket bind failed: [730048] ???×???(Э?é/???/???)???í??,原因为端口已被占用.之前的tomcat进程没有被完全关闭掉,cmd查看端口占用情况,发现8080端口被占用
根据PID获得运行程序的路径及程序名,如下图
在虚拟机NAT模式映射中移除8080端口,或者退而求其次,更改server.xml
中端口号,更改为8090,重新启动tomcat,浏览器可以正常连接了。