JSP не может использовать класс в ресурсах Java

1

Я использую eclipse для управления JSP-проектом, и я не могу использовать свой Java-класс. Исключение составляет:

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: 10 in the jsp file: /Login.jsp
UserSession cannot be resolved to a type
7: <body>
8:  <%
9:      File user = new File("C:\\Users\\Elijah\\" + request.getParameter("usr") + ".csv");
10:         UserSession usr = new UserSession(request.getParameter("usr"));
11:     
12:         FileInputStream fstream = new FileInputStream(user);
13:         DataInputStream reader = new DataInputStream(fstream);


An error occurred at line: 10 in the jsp file: /Login.jsp
UserSession cannot be resolved to a type
7: <body>
8:  <%
9:      File user = new File("C:\\Users\\Elijah\\" + request.getParameter("usr") + ".csv");
10:         UserSession usr = new UserSession(request.getParameter("usr"));
11:     
12:         FileInputStream fstream = new FileInputStream(user);
13:         DataInputStream reader = new DataInputStream(fstream);


Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366)
    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:728)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.47 logs.


--------------------------------------------------------------------------------

Apache Tomcat/7.0.47

После некоторого осмотра я нашел это. Однако это не помогает, потому что затмение не позволяет мне это делать. Я создаю папку классов, но затем, когда я пытаюсь сделать пакет, он бросает его в java-ресурсы, не позволяя мне помещать его в WEB-INF. Есть ли другой способ справиться с этим. В WEB-INF, созданной в eclipse, есть папка lib, но я не знаю, будет ли она работать.

Теги:
jsp

2 ответа

3
Лучший ответ

Вы пропустили импорт класса UserSession в JSP. Просто используйте директиву import страницы для импорта классов в JSP в самом начале файла.

<%@ page import="com.x.y.z.UserSession" %>

ИЛИ используйте полностью квалифицированное имя класса.

com.x.y.z.UserSession usr=new com.x.y.z.UserSession(request.getParameter("usr"));

Директива страницы

Директива page может содержать список всех импортированных пакетов. Чтобы импортировать более одного элемента, разделите имена пакетов запятыми, например

<%@ page import="java.util.*,java.text.*" %>
  • 0
    Что если это класс по умолчанию?
  • 0
    Что вы подразумеваете под классом по умолчанию? любой пакет, кроме java.lang должен быть импортирован, если используется.
Показать ещё 1 комментарий
1

Вы должны импортировать класс UserSession в jsp, используя директиву импорта.

Директива синтаксиса для импорта:

вы даже можете импортировать несколько классов с помощью одной директивы, разделив их запятой

Вы можете прочитать эту статью:

http://docs.oracle.com/cd/A87860_01/doc/java.817/a83726/genlovw3.htm

Ещё вопросы

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