急,为什么我放在WEB-INF\classes\目录下的java文件无法访问。

时间:2022-08-28 09:09:33
我的jsp程序无法识别WEB-INF\classes\下的java类,我写了全称也没有用,是不是要在什么地方设置一下呀。谢谢。

31 个解决方案

#1


你的类中的包位置和实际路径应该是一样的。
你的是吗?
例如:
package company.common;

那么就应该放在classed\company\common目录下。

#2


有没有在jsp程序里面import进java类阿?

#3


up

#4


是.class还是.java啊

#5


回 jemmylau(枕头),我是这样写的。
回hotenM(南京),.class和.java都在那个目录下。
回sunlen(伏枥),我 import了,它说找不到,而且我写的是全称:<% com.bean.bookBean myBook = new com.bean.bookBean();%>,应该不需要import把。
是不是要配置什么web.xml文件。急呀。

#6


我的resin可以但是tomcat就不可以了

#7


我觉得可能是web.xml文件不对。
恩,如果你使用的是tomcat,在webapps下有一个tomcat自带的jsp examples的目录,
你可以先把那个文件夹复制一下,然后把自己的程序文件和类文件放到复制的文件夹里面。
(我就是这么做的)

#8


谢谢julian9801(王) .我会按照你说的意见去试的,不过这样治标不治本呀.我不能在做项目的时候这样做吧.

#9


import不对,应该是这样
<%@ page import="com..forum.*,
                 com..forum.util.*"%>

#10


不会吧!

#11


up

#12


不会没有人能搞定把。

#13


建个com文件夹,在里面建bean文件夹,把class放进去
com放到classes下

#14


回: dugang106(冷风细雨)  大哥,我就是这么做的呀.不行呀.

#15


你的java类是Servlet还是Bean?
如果是Servlet的话,那你应该到Webapps\confi目录下找到web.xml文件
然后按ctrl-f输入invoke查找,最后你会看到
<!--
  <servlet>
  </servlet>
-->
把注释去掉,然后重启tomcat就OK了,试试吧!

#16


回 jswxaccp(躲进小楼成一统)  我用的是Bean

#17


现在还是没搞定

#18


bean这样写:
package com.mybean
.......
将它编译成.class 文件,可用javac,用jb只要make 就行
在web-inf中建classes\com,把mybean.class放入即可

#19


这样不对吧.

#20


在WEB-INF\classes\下建立包路径如:com\beans

在源代码中添加打包语句:package com.beans;
源代码文件名假设位mybean.java

在jsp中可以用page指令引入包,也可以不引入:
引入:<%@ page import="com.beans.*">   使用:mybean  ben=new mybean();建立对象。
不引入:使用com.beans.mybean   ben=new com.beans.mybean();

#21


你的环境变量classpath要包含yourdrv:\tomcat\webapps\yourapp\WEB-INF\classes和代表当前目录的"."
另外在你的tomcat\conf目录中的server.xml文件中的</host>标签前加入
<Context path="/yourapp" docBase="yourdrv:\Tomcat\webapps\yourapp" debug="0" reloadable="true"/>

注:我说的是在w2k中的配置,yourdrv指的是硬盘盘符如C、具体应根据你的tomcat的安装位置而定,yourapp是你的.jsp文件所在的目录。还要强调的是所有的路径包括文件名的大小写一定要正确。

#22


非常感谢lhbf() ,不过我的问题还没有解决。我估计快了,现在有点眉目了。
我现在是按照
<Context path="/yourapp" docBase="yourdrv:\Tomcat\webapps\yourapp" debug="0" reloadable="true"/>
来设置的,不过我在ADMIN下面查看docBase时,发现显示为yourapp,而不是全路径,而TOMCAT自带的webapps目录下的文件夹都是显示全路径。我原来把“\“输成了”/“,它就是只显示yourapp,而不是全路径,现在改过来了却还是不对,不知道是什么原因。

