JSP程序设计与案例实战(慕课版)
上QQ阅读APP看书,第一时间看更新

2.2 安装配置JSP运行环境

自从JSP发布以后,出现了各式各样的JSP引擎。而JSP引擎其实就是一种统一管理和运行Web应用程序的软件。

1999年10月,Sun公司将Java Server Page 1.1代码交给Apache组织,Apache组织对JSP进行了实用研究,并将这个服务器项目称为Tomcat,从此,著名的Web服务器Apache开始支持JSP,于是Tomcat就诞生了。目前,Tomcat能和大部分主流服务器一起高效率的工作。

Tomcat是一个免费的开源的JSP引擎,也称作Tomcat服务器。读者可以登录Tomcat的官方网址并找到相应的版本进行下载。在安装或运行Tomcat之前,必须首先安装JDK。

2.2.1 JDK安装及配置

JDK安装及配置

运行Web项目之前,需要先安装Java开发环境JDK。而JDK的安装软件,读者可以登录Oracle官网进行下载,下载完后进行安装即可。

安装JDK之后,需要设计环境变量。对应Windows 10和Windows XP操作系统,用鼠标右键单击“计算机”|“我的电脑”,在弹出的快捷菜单中选择“属性”命令,弹出“系统特性”对话框,单击该对话框中的“高级系统设置”|“高级选项”,在弹出的对话框中单击“环境变量”按钮,分别添加如下的系统环境变量。

变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.7.0_60。

变量名:Path,变量值:%JAVA_HOME%\bin。

变量名:CLASSPATH,变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar。

如果曾经设置过环境变量JAVA_HOME和Path,可单击该变量进行编辑操作,将环境变量的值加入即可,如图2-3~图2-5所示。注意:各个环境变量值之间必须用分号分隔。

图2-3 设置JAVA_HOME

图2-4 编辑Path

图2-5 设置CLASSPATH

环境变量解析:JAVA_HOME配置的是JDK的安装路径;CLASSPATH配置Java加载类路径,只有类在CLASSPATH中Java命令才能识别,在路径前加“.”表示当前路径。PATH则配置的是系统在任何路径下都可以识别的Java、Javac命令。

2.2.2 Tomcat下载安装与启动

Tomcat下载安装与启动

1.Tomcat下载

在Tomcat官网可以直接找到各个版本的Tomcat进行下载。图2-6所示为Tomcat下载页面,本节以Tomcat 8为例进行讲解。

图2-6 下载Tomcat

选择Download下的Tomcat 8版本。根据操作系统选择不同的下载文件,建议下载zip格式的软件包,这样可以免于安装,直接解压使用即可。下载完成后进入文件目录,解压缩刚刚下载的软件包。

2.Tomcat目录

打开解压后的软件,可以看到软件包的目录结构(见表2-1)。

表2-1 Tomcat的目录结构

3.启动服务器

执行Tomcat\apache-tomcat-8.5.23\bin下的startup.bat,出现图2-7所示的窗口,表明服务器已经启动。

4.测试Tomcat服务器

在浏览器的地址栏中输入:http://localhost:8080,出现图2-8所示的Tomcat测试页面。

图2-7 启动tomcat服务器

图2-8 测试Tomcat服务器

注意:Tomcat 服务器默认占用 8080 端口,如果 Tomcat 所使用的端口已经被占用,则 Tomcat服务器无法启动。有关端口的信息,是在Tomcat的目录结构/conf下的配置文件中进行配置的。

5.配置文件

/conf 目录下包括了Tomcat的核心配置文件,主要有4个:server.xml(Tomcat主配置文件)、web.xml(Web 应用全局部署描述)、context.xml(Tomcat特殊配置全局选项)和tomcat-user.xml(授权和访问控制用户名、密码和角色数据库)。

server.xml 是 Tomcat 的主配置文件,它提供组件的初始配置,能通过实例化组件完成启动以及自身构建。用记事本或其他文本编辑器打开server.xml文件可以发现如下代码。

<Connector port="8080" protocol="HTTP/1.1"

       connectionTimeout="20000"

       redirectPort="8443" />

