08-02
27
信息: Reloading this Context has started[转载]
作者:Java伴侣 日期:2008-02-27
小心翼翼地按照网上地指点,配置并运行之,写出了一个最简的“hello TomCat”。没有感到什么难度,比起以前的JDBC连数据库简单多了,servlet的概念也不难理解,一个中间层的业务逻辑容器。
尽管如此,仍有一次次芒刺在背的感觉,目前为止,还不知道xml可以有多深,TomCat的能力和Eclipse面对 JSP、servlet、XML和Class综合考验的下的潜力如何,也不知道。但最感压力的,是再部署过程中,架构概念开始萌芽了,相比以前的轻量级编程,现在的感觉就像前面会有一座大山。真是摸着石头过河,不胜惶恐,不胜惶恐,谨慎谨慎,保持谨慎。
Well,某神的生日,我恐怕要和Eclipse一起过了。
教训一:要配置web.xml并重启服务器才能运行servlet,不重启就运行的方法......明天再识破.
12.25:这样的提示每次看了就烦:
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path brbrbrrrrr...
于是回头又安装了一边TomCat6.0,把上次没有装上的native java library (听起来像是本地类库?)给装上,并copy到了jre/bin,在重启TomCat服务器果然OK了.上网看了看,ms这个小问题对Linux的新手比较困扰.咳,在Windows XP里用TomCat,该被鄙视的是我吧.
anyway,我现在最想知道的是如何修改文件而不重启服务器.修改不用重启的jsp肯定是一个;Eclipse下java及其编译出class也不用重启.也就是说,servlet只要在tomcat manager里reload一下就好了,烦的是配置文件:server.xml、web.xml还有.tld.OK,现在来做个试验.
我先写了个java,然后在一个新建的jsp中生成它的实例并调用它的方法.在浏览器中访问该jsp网页,提示信息:"HTTP Status 500-",看来这个java还没有编译成类,所以jsp调用时出了错.而在Eclipse里重新生成项目也是毫无效果.于是尝试TomCat的HttpManager,reload了该项目.控制台显示信息如下:
2006-12-25 22:46:39 org.apache.catalina.core.ApplicationContext log
信息: HTMLManager: restart: Reloading web application at '/HelloTomCat'
2006-12-25 22:46:39 org.apache.catalina.core.StandardContext reload
信息: Reloading this Context has started
计数器Servlet已释放资源
2006-12-25 22:46:40 org.apache.catalina.core.ApplicationContext log
信息: HTMLManager: list: Listing contexts for virtual host 'localhost'虽然在classes文件夹中已经看到了编译出来的类,但是刷新jsp页面,依然时错误.再仔细检查jsp语法,原来没有import类。。。。。。。我真是废柴。于是在src下建了一个包mypackage,放入java,Eclipse自动生成了class。又试着访问这个新的jsp页面,成功了!看来javabean也不必重启来生成。
现在再来看看servlet和web.xml。在包mypackage里写了一个servlet,然后在web.xml添加它,在控制台可以看到,TomCat有一个listener监听配置文件的修改,并重载context.又费了一番功夫(我总是拼写错误,天啊~~),运行,OK,不用重启.好吧,那就玩大一点,我把刚才建立的servlet删除,虽然浏览器里还可以访问(这是必然的吧,已经贮存在内存中了),但reload项目后就不行了.删除掉web.xml与之相关的节点,重启服务器,再新建servlet,写入web.xml.最后浏览器中访问,OK!一切正常.
结论:在TomCat6.x中,jsp、class、servlet、web.xml(估计还有server.xml)可以动态修改,无需重启服务器甚至不必重载项目.口可口可,我总算赶上了好时代.
好吧,我收回关于server.xml可以动态修改这句话.目前来看,动态修改只限于具体的web应用程序上
尽管如此,仍有一次次芒刺在背的感觉,目前为止,还不知道xml可以有多深,TomCat的能力和Eclipse面对 JSP、servlet、XML和Class综合考验的下的潜力如何,也不知道。但最感压力的,是再部署过程中,架构概念开始萌芽了,相比以前的轻量级编程,现在的感觉就像前面会有一座大山。真是摸着石头过河,不胜惶恐,不胜惶恐,谨慎谨慎,保持谨慎。
Well,某神的生日,我恐怕要和Eclipse一起过了。
教训一:要配置web.xml并重启服务器才能运行servlet,不重启就运行的方法......明天再识破.
12.25:这样的提示每次看了就烦:
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path brbrbrrrrr...
于是回头又安装了一边TomCat6.0,把上次没有装上的native java library (听起来像是本地类库?)给装上,并copy到了jre/bin,在重启TomCat服务器果然OK了.上网看了看,ms这个小问题对Linux的新手比较困扰.咳,在Windows XP里用TomCat,该被鄙视的是我吧.
anyway,我现在最想知道的是如何修改文件而不重启服务器.修改不用重启的jsp肯定是一个;Eclipse下java及其编译出class也不用重启.也就是说,servlet只要在tomcat manager里reload一下就好了,烦的是配置文件:server.xml、web.xml还有.tld.OK,现在来做个试验.
我先写了个java,然后在一个新建的jsp中生成它的实例并调用它的方法.在浏览器中访问该jsp网页,提示信息:"HTTP Status 500-",看来这个java还没有编译成类,所以jsp调用时出了错.而在Eclipse里重新生成项目也是毫无效果.于是尝试TomCat的HttpManager,reload了该项目.控制台显示信息如下:
2006-12-25 22:46:39 org.apache.catalina.core.ApplicationContext log
信息: HTMLManager: restart: Reloading web application at '/HelloTomCat'
2006-12-25 22:46:39 org.apache.catalina.core.StandardContext reload
信息: Reloading this Context has started
计数器Servlet已释放资源
2006-12-25 22:46:40 org.apache.catalina.core.ApplicationContext log
信息: HTMLManager: list: Listing contexts for virtual host 'localhost'虽然在classes文件夹中已经看到了编译出来的类,但是刷新jsp页面,依然时错误.再仔细检查jsp语法,原来没有import类。。。。。。。我真是废柴。于是在src下建了一个包mypackage,放入java,Eclipse自动生成了class。又试着访问这个新的jsp页面,成功了!看来javabean也不必重启来生成。
现在再来看看servlet和web.xml。在包mypackage里写了一个servlet,然后在web.xml添加它,在控制台可以看到,TomCat有一个listener监听配置文件的修改,并重载context.又费了一番功夫(我总是拼写错误,天啊~~),运行,OK,不用重启.好吧,那就玩大一点,我把刚才建立的servlet删除,虽然浏览器里还可以访问(这是必然的吧,已经贮存在内存中了),但reload项目后就不行了.删除掉web.xml与之相关的节点,重启服务器,再新建servlet,写入web.xml.最后浏览器中访问,OK!一切正常.
结论:在TomCat6.x中,jsp、class、servlet、web.xml(估计还有server.xml)可以动态修改,无需重启服务器甚至不必重载项目.口可口可,我总算赶上了好时代.
好吧,我收回关于server.xml可以动态修改这句话.目前来看,动态修改只限于具体的web应用程序上
评论: 0 | 引用: 0 | 查看次数: 3029
发表评论