2015-11-08 1 views
1

Я закодировал некоторые флеш-приложения с помощью red5 (1.0.5). Но я решил иметь сервлет, чтобы получать аудио-файлы от пользователей (на этот раз я не хочу использовать flash). Я заметил, что я не могу открыть какой-либо jsp. Каждый раз, когда я пытаюсь открыть его, я получаю следующее исключение сервлета: javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ExpressionFactory. Если я перезагружу страницу, то после нескольких попыток я получаю что-то другое: java.lang.ClassNotFoundException: org.apache.jsp.index_jsp, а затем, если я снова загружу, то первое исключение, о котором я упоминал, снова отображается. Project Explorer. Любая помощь приветствуется. :)Red5, java.lang.NoClassDefFoundError: javax/el/ExpressionFactory

Servlet

package org.red5.core; 

     import java.io.IOException; 
     import javax.servlet.ServletException; 
     import javax.servlet.annotation.WebServlet; 
     import javax.servlet.http.HttpServlet; 
     import javax.servlet.http.HttpServletRequest; 
     import javax.servlet.http.HttpServletResponse; 

/** 
     * Servlet implementation class Upload 
*/ 
     @WebServlet("/Upload") 
     public class Upload extends HttpServlet { 
     private static final long serialVersionUID = 1L; 

    /** 
    * Default constructor. 
    */ 
    public Upload() { 
    } 

    /** 
     * @see HttpServlet#doGet(HttpServletRequest request,HttpServletResponse response) 
    */ 
      protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     response.getWriter().append("Served at: ").append(request.getContextPath()); 
    } 

    /** 
    * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse  response) 
    */ 
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     doGet(request, response); 
    } 

} 

JSP

<%@ 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>JSP</title> 
</head> 
<body> 
    <h1>JSP!</h1> 
</body> 
</html> 

Исключение

exception 

javax.servlet.ServletException: java.lang.NoClassDefFoundError: javax/el/ExpressionFactory 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:348) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
    org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77) 
root cause 

java.lang.NoClassDefFoundError: javax/el/ExpressionFactory 
    org.apache.jasper.compiler.PageInfo.<init>(PageInfo.java:79) 
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:111) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:374) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:341) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
    org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:77) 

ответ

1

Проверьте каталог Red5/плагинов, вы, вероятно, недостающее баночку реализации EL, обычно называют: мартовский кот -embed-el.jar

+0

Ты мужчина! Я загрузил банку, и теперь я могу наслаждаться красотой функций сервлета. Благодаря! –

+0

Рад, что сработало для вас, теперь вы должны отметить это. –