Я знаю, что есть множество тем, подобных моей, и я прочитал многие из них, но ни одна из них не помогла мне. Я действительно пытался исправить это сам, в течение более 3 дней и до сих пор не знаю, в чем причина проблемы. И я отчасти человек, который не может идти дальше с материалом, когда я его не понимаю ... Так что моя проблема заключается в импорте пользовательских классов в файл .jsp. Я использую tomcat, моя структура каталогов проекта:
C:\TOMCAT\WEBAPPS\TEST
│ index.jsp
│
└───WEB_INF
└───classes
└───com
└───rmaj91
Movie.class
MovieIO.class
Это в моих файлах код: index.jsp
<%@ page import="com.rmaj91.*" %>
<%@ page import="java.util.*" %>
<html>
<head>
<title>List Movies: The Servlet</title>
</head>
<body>
<h1>Some of My Favorites</h1>
<h3>
<%= getMovieList() %>
</h3>
</body>
</html>
<%!
private String getMovieList()
{
String msg = "";
ArrayList<Movie> movies = MovieIO.getMovies();
for (Movie m : movies)
{
msg += m.year + ": ";
msg += m.title + "<br>";
}
return msg;
}
%>
Movie.class:
package com.rmaj91;
public class Movie {
public String title;
public int year;
public double price;
public Movie(String title, int year, double price) {
this.title = title;
this.year = year;
this.price = price;
}
}
MovieIO.class
package com.rmaj91;
import java.io.*;
import java.util.*;
public class MovieIO {
public static ArrayList<Movie> getMovies() {
ArrayList<Movie> movies = new ArrayList<Movie>();
BufferedReader in = getReader("c:\\data\\movies.txt");
Movie movie = readMovie(in);
while (movie != null) {
movies.add(movie);
movie = readMovie(in);
}
return movies;
}
private static BufferedReader getReader(String name) {
BufferedReader in = null;
try {
File file = new File(name);
in = new BufferedReader(new FileReader(file));
} catch (FileNotFoundException e) {
System.out.println("The file doesn't exist.");
System.exit(0);
}
return in;
}
private static Movie readMovie(BufferedReader in) {
String title;
int year;
double price;
String line = "";
String[] data;
try {
line = in.readLine();
} catch (IOException e) {
System.out.println("I/O Error");
System.exit(0);
}
if (line == null)
return null;
else {
data = line.split("\t");
title = data[0];
year = Integer.parseInt(data[1]);
price = Double.parseDouble(data[2]);
return new Movie(title, year, price);
}
}
}
Ошибка, которую я получаю:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: [20] in the jsp file: [/index.jsp]
Movie cannot be resolved to a type
17: private String getMovieList()
18: {
19: String msg = "";
20: ArrayList<Movie> movies = MovieIO.getMovies();
21: for (Movie m : movies)
22: {
23: msg += m.year + ": ";
An error occurred at line: [20] in the jsp file: [/index.jsp]
MovieIO cannot be resolved
17: private String getMovieList()
18: {
19: String msg = "";
20: ArrayList<Movie> movies = MovieIO.getMovies();
21: for (Movie m : movies)
22: {
23: msg += m.year + ": ";
An error occurred at line: [21] in the jsp file: [/index.jsp]
Movie cannot be resolved to a type
18: {
19: String msg = "";
20: ArrayList<Movie> movies = MovieIO.getMovies();
21: for (Movie m : movies)
22: {
23: msg += m.year + ": ";
24: msg += m.title + "<br>";
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:213)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:519)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:392)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:362)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:346)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:603)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:399)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Буду признателен за любую помощь.