为什么我会收到错误"class not found .Error while loading class"?



我有一个interface和一个servlet文件,每当我尝试运行应用程序时,它都会给我以下错误

SEVERE: class [ LDir/DirSessionLocal; ] 未找到。加载时出错 [ 类目录 ]

接口代码

package Dir;
import javax.ejb.Local;

@Local
public interface DirSessionLocal {
String getContact(String name1);
String getDetails(String name2);
void rater(String r);

}

servlet 的代码

import Dir.DirSessionLocal;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet(urlPatterns = {"/DirServlet"})
public class DirServlet extends HttpServlet {
@EJB
private DirSessionLocal dirSession;
/**
 * Processes requests for both HTTP
 * <code>GET</code> and
 * <code>POST</code> methods.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    try {
        /* TODO output your page here. You may use following sample code. */
        out.println("<!DOCTYPE html>");
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Servlet DirServlet</title>");            
        out.println("</head>");
        out.println("<body>");
        out.println("<h1>Servlet DirServlet at " + request.getParameter("name") + "</h1>");
        out.println("<br>");
        out.println("<h1>" + request.getParameter("nameD") + "</h1>");
        out.println("<br>");
        out.println("<h1>" + request.getParameter("rate") + "</h1>");
        String a=request.getParameter("nameD");
        if(a.equals("abc"))
         out.println("<h1>" + dirSession.getContact(a)  + "</h1>");
        out.println("</body>");
        out.println("</html>");
    } finally {            
        out.close();
    }
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
 * Handles the HTTP
 * <code>GET</code> method.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}
/**
 * Handles the HTTP
 * <code>POST</code> method.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}
/**
 * Returns a short description of the servlet.
 *
 * @return a String containing servlet description
 */
@Override
public String getServletInfo() {
    return "Short description";
}// </editor-fold>

}

这意味着运行您的servlet/webapp的JVM找不到名为Dir.DirSessionLocal的类的".class"文件。

根据你"部署"servlet的方式,你需要将缺少的类添加到JAR文件、WAR文件、Web服务器上的webapp树等。

相关内容

最新更新