Я использую 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, но я не знаю, будет ли она работать.
Вы пропустили импорт класса 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.*" %>
Вы должны импортировать класс UserSession в jsp, используя директиву импорта.
Директива синтаксиса для импорта:
вы даже можете импортировать несколько классов с помощью одной директивы, разделив их запятой
Вы можете прочитать эту статью:
http://docs.oracle.com/cd/A87860_01/doc/java.817/a83726/genlovw3.htm
java.lang
должен быть импортирован, если используется.