root cause
java.lang.NoClassDefFoundError: IllegalName: /Files
Это означает, что данное определение класса не может быть найдено, поскольку оно имеет недопустимое имя /Files
. Это, в свою очередь, означает, что вы изменили <servlet-class>
на /Files
. Это не верно. Вы в основном указываете сервлет-контейнеру объявить и создать экземпляр сервлета следующим образом:
/Files Files = new /Files();
Это уже не скомпилируется. Полное отображение должно выглядеть так:
<servlet>
<servlet-name>instanceName</servlet-name>
<servlet-class>com.example.ServletClass</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>instanceName</servlet-name>
<url-pattern>/urlPattern</url-pattern>
</servlet-mapping>
Что следует интерпретировать в необработанном коде Java следующим образом:
com.example.ServletClass instanceName = new com.example.ServletClass();
<servlet-class>
должен обозначать полное имя класса , включая любой пакет. <servlet-name>
должен обозначать уникальное имя экземпляра . <url-pattern>
должен обозначать шаблон URL , для которого сервлет-контейнер должен вызывать этот сервлет.