Jsp расширяет директивы страницы исключение: не удается скомпилировать класс для JSP:

1

Я пытаюсь сделать пример с помощью JSP-расширений директив страниц. Сначала у меня есть простой файл класса java в моей исходной области проекта. Проект строится в среде Eclipse IDE.

Код находится здесь:

package com.coderbd.extend;

public class Test {

    public String testMethod(){
        return "Hello";
    }

}

И сначала на странице JSP я расширил класс, используя расширенные директивы страницы, такие как: <%@page extends="com.coderbd.extend.Test" %> Затем на моей странице index.jsp я создал объект класса Test как:

<%
    Test t= new Test();
    t.testMethod();
%>

И наконец попытался напечатать:

<%
    out.println(""+ testMethod());
%>

И я использовал следующие банки в моем lib под WEB-INF папку.

  1. jasper.jar
  2. org.apache.jasper.jar
  3. javax.servlet-api-3.0.jar
  4. javax.el-api.jar
  5. javax.servlet-3.0.jar

Но я вижу, мой сервер Tomcat дает следующую ошибку:

HTTP Status 500 - Unable to compile class for JSP:

type Exception report

message Unable to compile class for JSP:

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: [32] in the generated java file: [E:\The Java Spring Tutorial Learn Java Popular Web Framework\JSP\work-space\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jsp-sec-4-lec-3\org\apache\jsp\index_jsp.java]
The method getServletConfig() is undefined for the type index_jsp

An error occurred at line: [33] in the generated java file: [E:\The Java Spring Tutorial Learn Java Popular Web Framework\JSP\work-space\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jsp-sec-4-lec-3\org\apache\jsp\index_jsp.java]
The method getServletConfig() is undefined for the type index_jsp

An error occurred at line: [54] in the generated java file: [E:\The Java Spring Tutorial Learn Java Popular Web Framework\JSP\work-space\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\jsp-sec-4-lec-3\org\apache\jsp\index_jsp.java]
The method getPageContext(Servlet, ServletRequest, ServletResponse, String, boolean, int, boolean) in the type JspFactory is not applicable for the arguments (index_jsp, HttpServletRequest, HttpServletResponse, null, boolean, int, boolean)

Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:468)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Пожалуйста, помогите мне исправить пример, используя директиву jsp extends.

Теги:
jsp
tomcat

1 ответ

0

Удалите все эти банки из WEB-INF/lib. Это файлы jar, которые Tomcat использует внутри. Они не должны быть в вашем webapp.

И удалите extends="com.coderbd.extend.Test": это не имеет никакого смысла. Ваш JSP создает экземпляр Test и использует его. Он не должен (и не может) расширять его.

  • 0
    Я решил проблему, используя ключевые слова extends, на самом деле я хотел использовать extends. Спасибо всем, чтобы дать мне предложения.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню