今天用netBeans开发JSP+javaBeans的时候,按照JSP书(《JSP实用教程》清华大学出版社)上面的开发步骤操作,书都翻烂了,一个字的对下来都是按照书上说的,可是调试的时候就是出错,netBeans都不知道重新安装多少回了,后来才在《jsp 2.0技术手册》上找出了原因所在。
原来的javaBeans源代码如下:Circle.java
public class Circle {
private int i;
public Circle() {
i=1;
}
public void setInt(int j){
i=j;
}
public int getInt(){
return i;
}
并且将Circle.java编译得到了Circle.class以后存放在web模块下面的web-inf/classes/下面
index.jsp代码如下:
<%@ page import="Circle" %>
<html>
<head>
<title>
Counter
</title>
</head>
<jsp:useBean id="myBean" scope="session" class="Circle" />
<body>
<%
int i=1;
myBean.setInt(i++);
%>
<p>myBean=<%=myBean.getInt()%></p>
</body>
</html>
编译的时候老是出错,说import Circle=NULL
后来做了如下调整就可以正确执行通过:Circle.java
package mypack;//注意这句
public class Circle {
private int i;
public Circle() {
i=1;
}
public void setInt(int j){
i=j;
}
public int getInt(){
return i;
}
并且将编译好的Circle.class存放在web-inf/classes/mypack下面。
index.jsp修改如下:
<%@ page import="mypack.Circle" %>
<html>
<head>
<title>
Counter
</title>
</head>
<jsp:useBean id="myBean" scope="session" class="mypack.Circle" />
<body>
<%
int i=1;
myBean.setInt(i++);
%>
<p>myBean=<%=myBean.getInt()%></p>
</body>
</html>
然后可以顺利执行。
总结:注意在开发jsp的时候package的重要性,这个可是唯一标示路径的语句。