为什么把.class文件删除了,jsp还能正常运行?

huawdai 2003-04-25 05:31:42
开发环境为weblogic + jb 7.0开发ejb。
写好java bean 后,编译好,在一个jsp中调用它。可是当我重新改写,并且编译之后,显示的还是改写以前的内容??非得要重启weblogic之后才能够显示改写之后的内容,要是这样,调试起来多麻烦阿?!
...全文
129 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
huawdai 2003-04-30
  • 打赏
  • 举报
回复
呵呵,很奇怪。第二天它又自己好了,我更本没有加任何的设置!奇怪!!
foolbirds 2003-04-30
  • 打赏
  • 举报
回复
修改web.xml,加
<reload>true</reload>
<compile>true</compile>
wjmmml 2003-04-30
  • 打赏
  • 举报
回复
web.xml有一个设置的是否重载的属性你设置
一下就可以了。
moxie 2003-04-30
  • 打赏
  • 举报
回复
我知道问题所在。
将weblogic700\server\bin\startWLS.cmd
set CLASSPATH=%JAVA_HOME%\lib\tools.jar;%WL_HOME%\server\lib\weblogic_sp.jar;%WL_HOME%\server\lib\weblogic.jar;D:\j2ee\lib\classes12.jar%CLASSPATH%

set PATH=.;%WL_HOME%\server\bin;%JAVA_HOME%\bin;%PATH%
中的“%CLASSPATH%”和“%PATH%”去掉就可以了!
noosphere 2003-04-25
  • 打赏
  • 举报
回复
在上面加:

<reload>true</reload>
<compile>true</compile>

试试
huawdai 2003-04-25
  • 打赏
  • 举报
回复
*******************比如我的web.xml文件是:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>PlanTaskServlet</servlet-name>
<servlet-class>com.ebuilds.erp.pm.servlet.gantt.PlanTaskServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PlanTaskServlet</servlet-name>
<url-pattern>/planTaskServlet</url-pattern>
</servlet-mapping>
</web-app>
********************应该怎么加reload属性呢?
另外,reload是不是会自动重启整个服务器,有没有只是重启有改动的类的方法呢?
huawdai 2003-04-25
  • 打赏
  • 举报
回复
weimenren:
每次重启都要3分钟,你的方法比较“馊”:)
huawdai 2003-04-25
  • 打赏
  • 举报
回复
freepcbird(寒雨) :
具体怎么设?谢谢!
weimenren 2003-04-25
  • 打赏
  • 举报
回复
你把服务器停了,而后再开,jsp 就用不了了
freepcbird 2003-04-25
  • 打赏
  • 举报
回复
在web.xml中设置reload属性,这样就会自动载入最新的编译结果
weimenren 2003-04-25
  • 打赏
  • 举报
回复
那是因为

经过编译后,servlet 被驻留在服务器的内存中。在随后对该页面的请求时,服务器将检查该 .jsp 文件是否有变化。如果它没有变化,服务器将使用驻留在内存中的 servlet 来生成对客户的响应。由于编译好的 servlet 是驻留在内存中,响应就非常快了。如果 .jsp 文件发生了变化,服务器将自动重新编译文件并替换在内存中的 servlet。
huawdai 2003-04-25
  • 打赏
  • 举报
回复
急等!有没有高手??
huawdai 2003-04-25
  • 打赏
  • 举报
回复
//*******************************我的test.jsp文件为:
<%@ page import="com.test.MyTest1" %>
<html>

<body bgcolor="#FFFFFF" text="#000000">

<%
MyTest1 mt = new MyTest1();
mt.output();
mt = null;
%>

</body>
</html>


//******************************我的MyTest1.java文件为:
package com.test;

/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: </p>
* @author unascribed
* @version 1.0
*/

public class MyTest1 {

public MyTest1() {
}

public void output(){
System.out.println("输出到weblogic去");
}
}


****************************现在的问题是:
如果我重新写成System.out.println("输出到weblogic去qqqqq");然后编译成MyTest1.class文件,可是weblogic的输出并不是"输出到weblogic去qqqqq";而仍然是“输出到weblogic”
huawdai 2003-04-25
  • 打赏
  • 举报
回复
我全删除了,除了WEB-INF\_tmp_war_myserver_myserver_pm2\WEB-INF\lib中的几个正被weblogic使用的.jar文件以外。还是不行!
gaojunbo 2003-04-25
  • 打赏
  • 举报
回复
把WEB-INF/_tmp_.....删除.

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