当前位置: 技术问答>java相关
在jsp中,用import="mypackage.*"时总提示找不到包,为什么呀?
来源: 互联网 发布时间:2015-04-03
本文导语: 我已经把mypackage路径加入classpath了 我的配置是win2k + j2ee1.3 + tomcat4.0 | (1)////////////bean的路径 /////////////////////////////// JavaBean是一种Java类 (class),通过封装属性和方法成为具有某种功能或者处...
我已经把mypackage路径加入classpath了
我的配置是win2k + j2ee1.3 + tomcat4.0
我的配置是win2k + j2ee1.3 + tomcat4.0
|
(1)////////////bean的路径
///////////////////////////////
JavaBean是一种Java类 (class),通过封装属性和方法成为具有某种功能或者处理某个业务的对象。
JavaBean被组织成为package(数据包)以便进行管理,实际上就是把一组JavaBean一起放在某某目录中,
每个类的定义前加上package某某,本例中为test。目录test必须放在系统环境CLASSPATH包含的目录下,
系统才能找到其中的JavaBean。JSWDK在缺省状态下将jswdk-1.0.1webpagesWEB-INFjspbeans
加入CLASSPATH。建立自己的JavaBean和package时,就放在这个目录中也不失为一种简易的方法。
比如我们再次编写的javabean文件就要放在jswdk-1.0.1webpagesWEB-INFjspbeanstest下面
helloWorld.java编辑好后,在DOS状态下,进入目录jswdk-1.0.1webpagesWEB-INFjspbeans,
用JDK的javac命令编译helloWorld.java那么jsp中就要这样调用:
<jsp:useBean id="helloBean" scope="session" class="test.helloWorld" />
////////
(2) jsp的路径
////////////////
JSWDK中包含的Web服务器的文档目录在缺省状态下为jswdk-1.0.1webpages,主文档在缺省状态下为index.html
和index.jsp。也就是说访问http://localhost:8080等于访问jswdk-1.0.1webpagesindex.html。 用文本编辑器,
如Windows中的记事本(Notepad),创建一个文本文件hi.jsp,保存在jswdk-1.0.1webpages目录下
在浏览器的地址栏中键入http://localhost:8080/hi.jsp
//////////
JSWDK缺省的文档目录是jswdk-1.0.1webpages,在此目录下可以建立子目录,
例如jswdk-1.0.1webpagestest,就能在浏览器中用http://localhost/test访问这个目录,
为了使得这个子目录能执行JSP程序,还必须在webserver.xml中的<Service></Service>节加入:
<WebApplication id="test" mapping="/test" docBase="webpages/test" />
并且,还必须建立jswdk-1.0.1webpagestestWEB-INF目录,并从jswdk-1.0.1webpagesWEB-INF目录
中复制过来以下四个文件:mappings.properties、mime.properties、servlets.properties以及webapp.properties。
完成这些过程,才能通知JSWDK的Web服务器执行http://localhost/test 中的JSP程序。
///////////
(3)servlet的编译和安装
/////////
Servlet的编译和安装
不同的Web服务器上安装Servlet的具体细节可能不同,请参考Web服务器文档了解更权威的说明。
假定使用Java Web Server(JWS)2.0,则Servlet应该安装到JWS安装目录的servlets子目录下。在本文中,
为了避免同一服务器上不同用户的Servlet命名冲突,我们把所有Servlet都放入一个独立的包hall中;
如果你和其他人共用一个服务器,而且该服务器没有“虚拟服务器”机制来避免这种命名冲突,那么最好也使用包。
把Servlet放入了包hall之后,HelloWorld.java实际上是放在servlets目录的hall子目录下。
大多数其他服务器的配置方法也相似,除了JWS之外,本文的Servlet和JSP示例已经在BEA WebLogic和
IBM WebSphere 3.0下经过测试。WebSphere具有优秀的虚拟服务器机制,因此,如果只是为了避免命名冲突的话并非
一定要用包。对于没有使用过包的初学者,下面我们介绍编译包里面的类的两种方法。
一种方法是设置CLASSPATH,使其指向实际存放Servlet的目录的上一级目录(Servlet主目录),
然后在该目录中按正常的方式编译。例如,如果Servlet的主目录是C:\JavaWebServer\servlets,
包的名字(即主目录下的子目录名字)是hall,在Windows下,编译过程如下:
DOS> set CLASSPATH=C:\JavaWebServer\servlets;%CLASSPATH%
DOS> cd C:\JavaWebServer\servlets\hall
DOS> javac YourServlet.java
第二种编译包里面的Servlet的方法是进入Servlet主目录,执行“javac directory\YourServlet.java”
(Windows)或者“javac directory/YourServlet.java”(Unix)。例如,再次假定Servlet主目录是
C:\JavaWebServer\servlets,包的名字是hall,在Windows中编译过程如下:
DOS> cd C:\JavaWebServer\servlets
DOS> javac hall\YourServlet.java
注意在Windows下,大多数JDK 1.1版本的javac要求目录名字后面加反斜杠(\)。JDK1.2已经改正这个问题,
然而由于许多Web服务器仍旧使用JDK 1.1,因此大量的Servlet开发者仍旧在使用JDK 1.1。
最后,Javac还有一个高级选项用于支持源代码和.class文件的分开放置,即你可以用javac的“-d”选项
把.class文件安装到Web服务器所要求的目录。
3.2.3 运行Servlet
在Java Web Server下,Servlet应该放到JWS安装目录的servlets子目录下,
而调用Servlet的URL是http://host/servlet/ServletName。注意子目录的名字是servlets(带“s”),
而URL使用的是“servlet”。由于HelloWorld Servlet放入包hall,
因此调用它的URL应该是http://host/servlet/hall.HelloWorld。在其他的服务器上,
安装和调用Servlet的方法可能略有不同。
大多数Web服务器还允许定义Servlet的别名,因此Servlet也可能用http://host/any-path/any-file.html
形式的URL调用。具体如何进行配置完全依赖于服务器类型,请参考服务器文档了解细节。
///////////////////////////////
JavaBean是一种Java类 (class),通过封装属性和方法成为具有某种功能或者处理某个业务的对象。
JavaBean被组织成为package(数据包)以便进行管理,实际上就是把一组JavaBean一起放在某某目录中,
每个类的定义前加上package某某,本例中为test。目录test必须放在系统环境CLASSPATH包含的目录下,
系统才能找到其中的JavaBean。JSWDK在缺省状态下将jswdk-1.0.1webpagesWEB-INFjspbeans
加入CLASSPATH。建立自己的JavaBean和package时,就放在这个目录中也不失为一种简易的方法。
比如我们再次编写的javabean文件就要放在jswdk-1.0.1webpagesWEB-INFjspbeanstest下面
helloWorld.java编辑好后,在DOS状态下,进入目录jswdk-1.0.1webpagesWEB-INFjspbeans,
用JDK的javac命令编译helloWorld.java那么jsp中就要这样调用:
<jsp:useBean id="helloBean" scope="session" class="test.helloWorld" />
////////
(2) jsp的路径
////////////////
JSWDK中包含的Web服务器的文档目录在缺省状态下为jswdk-1.0.1webpages,主文档在缺省状态下为index.html
和index.jsp。也就是说访问http://localhost:8080等于访问jswdk-1.0.1webpagesindex.html。 用文本编辑器,
如Windows中的记事本(Notepad),创建一个文本文件hi.jsp,保存在jswdk-1.0.1webpages目录下
在浏览器的地址栏中键入http://localhost:8080/hi.jsp
//////////
JSWDK缺省的文档目录是jswdk-1.0.1webpages,在此目录下可以建立子目录,
例如jswdk-1.0.1webpagestest,就能在浏览器中用http://localhost/test访问这个目录,
为了使得这个子目录能执行JSP程序,还必须在webserver.xml中的<Service></Service>节加入:
<WebApplication id="test" mapping="/test" docBase="webpages/test" />
并且,还必须建立jswdk-1.0.1webpagestestWEB-INF目录,并从jswdk-1.0.1webpagesWEB-INF目录
中复制过来以下四个文件:mappings.properties、mime.properties、servlets.properties以及webapp.properties。
完成这些过程,才能通知JSWDK的Web服务器执行http://localhost/test 中的JSP程序。
///////////
(3)servlet的编译和安装
/////////
Servlet的编译和安装
不同的Web服务器上安装Servlet的具体细节可能不同,请参考Web服务器文档了解更权威的说明。
假定使用Java Web Server(JWS)2.0,则Servlet应该安装到JWS安装目录的servlets子目录下。在本文中,
为了避免同一服务器上不同用户的Servlet命名冲突,我们把所有Servlet都放入一个独立的包hall中;
如果你和其他人共用一个服务器,而且该服务器没有“虚拟服务器”机制来避免这种命名冲突,那么最好也使用包。
把Servlet放入了包hall之后,HelloWorld.java实际上是放在servlets目录的hall子目录下。
大多数其他服务器的配置方法也相似,除了JWS之外,本文的Servlet和JSP示例已经在BEA WebLogic和
IBM WebSphere 3.0下经过测试。WebSphere具有优秀的虚拟服务器机制,因此,如果只是为了避免命名冲突的话并非
一定要用包。对于没有使用过包的初学者,下面我们介绍编译包里面的类的两种方法。
一种方法是设置CLASSPATH,使其指向实际存放Servlet的目录的上一级目录(Servlet主目录),
然后在该目录中按正常的方式编译。例如,如果Servlet的主目录是C:\JavaWebServer\servlets,
包的名字(即主目录下的子目录名字)是hall,在Windows下,编译过程如下:
DOS> set CLASSPATH=C:\JavaWebServer\servlets;%CLASSPATH%
DOS> cd C:\JavaWebServer\servlets\hall
DOS> javac YourServlet.java
第二种编译包里面的Servlet的方法是进入Servlet主目录,执行“javac directory\YourServlet.java”
(Windows)或者“javac directory/YourServlet.java”(Unix)。例如,再次假定Servlet主目录是
C:\JavaWebServer\servlets,包的名字是hall,在Windows中编译过程如下:
DOS> cd C:\JavaWebServer\servlets
DOS> javac hall\YourServlet.java
注意在Windows下,大多数JDK 1.1版本的javac要求目录名字后面加反斜杠(\)。JDK1.2已经改正这个问题,
然而由于许多Web服务器仍旧使用JDK 1.1,因此大量的Servlet开发者仍旧在使用JDK 1.1。
最后,Javac还有一个高级选项用于支持源代码和.class文件的分开放置,即你可以用javac的“-d”选项
把.class文件安装到Web服务器所要求的目录。
3.2.3 运行Servlet
在Java Web Server下,Servlet应该放到JWS安装目录的servlets子目录下,
而调用Servlet的URL是http://host/servlet/ServletName。注意子目录的名字是servlets(带“s”),
而URL使用的是“servlet”。由于HelloWorld Servlet放入包hall,
因此调用它的URL应该是http://host/servlet/hall.HelloWorld。在其他的服务器上,
安装和调用Servlet的方法可能略有不同。
大多数Web服务器还允许定义Servlet的别名,因此Servlet也可能用http://host/any-path/any-file.html
形式的URL调用。具体如何进行配置完全依赖于服务器类型,请参考服务器文档了解细节。
|
classpath=mypackage路径+mypackage
perhaps
perhaps
|
你安j2se没有,
设置classpath没、
设置classpath没、