A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 葛伟 于 2013-3-24 08:32 编辑

为什么我在myeclipse中已修改jsp文件就要重启服务器啊?做一次测试,要重启一次,全浪费在tomcat上了,上面是修改jsp后提示的错误;求帮助啊

点评

记得及时处理帖子哦,继续追问,或将分类改成【已解决】,谢谢  发表于 2013-3-24 07:52

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

6 个回复

倒序浏览
理论上上不重启吧
回复 使用道具 举报
杨杨 发表于 2013-3-22 19:03
理论上上不重启吧

但是真的一修改就重启,郁闷死了
回复 使用道具 举报
如果修改JSP的话,需要重新向服务器发布,服务器可以不用重启啊, 反正我在代码没有出问题的情况下就是这样做的 没出问题
回复 使用道具 举报
修改jsp文件不会重启服务器,这里服务器重启并不是因为你修改jsp文件.问题不在这里,问题出在SetCodeFilter的24行处或者是配置的问题.详细的代码我看不到,但是可以断定,肯定不是因为修改jsp才导致的myeclipse重启,是因为SetCodeFilter的代码处的问题,从一开始就编译不通过.

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
胡国彬 发表于 2013-3-22 21:32
修改jsp文件不会重启服务器,这里服务器重启并不是因为你修改jsp文件.问题不在这里,问题出在SetCodeFilter的 ...

真不是SetCodeFilter的问题,重启tomcat一切正常~只要一修改JSP就需要重启,快无奈了
回复 使用道具 举报
解释下JSP引擎的工作原理,印象不太深了大致为:
当一个JSP页面第一次被访问的时候,JSP引擎将执行以下步骤:
(1)将JSP页面翻译成一个Servlet,这个Servlet是一个java文件,同时也是一个完整的java程序
(2)JSP引擎调用java编译器对这个Servlet进行编译,得到可执行文件class
(3)JSP引擎调用java虚拟机来解释执行class文件,生成向客户端发送的应答,然后发送给客户端
以上三个步骤仅仅在JSP页面第一次被访问时才会执行,以后的访问速度会因为class文件已经生成而大大提高。当JSP引擎街道一个客户端的访问请求时,首先判断请求的JSP页面是否比对应的Servlet新,如果新,对应的JSP需要重新编译。
而你在修改了jsp源文件时,可能是因为jsp引擎认为你已经访问过了该页面,所有就直接调用了原来的.class文件,没有重新编译.接着就报错了.
在%tomcat%\work\Catalina\localhost下的所有文件及文件夹删除后,都会随着tomcat启动而重建.而这里就有要运行的class文件,你在这里找到你要用.class文件,然后再删除,再运行你的jsp页面,试试.
希望对你有用.

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马