Что вызывает эту ошибку JSP 500? - PullRequest
1 голос
/ 10 июля 2011

Я написал очень простую проблему jsp, которая получает число из класса и показывает его, но я столкнулся с ошибкой 500.

Я использую eclipse с tomcat 5.5:

 <%@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>

моя модельclass =>

public class Model {
    static int number=0;
    public static int getCount()
    {
        number++;
        return number;
    }
}

любой класс моей модели является пакетом по умолчанию.

Я вижу ошибку:

type Exception report

message

description Сервер обнаружил внутреннюю ошибку (), которая не позволила ему выполнить этот запрос.

исключение

org.apache.jasper.JasperException: Невозможно скомпилировать класс для JSP:

Произошла ошибка в строке: 14 в файле jsp: /show.jsp Не удается разрешить модель 11: 12: <% 13: try {14: out.print (Model.getCount ());15:} 16: перехват (IOException k) 17: {</p>

Stacktrace: org.apache.jasper.compiler.DefaultErrorHandler.javacError (DefaultErrorHandler.java:93) org.apache.jasper.compiler.ErrorDispatr.javac(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.


Apache Tomcat

Ответы [ 2 ]

4 голосов
/ 10 июля 2011

Никогда не помещайте какой-либо класс в пакет по умолчанию.Пакет по умолчанию недоступен для классов в пакете, и, поскольку JSP преобразуется в класс сервлета Tomcat, а этот класс находится в пакете, он не может получить доступ к вашему классу модели.

Как только онв четко определенном пакете вам придется импортировать его, как показывает mschonaker в своем ответе:

<%@page import="somepackage.Model"%>
4 голосов
/ 10 июля 2011

Не удается найти класс Model.

Попробуйте что-то вроде:

          <%@page import="somepackage.Model"%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...