工具/原料
1.JDK:版本为jdk-7-windows-i586.exe
下载地址 http://www.oracle.com/technetwork/java/javase/downloads/index.html
2.tomcat:版本为apache-tomcat-7.0.33-windows-x64.zip
下载地址 http://tomcat.apache.org/download-70.cgi
方法/步骤
一、安装JDK和Tomcat
安装JDK:直接运行jdk-7-windows-i586.exe可执行程序,默认安装即可。【备注:路径可以其他盘符,不建议路径包含中文名及特殊符号。】
安装Tomcat:直接解压缩下载文件“apache-tomcat-7.0.33-windows-x86.zip”到C盘下,安装路径建议修改为:c:\tomcat。【备注:如下载的是可执行文件,双击 运行,默认安装即可。】
二、配置JDK环境变量
新建变量名:JAVA_HOME,变量值: C:\Program Files\Java\jdk1.7.0
打开PATH,添加变量值: %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
新建变量名:CLASSPATH,变量值: ;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
备注:
1.表示当前路径,%JAVA_HOME%就是引用前面指定的JAVA_HOME;
2,JAVA_HOME指明JDK安装路径,此路径下包括lib,bin,jre等文件夹,tomcat,eclipse等的运行都需要依靠此变量。
3,PATH使得系统可以在任何路径下识别java命令。
4,CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。
三、测试JDK
在CMD命令下输入javac,java,javadoc命令:出现图示界面,表示安装成功。
四、配置Tomcat环境变量
新建变量名:CATALINA_BASE,变量值: C:\tomcat(Tomcat的解压路径)
新建变量名:CATALINA_HOME,变量值: C:\tomcat(Tomcat的解压路径)
打开PATH,添加变量值: ;%CATALINA_HOME%\lib;%CATALINA_HOME%\bin
五、启动Tomcat服务
方法两种:
方法一:在CMD命令下输入命令:startup,出现如下对话框,表明服务启动成功。
方法二:右键点击桌面上的“我的电脑”->“管理”->“服务和应用程序”->“服务”,找到“Apache Tomcat”服务,右键点击该服务,选择“属性”,将“启动类型”由“手动”改成“自动”。
六、测试Tomcat
启动Tomcat(如方法5), 打开浏览器,在地址栏中输入http://localhost:8080回车,如果看到Tomcat自带的一个JSP页面,说明你的JDK和Tomcat已搭建成功。
注意事项
1,JAVA_HOME中的路径不能用分号结尾,如C:\Program Files\Java\jdk1.7.0。
2,CATALINA_BASE,CATALINA_HOME,TOMCAT_HOME中的路径不能以“\”结尾。
3,JAVA_HOME的路径一定不要写成了JRE的路径。
4,在环境变量中修改添加变量时,一定要注意分号、空格,是否有多余的字母。作者就是因为path路径中多了一个字母,怎么都配置不成功。如果配置不成功,一定要反复检查。
以上错误,非常容易出现错误:CATALINA_HOME或是JAVA_HOME没有配置好。如错误提示“The CATALINA_HOME environment variable is not defined correctly”
Tomcat使用详情
Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件,修改了server.xml配置文件,Tomcat服务器需要重启生效。
如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点进行的端口修改
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
Tomcat服务器虚拟目录的映射方式
Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。
总共有如下的几种方式:
虚拟目录的映射方式一:在server.xml文件的host元素中配置
找到server.xml文件的host元素
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"> <!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
--> <!-- Access log processes all example.
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
--> </Host>
在<Host></Host>这对标签加上<Context path="/JavaWebApp" docBase="F:\JavaWebDemo" />即可将在F盘下的JavaWebDemo这个JavaWeb应用映射到JavaWebApp这个虚拟目录上,JavaWebApp这个虚拟目录是由Tomcat服务器管理的,JavaWebApp是一个硬盘上不存在的目录,是我们自己随便写的一个目录,也就是虚拟的一个目录,所以称之为"虚拟目录"
<Context path="/JavaWebApp" docBase="F:\JavaWebDemoProject"></Context>
其中,Context表示上下文,代表的就是一个JavaWeb应用,Context元素有两个属性,
Ⅰ.path:用来配置虚似目录,必须以"/"开头。
Ⅱ.docBase:配置此虚似目录对应着硬盘上的Web应用所在目录。
使用浏览器访问"/JavaWebApp"这个虚拟目录下的web资源
注意:在Tomcat6之后中,不再建议在server.xml文件中使用配置context元素的方式来添加虚拟目录的映射,因为每次修改server.xml文件后,Tomcat服务器就必须要重新启动后才能重新加载server.xml文件。
虚拟目录的映射方式二:让tomcat服务器自动映射
tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚似目录。换句话说,tomcat服务器webapps目录中的web应用,外界可以直接访问。
把F盘下的JavaWebDemo这个JavaWeb应用直接copy到tomcat服务器webapps目录中
此时Tomcat服务器就会自动为JavaWebDemo这个JavaWeb应用映射一个同名的虚拟目录"/JavaWebDemo",然后就可以使用浏览器访问这个JavaWeb应用的资源了
虚拟目录的映射方式三
在tomcat服务器的\conf\Catalina\localhost目录下添加一个以xml作为扩展名的文件,xml文件的名字可以任意取,比如下面的aa.xml,注意这一句话"The context path and version will be derived from the base name of the file",这一句话的意思翻译过来就是"context元素的path属性源自于是这个xml文件的名字",Context元素的path属性是用来配置虚似目录的名称的,所以虚似目录的名称就是这个xml文件的名称。
Tomcat服务器配置虚似主机
配置虚拟主机
配置虚似主机就是配置一个网站。
在Tomcat服务器配置一个虚拟主机(网站),需要修改conf文件夹下的server.xml这个配置文件,使用Host元素进行配置,打开server.xml,可以看到Tomcat服务器自带的一个名称为localhost的虚拟主机(网站)
平时我们将开发好的JavaWeb应用放到webapps文件夹下,然后就可以使用"http://localhost:端口号/JavaWebAppName"的方式去访问了,其实访问的就是name是"localhost"的那台虚拟主机(Host),这台虚拟主机管理webapps文件夹下的所有web应用。
<Host name="www.qg.cn" appBase="F:\JavaWebApp">
</Host>
这里我们新配置一个虚拟主机,虚拟主机的name是"www.qg.cn",虚拟主机"www.qg.cn"现在管理着JavaWebApp文件夹下的所有web应用,平时我们在互联网上使用域名"www.baidu.com"访问百度的网站时,其实就是在访问一个名称是"www.baidu.com"的虚拟主机,所以当我们要访问name是"www.qg.cn"的这个虚拟主机时,就可以使用"域名(www.qg.cn)"去访问,注意一下appBase="F:\JavaWebApp",这里的JavaWebApp文件夹代表的不是一个项目的根目录,而是一个存放了一个或者多个JavaWeb应用的文件夹
windows系统中注册域名
配置的主机(网站)要想通过域名被外部访问,必须在DNS服务器或windows系统中注册访问网站时使用的域名,找到"C:\Windows\System32\drivers\etc"目录下的hosts文件
编辑这个文件,将新添加的网站的域名和IP地址绑定在一起,这样我们就可以在浏览器中使用www.qg.cn这个域名去访问name是www.qg.cn那个虚拟主机里面管理的那些web应用了
使用浏览器通过域名"www.qg.cn"访问"www.qg.cn"这个虚拟主机下的JavaWebDemo这个web应用下的1.jsp这个web资源,"www.gacl.cn"这个虚拟主机开放了一个8080端口,用户只能通过这个8080端口去访问JavaWebDemo这个web应用下的web资源
浏览器与服务器交互的过程
JavaWeb应用的组成结构
开发JavaWeb应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错
WebRoot →Web应用所在目录,一般情况下虚拟目录要配置到此文件夹当中。
┝WEB-INF:此文件夹必须位于WebRoot文件夹里面,而且必须以这样的形式去命名,字母都要大写。
┝web.xml:配置文件,有格式要求,此文件必须以这样的形式去命名,并且必须放置到WEB-INF文件夹中。