ClassNotFoundException JSP

ClassNotFoundException JSP

我的 jsp 中有一个 classNotFoundException。

我的代码 JSP:

<%@ page import="Model.Pattern" %>

<% Pattern p = new Pattern("test");%>

你们能告诉我它有什么问题吗?我附上了异常的屏幕截图和文件所在的树。

非常感谢。

第二个错误:

模式class:

package Model;
import java.io.Serializable;
import java.util.ArrayList;
import java.io.File;

public class Pattern implements Serializable {
    /**
     * 
     */
    private static final long serialVersionUID = -2262846250404779815L;
    private String name;
    private String allConsequences;
    private Context context;
    private String allProblems;
    private String allSolutions;
    private File diagram;

    public Pattern(String nm){
        name =nm;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public File getDiagram(){
        return diagram;
    }

    public void setDiagram(File dia){
        this.diagram = dia;
    }

    public Context getContext() {
        return context;
    }

    public void setContext(Context context) {
        this.context = context;
    }

    public String getAllConsequences() {
        return allConsequences;
    }

    public void setAllConsequences(String allConsequences) {
        this.allConsequences = allConsequences;
    }

    public String getAllProblems() {
        return allProblems;
    }

    public void setAllProblems(String allProblems) {
        this.allProblems = allProblems;
    }

    public String getAllSolutions() {
        return allSolutions;
    }

    public void setAllSolutions(String allSolutions){
        this.allSolutions = allSolutions;
    }

}

当文件存在但仍然抛出 ClassNotFoundException 这大多数时候意味着 JSP 无法编译。

现在查看错误 Only a type can be imported, Model.Pattern resolve to a package 我很确定你想更改

<%@ page import="Model.Pattern" %>

<%@ page import="Model.Pattern.*" %>

现在对于可能有相同错误的其他人,并且文件确实编译,请注意有时需要刷新缓存。

例如 tomcat,只需删除 work 目录中的所有文件。

查看您的编辑,确认问题出在导入中。其他 2 个错误只是因为未导入 Pattern 而发生。但是你的 import 对我来说似乎是正确的,你有没有像我说的那样尝试刷新缓存?你也应该尝试重新输入导入语句,也许你不小心输入了一个控制字符。另一件事是删除已删除的文件夹(war 的提取内容)以确保 tomcat 重新部署它们。

我认为这里的问题是您在模式中指定了带参数的构造函数 class:

public Pattern(String nm){
    name =nm;
}

在这种情况下,也需要实现默认构造函数,否则您无法实例化此 class,请尝试将其添加到您的 class:

public Pattern(){  
}