Я новичок в сервлетах и JSP, поэтому, если есть какой-то ресурс или учебник, который я пропустил, я могу это проверить, но вот моя проблема.
Я запускаю это на локальном сервере Tomcat
У меня есть это приложение, над которым я работаю, прохожу несколько руководств, и оно отлично работает, когда я запускаю его из своей среды IDE, но я попытался создать развернутую войну в каталоге webapps, и оно делает неожиданные вещи. Кажется, все страницы, на которых я использовал встроенный java-код, работают нормально, но у меня есть эта строка html
Lets have some fun: <%= com.luv2code.Step1.FunUtils.makeItLower("FUN FUN FUN")%><br/>
и похоже, что это мешает моему развертыванию
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: [254] in the jsp file:
[/jspdemo/Step1/FirstLesson.jsp]
com.luv2code.Step1.FunUtils cannot be resolved to a type
251: </span>
252: </p>
253: <p>2. Call the java class<br/>
254: Lets have some fun: <%=
com.luv2code.Step1.FunUtils.makeItLower("FUN FUN FUN")%><br/>
255: Lets have some fun: <%=
com.luv2code.Step1.FunUtils.makeItLower("FUN FUN FUN")%><br/>
256: </p>
257: <p>
вот моя структура каталогов
Когда я развертываю папку с веб-приложениями, она выглядит так
Итак, я могу легко добраться до http: // локальный: 8081 / luv2code / jspdemo / index.jsp, но, похоже, я сталкиваюсь с ошибками, когда пытаюсь получить доступ к файлам в классах. Есть ли что-то, что мне нужно добавить в web.xml, чтобы он знал, как получить доступ к этим классам? Я чувствую, что web.xml - это ключ, но я просто не знаю наверняка, и я настолько неопытен, что меня ошеломляет, когда я пытаюсь разобраться в нем. мой web.xml довольно простой, но я добавил туда следующее.
<?xml version = "1.0" encoding = "UTF-8"?>
<web-app xmlns = "http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version = "4.0">
<display-name>HelloWorld Application</display-name>
<description>
This is a simple web application with a source code organization
based on the recommendations of the Application Developer's Guide.
</description>
<servlet>
<servlet-name>ServletDemo</servlet-name>
<servlet-class>com.luv2code.Step5.ServletDemo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletDemo</servlet-name>
<url-pattern>/Step5/ServletDemo</url-pattern>
</servlet-mapping>
</web-app>Я чувствую, что это должна быть какая-то конфигурация, потому что, как я уже сказал, я могу получить доступ к страницам, которые являются самодостаточными с помощью встроенной java, но я получаю эту ошибку, когда пытаюсь получить доступ к своим собственным скомпилированным классам из любых связанных вызовов в JSP и Ссылка на сервлет (http: // локальный: 8081 / luv2code / jspdemo / Step5 / ServletDemo), которая, как вы видите, объявлена в моем файле web.xml, дает мне 404.





Apache рассматривает каждую «папку» в каталоге веб-приложений как отдельное веб-приложение. Проблема в том, что я пытаюсь развернуть веб-приложение в каталоге, расположенном на другом уровне ниже каталога веб-приложений. Мне нужно либо изменить файл конфигурации, в котором указано, где искать веб-приложения. Я не уверен, как это сделать, поэтому я просто переместил приложение в корневой каталог папки webapps, которая уже отображается как каталог webapp.
Прошу прощения, если это был глупый вопрос. Мне стыдно признаться, сколько времени мне потребовалось, чтобы понять это.