jsp не видит импортированные классы - PullRequest
0 голосов
/ 28 октября 2019

Я знаю, что есть множество тем, подобных моей, и я прочитал многие из них, но ни одна из них не помогла мне. Я действительно пытался исправить это сам, в течение более 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)

Буду признателен за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...