JSP web.xml apache tomcat

Я новичок в сервлетах и ​​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: &lt;%= 
com.luv2code.Step1.FunUtils.makeItLower("FUN FUN FUN")%&gt;<br/>
256:             </p>
257:             <p>

вот моя структура каталогов

JSP web.xml apache tomcat

Когда я развертываю папку с веб-приложениями, она выглядит так

JSP web.xml apache tomcat Итак, я могу легко добраться до 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.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
778
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Прошу прощения, если это был глупый вопрос. Мне стыдно признаться, сколько времени мне потребовалось, чтобы понять это.

Другие вопросы по теме