高分求解答,问题很简单(500分)

fangleisd 2004-12-07 10:16:06
我的问题稍微有点多,请高手耐心看,我尽量说明白点
1、在tomcat中使用javabean,这个bean是否一定要在包中为什么?如果不用的话我把编译好的javabean放在web-inf/classes下,为什么在jsp中无法找到这个bean?
2、和第一个问题的本质其实是一样的,我写了个不带包的class把她放在web-inf/classes下,在jsp中如何使用这个类?我把代码简化一下如下
<%!
testClass a=new testClass();
%>
testClass就是我写的一个简单的测试类,jsp文件中的代码就是上面三行,testClass的代码如下很简单
public class testClass{
public testClass(){
System.out.println("ok");
}
}
我的系统环境是jdk1.4.0+tomcat4.1.8
这个jsp总是报错,无法解析testClass,就是加载不了testClass
我在jsp中加上import语句如下
<%@ page import = "testBean"%>
运行报错提示缺少"."
我想问一下这个问题怎么解决,难道一定加上包吗?我测试过加上包的话测试可以通过,在web-inf/classes下的sevlet都是不带包的为什么可以运行?
3、编写好的jsp都会被编译成servlet class,我看了你下tomcat翻译候的源程序,每个java源程序使用了pacgage org.apache.jsp,可是这个java源程序并没有放在相应的的目录中,这样作为什么还能够
正常的编译和运行
...全文
427 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
apan1979 2004-12-08
  • 打赏
  • 举报
回复
这三个问题,其实都不是问题。如果想搞明白,就看看tomcat是怎么实现的,就一目了然了。
programdolt 2004-12-08
  • 打赏
  • 举报
回复
耐心等待高手的出现
pcyy 2004-12-08
  • 打赏
  • 举报
回复
耐心等待高手的出现
newtomcat 2004-12-08
  • 打赏
  • 举报
回复
其实不只是javaBean,随便一个自定义类都要打包,否则Tomcat说找不到。所以楼主问题1,2是一样的,打包就行了。至于原因,我想是因为Tomcat的自定义的类装载器编写的有问题。而且在官方网站上,明明说可以把未打包的类放在类路径下的,实际却不能,很奇怪。而servlet不打包就直接放在classes目录下面就可以被找到,估计也是类装载器的原因。


long2519 2004-12-08
  • 打赏
  • 举报
回复
ding~
liangm 2004-12-08
  • 打赏
  • 举报
回复
帮顶一下~
up ~~~~
fengyun1314 2004-12-08
  • 打赏
  • 举报
回复
haha7 2004-12-08
  • 打赏
  • 举报
回复
呀~~真是.....~~耐心等待高手出现
kulongge 2004-12-08
  • 打赏
  • 举报
回复
加个包
我也遇到过!
sunboyyq 2004-12-08
  • 打赏
  • 举报
回复
ding
debug158 2004-12-08
  • 打赏
  • 举报
回复
up
riyue80 2004-12-08
  • 打赏
  • 举报
回复
耐心等待高手的出现...
drugon 2004-12-07
  • 打赏
  • 举报
回复
我把jsp编译后的class文件用二进制编辑器打开了,我发现编译后java文件就是class文件是不带包的,也就说虽然源文件中有package org.apache.jsp,但是编译后的class是没有包的,大家如果不信的话可一用System.out.println(this.getClass().getPackage());测试一下你回发现输出的是null。页就是说不带包的。不过我没有测试设置workdir后的情况。

这个问题是在TOMCAT的server.xml文件中的Context没有设置workdir的缘故,不信你用Eclipse和tomcatPluginV3这个插件看看,保证有这样的目录的。
fangleisd 2004-12-07
  • 打赏
  • 举报
回复
怎么邀请版主来参与这个帖子呢?
jFresH_MaN 2004-12-07
  • 打赏
  • 举报
回复
先帮你顶
还是说包吧
我发现在Tomcat里面只有javabean必须打包,其他都可以不用
呵呵,也没什么其他了,就是servlet不用
至于原因还真不知道
fangleisd 2004-12-07
  • 打赏
  • 举报
回复
十分感谢大家的发言,尤其是drugon(personal)和 jFresH_MaN()(AbsolutelyFresh)(java欣人),但是我感觉问题没有完全解决,我回给你们一人五十分的(顺便告诉我怎么给分而且不结束这个帖子)
我想关于这三个问题跟大家再探讨一下,再回复还是有分
先说第三个问题,我把jsp编译后的class文件用二进制编辑器打开了,我发现编译后java文件就是class文件是不带包的,也就说虽然源文件中有package org.apache.jsp,但是编译后的class是没有包的,大家如果不信的话可一用System.out.println(this.getClass().getPackage());测试一下你回发现输出的是null。页就是说不带包的。不过我没有测试设置workdir后的情况。
再说第一和第二个问题
我觉的这好像不光是jsp中的问提,就是写一个简单的应用程序,两个程序,一个带包,一个不带包,在带包的程序中是无法引用不带包的java类的。这个大家可以测试,在回复前先测试一下,所以我就很奇怪,为什么servlet不带包,放在web-inf/classes下,就可以被tomcat的类加载呢?
谢谢各位高手帮忙顶
woodcord 2004-12-07
  • 打赏
  • 举报
回复
你再开四个帖子。每个帖子100分,叫你想给分的人去领分就行了。这样一共是500分,你现在只能是100分100分的给了
woodcord 2004-12-07
  • 打赏
  • 举报
回复
up
tom2005 2004-12-07
  • 打赏
  • 举报
回复
up
fangleisd 2004-12-07
  • 打赏
  • 举报
回复
顺便问一下怎么给分,但是我还不想结束这个帖子
加载更多回复(16)

81,115

社区成员

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

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