这是java beans文件,已经编译通过,放在了C:\Tomcat\common\classes\abc目录下:
import java.io.*;
public class circle{
int radius;
public circle(){
radius=1;
}
public int getradius(){
return radius;
}
public void setradius(int newradius){
radius=newradius;
}
public double circlearea(){
return Math.PI*radius*radius;
}
public double circlelength(){
return 2.0*Math.PI*radius;
}
} 下面是jsp文件:
<%@ page contenttype="text/html;charset=gb2312" %>
<%@ page import="abc.circle" %>
<html>
<body bgcolor=cyan>
<font size=1>
<jsp:usebean id="girl" class="abc.circle" scope="page">
</jsp:usebean>
<% girl.setradius(100);
%>
<p>圆的半径是:
<%= girl.getradius() %>
<p>圆的周长是:
<%= girl.circlelength() %>
<p>圆的面积是:
<%= girl.circlearea() %>
</font>
</body>
</html> 运行后,提示错误如下:
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /usebeans.jsp(6,5) Invalid standard action
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1259)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1577)
org.apache.jasper.compiler.Parser.parse(Parser.java:127)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:212)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.为何?谢谢大家!
import java.io.*;
public class circle{
int radius;
public circle(){
radius=1;
}
public int getradius(){
return radius;
}
public void setradius(int newradius){
radius=newradius;
}
public double circlearea(){
return Math.PI*radius*radius;
}
public double circlelength(){
return 2.0*Math.PI*radius;
}
} 下面是jsp文件:
<%@ page contenttype="text/html;charset=gb2312" %>
<%@ page import="abc.circle" %>
<html>
<body bgcolor=cyan>
<font size=1>
<jsp:usebean id="girl" class="abc.circle" scope="page">
</jsp:usebean>
<% girl.setradius(100);
%>
<p>圆的半径是:
<%= girl.getradius() %>
<p>圆的周长是:
<%= girl.circlelength() %>
<p>圆的面积是:
<%= girl.circlearea() %>
</font>
</body>
</html> 运行后,提示错误如下:
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /usebeans.jsp(6,5) Invalid standard action
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1259)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1577)
org.apache.jasper.compiler.Parser.parse(Parser.java:127)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:212)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.为何?谢谢大家!
HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /usebeans.jsp(6,5) Invalid standard action
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.parseStandardAction(Parser.java:1259)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1577)
org.apache.jasper.compiler.Parser.parse(Parser.java:127)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:212)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:156)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:296)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:299)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.
radius=newradius;
}
改为:
public void setradius(int newradius){
this.radius=newradius;
} 另:加了jsp:usebean, "<%@ page import="abc.circle" %> "可以不用了吧,改改看~~~
另: 一般class文件是放在你应用程序下一个WEB-INF文件夹下的classes文件夹下的..
radius=newradius;
} 对应的字段 是 radius,但是 radius 对应的 BEAN 的方法名是 setRadius, set方法也时同理
1.有可能是 WEB-INF 下 的文件class的结构不对
2. DEBUG ,停下来,进去看看
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
</web-app>有问题吗?
<%@ page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="girl" class="abc.circle" scope="page"/>
<body bgcolor=cyan>
<font size=1>
<% girl.setradius(100);
%>
<p>圆的半径是:
<%= girl.getradius() %>
<p>圆的周长是:
<%= girl.circlelength() %>
<p>圆的面积是:
<%= girl.circlearea() %>
</font>
</body>
</html>
<%
circle newCircle = new circle();
newCircle.setradius(100);
out.pringln(newCircle.getradius());
out.println(newCircle.circlelength());
out.println(newCircle.circlearea());
%>
public class Circle{}
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:599)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:141)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.ClassNotFoundException: org.apache.jsp.usebeans_jsp
java.net.URLClassLoader$1.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(Unknown Source)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:134)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:66)
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:597)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:141)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:311)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.23 logs.
是否有 abc\Circle.class 这个文件呢包结构可能出错
public class circle{}
D:\work\abc\circle.java
D:\work>javac abc/circle.java
D:\work>java abc.java