如何不必发布就可以在IE上显示WEB修改效果
经过前面设置后,虽然可以开发WEB了,但每一次修改都要重新发布hello模块,才能在IE上显示修改后的效果,这无疑是开发时无法接受的,照这样,开发的时间进度至少要增加一倍。本小节将给出不必不发布就可以在IE上显示修改效果的方法。
首先,解决的办法是基于以下知识的:
l 在发布hello模块时,Lomboz是将hello模块打成一个WAR压缩包,然后复制到Tomcat的webapps目录,在IE上显示的网页就是来自于这个目录下的WAR压缩包中,所以不能直接显示修改后的JSP文件也是可以理解的了。
l Tomcat要发布网页,不是必须得打成WAR包,也可以发布未经压缩的文件目录。实际项目中,直接发布零散文件的方式居多,因为这样更新JSP文件比较方便。
l 在Tomcat安装目录下的conf子目录里有一个名为server.xml的文件,它可以用来定义一个新的WEB应用。
由上面的知识,可以得出以下解决思路:通过修改server.xml文件,定义一个新的WEB应用,将这个WEB应用定位到Eclipse的workspace目录中的myweb项目。这样设置以后,IE显示的文件就是Eclipse中正在编写的JSP文件了,也就是说,不必再经过打包成WAR发布这一步。
具体操作步骤如下:
(1)为了避免干扰,先将原来发布的hello模块删除。
打开Tomcat主页面:http://127.0.0.1:8080/。选择链接“Tomcat Manager”,输入用户名密码(admin、123456),得到如下图9.28所示页面。单击hello模块右侧的“Undeploy”将hello模块从Tomcat上的撤消发布。
图9.28 撤消Tomcat上的hello模块
(2)修改server.xml,定义一个新的WEB应用
server.xml此文件的具体路径如下:C:/Program Files/Apache Software Foundation/Tomcat 5.0/conf/server.xml。此server.xml文件最未尾的</Host>项之前插入一项<Context>的设置,<Context>的具体代码如下:
<Context path="/hello"
reloadable="true"
docBase="C:/eclipse3.1M4/eclipse/workspace/myweb/hello"
workDir="C:/eclipse3.1M4/eclipse/workspace/myweb/bin" />
代码说明:
l 注意一定要将以上代码加在紧靠</Host>项之前,<Context>的几个属性可以分行写,也可以写成一行。
l path - 是指WEB模块的名称hello,这样其访问地址为:http://127.0.0.1:8080/hello/
l docBase - 定义jsp文件位置。本处指向Eclipse中hello模块的路径
l workDir - 在IE显示之前,JSP要先编译成servlet,这个属性就是定义hello模块输出的servlet的所在位置。如下图9.29所示,因为所建的myweb项目默认的输出路径为myweb/bin目录,所以这里的workDir也定位到此myweb/bin目录。
图9.29 myweb项目的默认输出文件夹
(4)右键单击“hello”模块→选择Lomboz J2EE→选择Debug Server(或Run Server)。然后,在IE浏览器中输入“http://127.0.0.1:8080/hello/”来查看效果。最后,随便修改一下index.jsp文件,直接刷新一下IE,如果可以看到修改后的效果,表示以上所有设置成功。
如下图9.30所示的“导航器”视图(注意:不是“包资源管理器”视图),index.jsp在经过IE显示之后生成几个新文件和目录(可能需要先刷新一下myweb项目):
图9.30 myweb项目结构