我的代码 和错误在下面,帮我看下,哪里出错了!package java.mybean;public class MyBean {
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
int age;
public String getInfo(){
String info="";
info+="<table border='1'>";
info+="<tr>";
info+="<td>姓名:</td><td width='100' >"+name+"</td>";
info+="</tr><tr>";
info+="<td>年龄:</td><td>"+age+"</td>";
info+="</tr>";
info+="</table>";
return info;
}
}<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=GBK"%>
<html>
<head>
<title>Jsp:UseBean</title>
</head>
<body>
<jsp:useBean id="myBean" scope="session" class="java.mybean.MyBean" />
<% myBean.setName"小强"; %>
<% myBean.setAge(18); %>
<% =myBean.getInfo(); %>
</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: org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:600)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause java.lang.ClassNotFoundException: org.apache.jsp.index_jsp
java.net.URLClassLoader$1.run(URLClassLoader.java:200)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(URLClassLoader.java:188)
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:598)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:144)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.
--------------------------------------------------------------------------------Apache Tomcat/6.0.13
<html>
<head>
<title>Jsp:UseBean</title>
</head>
<body>
<jsp:useBean id="myBean" scope="session" class="java.mybean.MyBean" />
<% myBean.setName"小强"; %>
<% myBean.setAge(18); %>
<% =myBean.getInfo(); %>
</body>
</html>是不是 <% myBean.setName("小强"); %>
我的程序是这个<% myBean.setName("小强"); %>
我下面的程序把:
<% myBean.setName"小强"; %>
<% myBean.setAge(18); %>
<% =myBean.getInfo(); %>改成:
<% myBean.setName("小强"); %>
<% myBean.setAge(18); %>
<%= myBean.getInfo() %>不过都是错误!
这个包是不是java有特殊规定啊?换个别的包试试,比如:com.mybean
2009-5-2 16:01:47 org.apache.catalina.core.AprLifecycleListener init
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Program Files\Java\jdk1.6.0_13\bin;D:\MyEclipse\Common\plugins\com.genuitec.eclipse.easie.tomcat.myeclipse_7.1.0.zmyeclipse7102009030516\tomcat\bin
2009-5-2 16:01:47 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-9000
2009-5-2 16:01:47 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 431 ms
2009-5-2 16:01:47 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2009-5-2 16:01:47 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.13
2009-5-2 16:01:48 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-9000
2009-5-2 16:01:48 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2009-5-2 16:01:48 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/22 config=null
2009-5-2 16:01:48 org.apache.catalina.startup.Catalina start
信息: Server startup in 1595 ms
2009-5-2 16:01:54 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
org.apache.jasper.JasperException: /index.jsp(8,3) The value for the useBean class attribute java.mybean.MyBean is invalid.
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1200)
at org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1155)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2386)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2392)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
at org.apache.jasper.compiler.Generator.generate(Generator.java:3374)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:210)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
我以前还真没有碰到这个问题,
因为我从来没有用java做过包名,呵呵。看到你的程序报错为Security相关的,所以我猜测是java对包名做了限制,
究其原因,因为java的protected(或者friend?记不清了)方法和变量是同包可访问,
java有可能禁制用户将类放在跟java核心类同包,来保证他的核心API的稳定与安全。刚才做了个试验,确实如此,也证明了我的猜测,另外,你的jsp还有一处错误:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=GBK"%>
<html>
<head>
<title>Jsp:UseBean</title>
</head>
<body>
<jsp:useBean id="myBean" scope="session" class="java.mybean.MyBean" />
<% myBean.setName"小强"; %>
<% myBean.setAge(18); %>
<% =myBean.getInfo(); %> </body>
</html>红色部分应为:
<%=myBean.getInfo()%>
多个分号啊。。大哥。。
<% =myBean.getInfo() %>
你换一个包名试试java.mybean.MyBean