另外:---你的环境变量classpath要包含yourdrv:\tomcat\webapps\yourapp\WEB-INF\classes和代表当前目录的"."
这句话请具体解释一下。
谢谢。

#23


use tag
<jsp:bean />

#24


你写的java类,要编译为class文件,并且放到在类中规定的目录下面。同时在jsp中,要引进该类,
例如
<%@ page import="package.mecalss"%>
其中 package为存放类的包的名称
meclass是该javabean.

#25


按照包路径放文件
按照包路径引文件
不会有问题

#26


感谢楼上几位,不过你们说的我都已经注意了,请注意我现在的问题:
我现在是按照
<Context path="/yourapp" docBase="yourdrv:\Tomcat\webapps\yourapp" debug="0" reloadable="true"/>
来设置的,不过我在ADMIN下面查看docBase时,发现显示为yourapp,而不是全路径,而TOMCAT自带的webapps目录下的文件夹都是显示全路径。我原来把“\“输成了”/“,它就是只显示yourapp,而不是全路径,现在改过来了却还是不对,不知道是什么原因。

另外:---你的环境变量classpath要包含yourdrv:\tomcat\webapps\yourapp\WEB-INF\classes和代表当前目录的"."
这句话请具体解释一下。
谢谢。

#27


请大家帮帮忙呀。

#28


com.bean.bookBean 
你在写bean的时候确认一下是否有:
package com.bean
你的文件名确认一下是否是bookBean.java 
在classes目录下是否是这样的:
classes -> com -> bean -> bookBean.class

如果都符合的话,应该是可以找到的,如果还不行,建议你把class打成jar文件,然后把jar文件的存放路径写到classpath(环境变量)里去。那样就可以了。

#29


gz

#30


建议你把所有类全部重新编译一遍,注意所有开发过程中使用的JDK版本要一致,否则可能会出现无法识别类的情况。我遇到过这样的问题,在1。4下写的类与1.3下的混编,根本就不能识别。你会不会是这个问题?

#31


当前目录"."的设置是方便找到java文件,如在控制台下执行一个java程序时让系统从你当前所在的目录中开始查找.class文件。

#1


你的类中的包位置和实际路径应该是一样的。
你的是吗?
例如:
package company.common;

那么就应该放在classed\company\common目录下。

#2


有没有在jsp程序里面import进java类阿?

#3


up

#4


是.class还是.java啊

#5


回 jemmylau(枕头),我是这样写的。
回hotenM(南京),.class和.java都在那个目录下。
回sunlen(伏枥),我 import了,它说找不到,而且我写的是全称:<% com.bean.bookBean myBook = new com.bean.bookBean();%>,应该不需要import把。
是不是要配置什么web.xml文件。急呀。

#6


我的resin可以但是tomcat就不可以了

#7


我觉得可能是web.xml文件不对。
恩,如果你使用的是tomcat,在webapps下有一个tomcat自带的jsp examples的目录,
你可以先把那个文件夹复制一下,然后把自己的程序文件和类文件放到复制的文件夹里面。
(我就是这么做的)

#8


谢谢julian9801(王) .我会按照你说的意见去试的,不过这样治标不治本呀.我不能在做项目的时候这样做吧.

#9


import不对,应该是这样
<%@ page import="com..forum.*,
                 com..forum.util.*"%>

#10


不会吧!

#11


up

#12


不会没有人能搞定把。

#13


建个com文件夹,在里面建bean文件夹,把class放进去
com放到classes下

#14


回: dugang106(冷风细雨)  大哥,我就是这么做的呀.不行呀.

#15


你的java类是Servlet还是Bean?
如果是Servlet的话,那你应该到Webapps\confi目录下找到web.xml文件
然后按ctrl-f输入invoke查找,最后你会看到
<!--
  <servlet>
  </servlet>
-->
把注释去掉,然后重启tomcat就OK了,试试吧!

#16


回 jswxaccp(躲进小楼成一统)  我用的是Bean

