我写了一个非常简单的jsp问题,该问题从类中获取一个数字并显示出来,但遇到错误500。
我在Tomcat 5.5中使用eclipse:
<%@page import="java.io.IOException"%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <h1>number of shown :</h1> <body> <% try{ out.print(Model.getCount()); } catch(IOException k) { out.println("Eror"); } %> </body> </html>
我的模型课=>
public class Model { static int number=0; public static int getCount() { number++; return number; } }
我的任何模型类都是默认包。
我看到的错误:
类型例外报告 信息 描述服务器遇到内部错误(),导致服务器无法满足此请求。 例外 org.apache.jasper.JasperException:无法为JSP编译类: 在jsp文件中的第14行出现错误:/show.jsp无法解析模型11:12:<%13:try {14:out.print(Model.getCount()); 15:} 16:catch(IOException k)17:{ 堆栈跟踪:org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:93)org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)org.apache.jasper.compiler.JDTCompiler.generateClass( JDTCompiler.java:451)org.apache.jasper.compiler.Compiler.compile(Compiler.java:328)org.apache.jasper.compiler.Compiler.compile(Compiler.java:307)org.apache.jasper.compiler。 Compiler.compile(Compiler.java:295)org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:565)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:309)org.apache.jasper。 servlet.JspServlet.serviceJspFile(JspServlet.java:308)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)javax.servlet.http.HttpServlet.service(HttpServlet.java:729) note注意在Apache Tomcat / 5.5.33日志中可以找到根本原因的完整堆栈跟踪。 阿帕奇雄猫
类型例外报告
信息
描述服务器遇到内部错误(),导致服务器无法满足此请求。
例外
org.apache.jasper.JasperException:无法为JSP编译类:
在jsp文件中的第14行出现错误:/show.jsp无法解析模型11:12:<%13:try {14:out.print(Model.getCount()); 15:} 16:catch(IOException k)17:{
堆栈跟踪:org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:93)org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)org.apache.jasper.compiler.JDTCompiler.generateClass( JDTCompiler.java:451)org.apache.jasper.compiler.Compiler.compile(Compiler.java:328)org.apache.jasper.compiler.Compiler.compile(Compiler.java:307)org.apache.jasper.compiler。 Compiler.compile(Compiler.java:295)org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:565)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:309)org.apache.jasper。 servlet.JspServlet.serviceJspFile(JspServlet.java:308)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
note注意在Apache Tomcat / 5.5.33日志中可以找到根本原因的完整堆栈跟踪。
阿帕奇雄猫
切勿将任何类放入默认包中。包中的类无法访问默认包,并且由于Tomcat在Servlet类中转换了JSP,并且该类在包中,因此它无法访问Model类。
一旦将其放入定义明确的软件包中,就必须将其导入,如mschonaker在他的回答中所示:
<%@page import="somepackage.Model"%>