JAVA挑战者一定要进,不可错过!

javavip 2006-04-02 02:59:34
比如 bbs.domain.com 下:
a.jsp:
<%@ include file="b.jsp" %>
<%=tmp%>

b.jsp:
<%
String tmp = "C:\\site\\bbs";
%>

运行a.jsp显示C:\site\bbs,正常。


修改整合apache2和resin-2.1.16,重配APACHE2

UseCanonicalName Off

<VirtualHost *:80>
ServerName www.domain.com
VirtualDocumentRoot C:/webroot/%1
</VirtualHost>

resin对应配置了二级域名,正常运行。

但是出现了奇怪的问题。


1)现在即使删除了b.jsp文件,a.jsp一样可以运行,不会报错b.jsp不存在;
2)修改a.jsp或者b.jsp,都是按照重新整合之前的结果显示。
3)修改
b.jsp:
<%
String tmp = "C:\\webroot\\bbs";
%>

a.jsp:(省略了一些定义)
<%@ include file="b.jsp" %>
<%=tmp%>
<%
SFile = new File(tmp,"x.txt");
FileWriter = new FileWriter(SFile);
%>

报错“找不到C:\site\bbs\x.txt”,即使错也应该是“找不到C:\webroot\bbs\x.txt”真是莫名其妙了,好郁闷!




找错找了一天一夜了,都没搞定,特请教各位高手,非常感谢!
...全文
125 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
javavip 2006-04-02
  • 打赏
  • 举报
回复
一语惊醒梦中人啊,哈哈,我忘记了这个,还以为是我重整的错误,当局者迷啊!
谢谢各位,特别是yjh133,谢谢!
Timsole 2006-04-02
  • 打赏
  • 举报
回复
来晚了
lydvqq 2006-04-02
  • 打赏
  • 举报
回复
那就把Tomcat的work目录下的删除,让它重新编译试下./
Fifotom 2006-04-02
  • 打赏
  • 举报
回复
楼上正确
yjh133 2006-04-02
  • 打赏
  • 举报
回复
jsp都会被编译成.class文件,Tomcat中是放在work目录地下。然后由web容器加载显示。

你遇到情况可能是修改a.jsp和b.jsp后,b.jsp没有被重新编译。故temp值仍为 C:\\site\\bbs,故会出现你那种情况。
你把a.jsp和b.jsp改为aa.jsp和bb.jsp后,aa.jsp会加载bb.jsp,自然会重新编译bb.jsp.temp值也就改过来了,自然正确。
遇到你那种情况,应该让修改后的jsp文件都重新编译一下:如删除jsp生成的.class文件;或重新请求所有修改后的页面(b.jsp和a.jsp).
ihihnoline 2006-04-02
  • 打赏
  • 举报
回复
会不会因此而引起的呢?
ihihnoline 2006-04-02
  • 打赏
  • 举报
回复
有没改系统时间啊?

javavip 2006-04-02
  • 打赏
  • 举报
回复
刚刚做了测试,把a.jsp改名为aa.jsp,b.jsp改名为bb.jsp,再运行,就可以达到预期效果。

估计是保留在了内存里吧,好奇怪的,站点下那么多文件,不至于个个都改名吧,该怎么解决呢?

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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