?  JDK开发工具包
?  Tomcat服务器
?  Linux系统配置JDK与Tomcat服务器
1.1  JDK开发工具包
“工欲善其事,必先利其器。”在学习一门编程语言之前,通常情况下都需要安装编程语言的开发环境,学习Java Web也不例外,需要Java配置的运行环境与安装测试JDK开发包。
JDK是Java Development Kit的缩写,由于Sun公司已经被ORACLE(甲骨文)公司所收购,所以现在可以说是ORACLE公司提供的JDK,其中包括运行Java程序所必需的JRE环境及开发过程中常用的Java基本类库文件。在开发Java Web应用之前,首先应该安装JDK组件。
本实例主要介绍如何访问JDK,来下载最新版本的JDK开发工具包。
(1)在IE浏览器的地址栏中输入java.sun,按下Enter键,在打开的网页中选择Java SE,如图1.1所示。
图1.1  JDK首页
tomcat虚拟主机怎么设置(2)单击Java SE超链接,进入Java SE的下载列表页面,如图1.2所示。该页面中提供了最新发布版本JDK的下载超链接,单击JDK 6 Update 18(JDK or JRE)右侧的Download JDK按钮。
图1.2  Java SE下载JDK/JRE
(3)在Java SE的下载页面中,包含了Windows、Solaris、Linux等平台的不同环境JDK的下载。在下载之前需要在platform下拉列表框中选择操作系统平台,然后单击Download按钮进行下载,如图1.3所示。
(4)在单击Download按钮后,会在页面中弹出一个登录窗口,提示用户登录,如图1.4所示。用户如果已经注册了账号可以登录后再下载,否则可以单击下方的Skip this Step超链接,跳过这一步的操作。
图1.3  选择平台版本                              图1.4  提示用户登录
(5)在提示用户登录的页面中,无论是登录还是选择跳过,都会进入到如图1.5所示的下载页面。在这个页面中单击超链接,就可以将JDK的安装文件下载到本地计算机中。
图1.5  JDK 6的下载页面
在JDK开发包下载完成后,需要对JDK进行安装,在安装后才可以编译及运行Java程序。JDK的安装方法非常简单,本次下载的JDK安装文件名称为。
如果系统中已经安装了JDK,请在删除之后再进行安装,否则在进行配置时会发生冲突。
(1)尽量关闭所有应用程序,双击文件,将进入接受许可证协议的窗口,单击“接受”按钮,如图1.6所示。
图1.6  JDK安装许可协议
(2)打开设置JDK的安装路径与组件选择提示框,如图1.7所示。如果要更改安装路径请单击“更改”按钮,打开JDK的安装路径提示框选择要安装的路径,如图1.8所示。
图1.7  JDK的安装路径与组件选择提示框              图1.8  选择JDK的安装路径提示框
(3)选择安装路径之
后,单击“下一步”按钮会自动安装JDK,然后在安装完成的提示框中单击“完成”按钮,即完成JDK的安装。
在JDK安装完成之后,最为重要的步骤就是设置它运行时的Windows环境变量。只有设置了环境变量之后,在应用程序中才能正常使用JDK中提供的类库和JRE运行环境。
在为JDK配置环境变量的过程中,需要注意的是,设置path属性的变量值,一定不要替换原来path变量的值,因为里面配置的值可能是系统其他应用程序的path值,替换掉可能会导致其他程序不能正常运行。
(1)右击“我的电脑”,在弹出的快捷菜单中选择“属性”命令,打开“系统属性”对话框,选择“高级”选项卡,如图1.9所示。
(2)在图1.9中单击“环境变量”按钮,打开“环境变量”对话框,如图1.10所示。在这里用户可以对“用户变量”与“系统变量”进行设置。
图1.9  选择“高级”选项卡                    图1.10  “环境变量”对话框
(3)单击“系统变量”列表框下面的“新建”按钮,弹出如图1.11所示的“新建系统变量”对话框。
(4)在“变量名”文本框中输入JAVA_HOME,在“变量值”文本框中输入JDK的安装路径如C:\Java\jdk1.6.0_18,然后单击“确定”按钮,完成环境变量JAVA_HOME位置的配置。
(5)在系统变量中查看是否有path变量,如果没有则新建path变量;否则单击“编辑”按钮,在打开的“编辑系统变量”对话框中输入%JAVA_HOME%\bin;,并单击“确定”按钮。
(6)在系统变量中查看是否有classpath变量,如果不存在则新建classpath变量,添加类路径为%JAVA_HOME%\lib\dt.jar,%JAVA_HOME%\lib\tools.jar,并单击“确定”按钮。
在安装和配置JDK之后,本实例将应用Windows系统的命令行工具来测试JDK是否安装成功。
(1)选择“开始”/“运行”命令,在打开的对话框中输入cmd命令,将进入DOS环境,在命令提示符中直接输入javac命令,查看是否有信息提示,如图1.12所示。   
图1.12  测试JDK配置是否成功         
(2)测试HtmlConverter,它是Java JDK自带的一个HTML文件转换类工具。选择“开始”/“运行”命令,在弹出的对话框中输入HtmlConverter后按Enter键,打开如图1.13所示的窗口。
图1.13  HTML文件转换类工具
用记事本编写一个简单的*.java源码文件,并运行命令提示符工具,在其中输入编译Java文件的命令,并输出Hello Word!。
在调试JDK时,可以在命令行提示符工具中输入javac –version命令来查看JDK的相关信息与命令,javac命令用于将(*.java)源文件编译转换成(*.class)文件,然后再用java命令运行编译后的文件。
(1)选择“开始”/“运行”命
令,在打开的对话框中输入cmd,将弹出命令行工具的控制台界面。
(2)编译文件。例如,在C盘根目录下有一个名为HelloWord.java的Java文件,将它编译为class文件。在控制台中输入javac HelloWord.java,并按Enter键之后,Java源文件将被编译为class文件。可以发现,会在C盘根目录下自动生成一个名为HelloWord.class的文件,这就是编译后的文件,如图1.14所示。
(3)在控制台中继续输入命令java HelloWord后,会输出HelloWord!字符串,如图1.15所示。
图1.14  编译后自动生成的.class文件                  图1.15  控制台执行编译后的文件结果
1.2  Tomcat服务器
Tomcat服务器是Apache Jakarta下的一个子项目,它支持Servlet 2.5和JSP 2.1规范,并且是免费开源的,是学习开发Java Web应用的首选服务器,本书中采用的是Tomcat 6.0版本,读者可以到Tomcat上下载最新的版本。下面将以Tomcat 6.0.20为例介绍下载与调试Tomcat的具体步骤。
Tomcat归于Apache基金组织下,其应用范围很广泛,既可以用来学习Java Web开发,也可以用来构架各类中小型商业应用。它已经实现了Java EE5中Web层的各种规范。
(1)在IE浏览器地址栏中输入,进入到Tomcat,如图1.16所示。
(2)在左侧的Download列表中可以下载Tomcat服务器的各种版本。单击Tomcat 6.0超链接,进入到  Tomcat 6.0 版本的下载页面中,如图1.17所示。
图1.16  Tomcat首页                          图1.17  Tomcat 6.0的下载页面
(3)在图1.17中,在Core节点中包含了Tomcat 6.0服务器安装文件的不同平台下的不同版本,此处单击的是32-bit/64-bit Windows Service Installer(pgp,md5)超链接,单击该链接可下载安装版本的Tomcat,然后将打开文件下载对话框,在对话框中单击“保存”按钮,即可将Tomcat的安装文件下载到本地计算机中。
本实例将介绍如何安装 Tomcat服务器。Tomcat安装文件下载完毕后,就可以通过该文件安装Tomcat服务器。
(1)双击apache-tomcat-6.,弹出安装引导界面(如图1.18所示),单击Next按钮,打开Apache的许可协议对话框。
(2)单击I Agree同意协议,打开Apache的主程序与组件安装对话框,如图1.19所示。
图1.18  安装引导界面                    图1.19  Apache的主程序与组件安装对话框
(3)选好组件之后单击Next按钮,打开Apache安装路径对话框,如图1.20所示。
(4)选好路径之后(通常默认安装C盘)单击Next按钮,弹出如图1.21所示的对话框。HTTP的端口号默认为8080,一般情况下都不会更改,还有Apache管理员账号与密码。
图1.20  Apache安装路径对话框                          图1.21  Apa
che设置端口与管理员
(5)设置完端口与管理员之后单击Next按钮,会弹出配置JRE6的安装路径对话框,选好之后单击install按钮直到安装向导结束。
(6)Tomcat服务器安装成功后,在Tomcat的安装目录下会出现7个文件夹和4个文件,如图1.22所示。
图1.22  Tomcat的目录结构
通过启动Tomcat来了解服务器流程以及目录相关文件。
(1)在熟悉Tomcat服务器的内部结构后,可以启动Tomcat服务器来测试Tomcat是否能够成功运行。测试的方式是双击运行bin目录下的startup.bat文件,启动后的Tomcat窗口如图1.23所示。
(2)在Tomcat启动成功后,可以在IE浏览器的地址栏中输入localhost:8080来访问Tomcat。如果显示如图1.24所示的页面,则证明Tomcat运行成功。
图1.23  启动后的Tomcat窗口                          图1.24  测试Tomcat主页面
本实例介绍如何在Eclipse中部署Web应用,以及在Eclipse中启动Tomcat服务器的具体方法。
(1)首先打开Eclipse,在菜单中创建一个动态Web项目,如图1.25所示。
(2)选择“动态Web项目”命令后,打开“新建动态Web项目”窗口,在“项目名”文本框中输入项目名称,如图1.26所示。
(3)单击“完成”按钮,项目创建成功。此时,可以在Eclipse的项目资源管理器中查看到已经创建的项目“1.1”,如图1.27所示。
(4)在Eclipse的项目资源管理器中,选中WebContent文件夹并单击鼠标右键,在弹出的快捷菜单中选择“新”/JSP命令,打开“新建JavaServer页”对话框。在该对话框的“文件名”文本框中输入文件名index.jsp,其他采用默认,如图1.28所示。
图1.25  创建动态Web项目                  图1.26  “新建动态Web项目”窗口
图1.27  项目创建成功                            图1.28  创建index.jsp页面
(5)单击“完成”按钮,在Eclipse中打开index.jsp页面的代码窗口,在此页面中编写输出“欢迎来到明日图书网”的内容,代码如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>   
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Hello Welcome to MR</title>
</head>
<body>
<center>欢迎来到明日图书网</center>
</body>
</html>
(6)在IE浏览器的地址栏中输入localhost:8080/1.1/index.jsp,运行结果如图1.29所示。
图1.29  运行结果
本实例主要介绍修改Tomcat端口号的方法,以及当端口号发生冲突时如何解决。
Connector子元素下的port是设置服务器端口,而connection Timeout则是服务器连接超时,单位为毫秒。
(1)使用
记事本打开Tomcat安装目录下的conf文件夹下的l文件。
(2)在l文件中到以下代码:
<connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" />
(3)将上面代码中的port="8080"修改为port="8081",即可将Tomcat的默认端口设置为8081。在修改端口时,应避免与公用端口冲突。建议采用默认的8080端口,不要修改,除非8080端口被其他程序所占用。
(4)修改成功后,为了使新设置的端口生效,还需要重新启动Tomcat服务器。
(5)将Tomcat端口号更改为8081后,重新启动的界面如图1.30所示。
图1.30  更改端口号后重新启动的界面
本实例介绍如何配置Tomcat的虚拟主机。
关于l中Host这个元素,只有在设置虚拟主机时才需要修改。虚拟主机是一种在一个Web服务器上服务多个域名的机制,对每个域名而言,都好像独享了整个主机。实际上,大多数的小型商务网站都是采用虚拟主机实现的,这主要是因为虚拟主机能直接连接到Internet并提供相应的带宽,以保障合理的访问响应速度。另外,虚拟主机还能提供一个稳定的固定IP。
(1)首先打开Tomcat根目录下的conf文件夹,然后用记事本打开l文件,并在其中添加如下    代码:
<host name="ample" appBase="/home/example/webapp">
<Context path="" docBase="."/> </host>
(2)Tomcat的l文件在初始状态下,只包括一个虚拟主机,但是它很容易被扩充到支持多个虚拟主机。上面展示的是一个简单的l版本,其中粗体部分就是用于添加一个虚拟主机。每一个Host元素必须包括一个或多个context元素,所包含的context元素中必须有一个是默认的context,这个默认的context的显示路径应该为空(例如,path=“”)。
通过对Tomcat目录的了解可知,webappas文件夹是存放工程包的位置。本实例主要介绍如何手动部署Web应用。
这种context片段提供了一种便利的方法来部署Web应用,不需要编辑l,除非想改变默认的部署特性,在安装一个新的Web应用时不需要重新启动Tomcat。
(1)复制war文件或者Web应用文件夹(包括Web下所有内容)到$CATALINA_BASE/webapps目录下。
(2)为Web服务建立一个只包括context内容的XML片段文件,并把该文件放到$CATALINA_BASE/ webapps目录下,这个web应用文件本身可以存储在硬盘的任何地方。
(3)部署Web应用文件的另一种方式是写一个Context XML片段文件,然后把该文件复制到$CATALINA_BASE/webapps目录下。一个Context片段并不是一个完整的XML文件,只是一个context元素,以及对该应用文件的相应描述。这种片段文件就像是从l中提取出来的context元素一样,所以这
种片段被命名为“context片段”。如果想部署一个名叫MyWeb.war的应用文件,该应用文件使用realm作为访问控制方式,可以使用下面这个片段并添加以下代码:
<context path="/demo" docBase="webapps/MyWeb.war" debug="0" privileged="true">
<Realm className="org.alm.UserDatabaseRealm"  resourceName="UserDatabase"/>
</context>
有时需要限制对Tomcat Web应用的访问,如只有指定的主机或IP地址可以访问指定的应用。这样一来,就只有那些指定的客户端可以访问服务的内容。本实例将介绍如何在Tomcat下制定主机访问。
Tomcat提供了两个参数供用户配置,即RemoteHostValve 和RemoteAddrValve。通过配置这两个参数,可以过滤来自请求的主机或IP地址,并允许或拒绝哪些主机/IP。
(1)在Apache的httpd文件中有对每个目录的允许/拒绝指定,如可以把Admin Web application设置成只允许本地访问,代码如下:
<context path="/path/to/secret_files" ...>
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1" deny=""/>
</context>
(2)如果没有给出允许主机的指定,那么与拒绝主机匹配的主机就会被拒绝,除此之外的都是允许的。与之类似,如果没有给出拒绝主机的指定,那么与允许主机匹配的主机就会被允许,除此之外的都是拒绝的。
为Tomcat添加管理员,在Tomcat界面化管理平台中可以看到所有加载的工程包,以及运行的平台,还可以对项目进行管理,如删除和添加,来实现对服务器的维护与更新。
(1)首先打开Tomcat 6.0目录下的conf文件夹中的l文件,添加以下代码:
<user username="zm" password="zm" roles="standard,manager"/>
(2)在IE浏览器的地址栏中输入localhost:8080/manager,在打开的界面中输入刚刚添加的账号和密码,如图1.31所示。
图1.31  登录Tomcat界面
(3)登录之后即可对项目进行添加与删除管理,如图1.32所示。
图1.32  登录Tomcat之后的界面
本实例介绍的是如何优化Tomcat服务器,如果用户并发量小,系统可能不会出问题,但是并发量大时,系统反应速度迅速下降,由于不了解原因拼命在自己的应用中寻问题,从而浪费了宝贵的时间。下面来看看Tomcat是如何优化的。
(1)屏蔽DNS查询
Web应用程序可以通过Web容器提供的getRemoteHost()方法获得访问Web应用客户的IP地址和名称,但是这样会消耗Web容器的资源,并且还需要通过IP地址和DNS服务器反查用户的名字。因此当系统上线时,可以将这个属性关闭,从而减少资源消耗,那么Web应用也就只能记录下IP地址。修改的属性是enableLoopups="false"。
(2)调整线程数
Tomcat通过线程池来为用户访问提供响应,对于上线的系

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。