如果出现了端口冲突,可以修改该文件中的port="8080"(例如将端口8080修改为8081等),修改完成后需重启Tomcat服务。

如果Tomcat服务器所在的计算机没有启动占用80端口号的其他网络设备,也可以将Tomcat服务器的端口号修改为80,这种情况下再访问Tomcat服务器时可以省略端口号,例如:http://localhost/。

2.2.3 Web服务目录

Web服务目录

只有将编写好的JSP页面文件保存到Tomcat服务器的某个Web服务目录中,远程的用户才可以通过浏览器访问该Tomcat服务器上的某个JSP页面。其实,人们常说的网站就是一个Web服务目录。

1.根目录

假定Tomcat的安装或解压目录是:E:\apache-tomcat-8.5.23,则Tomcat的Web服务目录的根目录就是:E:\apache-tomcat-8.5.23\webapps\ROOT。如果用户想访问根目录中的某个JSP页面,就在浏览器中输入Tomcat服务器的IP地址、端口号加JSP页面名字(服务器已启动状态)。例如当前计算机就是Tomcat服务器,根目录中存在welcome.jsp,源代码如下(代码详见/jspdemopro/WebRoot/welcome.jsp)。

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.

getServerPort()+path+"/";

%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

 <head>

  <base href="<%=basePath%>">

  <title>欢迎页面</title>

 </head>

 <body>

    欢迎您,学习JSP前端编程技术!!!<br>

 </body>

</html>

在浏览器中输入:http://localhost:8080/welcome.jsp,则看到图2-9所示的运行结果。

图2-9 访问根目录页面的运行结果

2.其他Web服务目录

除了根目录,在webapps下还有几个Web服务目录,如examples、docs、host-manager、manager。如果将JSP文件(上例中的welcome.jsp)保存到examples目录下,那么在浏览器的地址栏中输入:http://localhost:8080/examples/welcome.jsp,也可以正常显示页面内容。

3.新建Web服务目录

可以将Tomcat服务器所在的计算机的某个目录(非Tomcat下的子目录)设置成一个Web服务目录,并为该Web服务目录指定虚拟目录,即隐藏Web服务目录的实际位置,用户可以通过虚拟目录访问Web服务目录中的某个JSP页面。

假设要将D:\myjsp以及C:\redsun作为服务目录,并让用户分别使用/test和/moon虚拟目录访问,可以通过修改 Tomcat 服务器安装目录 conf 下的 server.xml 文件实现。用文本编辑器或记事本打开server.xml文件,找到出现</host>的部分(server.xml文件尾部),然后在</host>的前面加入:

<Context path="/test" docBase="E:/myjsp" debug="0" reloadable="true"/>

<Context path="/moon" docBase="C:/redsun" debug="0" reloadable="true"/>

Context表示上下文,即配置一个新的上下文,path表示浏览器中的输入路径,必须有“/”;docBase表示此路径对应着硬盘上的真实目录。

注意:xml文件区分大小写,不可以将Context 写为context。修改了配置文件后,必须重启Tomcat服务器。

重启后,可以将JSP页面放到E:/myjsp或C:/redsun中,这样用户就可以通过虚拟目录test或moon访问页面了。例如,若放入的页面为 myTest.jsp,则在浏览器地址栏输入:http://localhost:8080/test/myTest.jsp或http://localhost:8080/moon/myTest.jsp,即可进行访问。

4.Web服务目录结构树

在实际应用程序开发中,可以将一个Web项目导出为××.war,然后将该war包直接放置到Tomcat的Webapps目录(如E:\apache-tomcat-8.5.23\webapps)下,然后重启Tomcat,该war包就被发布成功了。如图2-10所示,ngcms.war是一个从myEclipse中导出的Web应用程序项目,Tomcat启动后就自动生成了ngcms的文件夹。

图2-10 项目发布后目录结构

打开ngcms文件夹可以发现,Web项目的整体目录结构如图2-11所示。

图2-11 Web项目目录层次

该目录结构如图2-12所示。

图2-12 Web应用程序目录结构