1.4 设置Web服务目录
为了让客户通过浏览器访问一个Tomcat服务器上的JSP页面,必须将编写好的JSP页面文件保存到该Tomcat服务器的某个Web服务目录中。
1.根目录
如果Tomcat服务器的安装目录是E:\Tomcat6.0,则Tomcat的Web服务目录的根目录是E:\Tomcat6.0\webapps\Root。
用户如果准备访问根目录中的JSP页面,在浏览器中输入Tomcat服务器的IP地址(或域名)、端口号和JSP页面的名字即可(必须省略Web根目录的名字),如Tomcat服务器的IP地址是192.168.1.200,根目录中存放的JSP页面的名字是A.jsp,那么用户在浏览器输入的内容是“http://192.168.1.200:8080/A.jsp”。
也许用户没有为Tomcat服务器所在的机器设置过一个有效的IP地址,为了调试JSP页面,可以打开Tomcat服务器上的浏览器,在地址栏中输入“http://127.0.0.1:8080/A.jsp”。
2.已有的Web服务目录
Tomcat服务器安装目录webapps下的任何一个子目录都可以作为一个Web服务目录。
安装Tomcat服务器后,webapps目录下有如下子目录:jsp-examples、balancer、servlets-examples、servlets-examples和tomcat-docs,也可以在目录webapps下再新建子目录,如子目录Dalian。
如果将JSP页面文件A.jsp保存到目录webapps下的服务目录中,那么应当在浏览器的地址栏中输入Tomcat服务器的IP地址(或域名)、端口号、Web服务目录和JSP页面的名字。如A.jsp保存到jsp-examples中,则输入的内容如下“http://127.0.0.1:8080/jsp-examples/A.jsp”。
3.建立新的Web服务目录
可以将Tomcat服务器所在计算机的某个目录设置成一个Web服务目录,并为该Web服务目录指定虚拟目录,即隐藏Web服务目录的实际位置,用户只能通过虚拟目录访问Web服务目录中的JSP页面。
修改Tomcat服务器安装目录下conf目录中的server.xml文件,来设置新的Web服务目录。假设要将D:\MyJsp\star和C:\sun作为Web服务目录,并让用户分别使用hello和moon虚拟目录访问Web服务目录D:\MyJsp\star和C:\sun下的JSP页面,则应先用记事本打开文件夹Tomcat6.0\conf中的主配置文件server.xml,找到出现“</HOST>”的部分(server.xml文件尾部),然后在“</HOST>”的前面加入如下内容:
<Context path="/hello" docBase="D:/MyJsp/star" debug="0" reloadable="true" /> <Context path="/moon" docBase="C:/sun" debug="0" reloadable="true" />
注意:XML文件是区分大小写的,不可以将<Context>写成<context>。
主配置文件server.xml修改后,必须重新启动Tomcat服务器。这样,用户就可以将JSP页面存放到目录D:\MyJsp\star或C:\sun中,可以通过虚拟目录hello或moon访问JSP页面,如将A.jsp保存到目录D:\MyJsp\star或C:\sun中,应在浏览器地址栏中输入“http://127.0.0.1:8080/hello/A.jsp”或“http://127.0.0.1:8080/moon/A.jsp”。
注意:在学习或使用JSP时,不提倡将所有的JSP页面都存放在Tomcat服务器的根目录中,应当善于建立新的Web应用目录,以便有效地管理JSP页面。
4.相对目录
Web服务目录下的目录称为该Web服务目录下的相对服务目录。例如,可以在Web服务目录C:\sun下再建立子目录image,将文件B.jsp保存到image目录中,则可以在浏览器的地址栏中输入“http://127.0.0.1:8080/moon/image/B.jsp”来访问B.jsp。Web服务目录下的JSP页面可以通过相对路径来访问子目录中的JSP页面,如Web服务目录sun通过相对路径访问子目录中的JSP页面image/B.jsp(不可以写成“/image/B.jsp”,“/”代表根目录,“/image/B.jsp”中的image将代表一个Web服务目录,而不再是Web服务目录sun的一个子目录)。
【例1-2】 将A.jsp保存到Web服务目录C:\sun中,将B.jsp保存到sun的相对目录image中。A.jsp中通过超链接访问B.jsp,如下所示:
A.jsp <%@ page contentType="text/html;charset=GB2312" %> <HTML><BODY> <A href=image/B.jsp> 链接到B.jsp</A> </BODY></HTML> <%@ page contentType="text/html;charset=GB2312" %> B.jsp <HTML><BODY bgcolor=cyan> <FONT size=8> <P> 1到100的连续和 <% int sum=0; for(int i=1;i<=100;i++){ sum=sum+i; } out.println("sum="+sum); %> </FONT> </BODY></HTML>