#17


现在还是没搞定

#18


bean这样写:
package com.mybean
.......
将它编译成.class 文件,可用javac,用jb只要make 就行
在web-inf中建classes\com,把mybean.class放入即可

#19


这样不对吧.

#20


在WEB-INF\classes\下建立包路径如:com\beans

在源代码中添加打包语句:package com.beans;
源代码文件名假设位mybean.java

在jsp中可以用page指令引入包,也可以不引入:
引入:<%@ page import="com.beans.*">   使用:mybean  ben=new mybean();建立对象。
不引入:使用com.beans.mybean   ben=new com.beans.mybean();

#21


你的环境变量classpath要包含yourdrv:\tomcat\webapps\yourapp\WEB-INF\classes和代表当前目录的"."
另外在你的tomcat\conf目录中的server.xml文件中的</host>标签前加入
<Context path="/yourapp" docBase="yourdrv:\Tomcat\webapps\yourapp" debug="0" reloadable="true"/>

注:我说的是在w2k中的配置,yourdrv指的是硬盘盘符如C、具体应根据你的tomcat的安装位置而定,yourapp是你的.jsp文件所在的目录。还要强调的是所有的路径包括文件名的大小写一定要正确。

#22


非常感谢lhbf() ,不过我的问题还没有解决。我估计快了,现在有点眉目了。
我现在是按照
<Context path="/yourapp" docBase="yourdrv:\Tomcat\webapps\yourapp" debug="0" reloadable="true"/>
来设置的,不过我在ADMIN下面查看docBase时,发现显示为yourapp,而不是全路径,而TOMCAT自带的webapps目录下的文件夹都是显示全路径。我原来把“\“输成了”/“,它就是只显示yourapp,而不是全路径,现在改过来了却还是不对,不知道是什么原因。

另外:---你的环境变量classpath要包含yourdrv:\tomcat\webapps\yourapp\WEB-INF\classes和代表当前目录的"."
这句话请具体解释一下。
谢谢。

#23


use tag
<jsp:bean />

#24


你写的java类,要编译为class文件,并且放到在类中规定的目录下面。同时在jsp中,要引进该类,
例如
<%@ page import="package.mecalss"%>
其中 package为存放类的包的名称
meclass是该javabean.

#25


按照包路径放文件
按照包路径引文件
不会有问题

#26


感谢楼上几位,不过你们说的我都已经注意了,请注意我现在的问题:
我现在是按照
<Context path="/yourapp" docBase="yourdrv:\Tomcat\webapps\yourapp" debug="0" reloadable="true"/>
来设置的,不过我在ADMIN下面查看docBase时,发现显示为yourapp,而不是全路径,而TOMCAT自带的webapps目录下的文件夹都是显示全路径。我原来把“\“输成了”/“,它就是只显示yourapp,而不是全路径,现在改过来了却还是不对,不知道是什么原因。

另外:---你的环境变量classpath要包含yourdrv:\tomcat\webapps\yourapp\WEB-INF\classes和代表当前目录的"."
这句话请具体解释一下。
谢谢。

#27


请大家帮帮忙呀。

#28


com.bean.bookBean 
你在写bean的时候确认一下是否有:
package com.bean
你的文件名确认一下是否是bookBean.java 
在classes目录下是否是这样的:
classes -> com -> bean -> bookBean.class

如果都符合的话,应该是可以找到的,如果还不行,建议你把class打成jar文件,然后把jar文件的存放路径写到classpath(环境变量)里去。那样就可以了。

#29


gz

#30


建议你把所有类全部重新编译一遍,注意所有开发过程中使用的JDK版本要一致,否则可能会出现无法识别类的情况。我遇到过这样的问题,在1。4下写的类与1.3下的混编,根本就不能识别。你会不会是这个问题?

#31


当前目录"."的设置是方便找到java文件,如在控制台下执行一个java程序时让系统从你当前所在的目录中开始查找.class文件。