JSP Out.Println () не может быть решен, проект создан с WebApp Archteype из Maven - PullRequest
0 голосов
/ 14 ноября 2018

Я практикую Servlet / JSP после демонстрации на YouTube. Я создал проект с Maven, используя веб-приложение архетипа.

Моя зависимость от сервлета в файле pom.xml:

  <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
  </dependency>

Мой файл JSP:

<%@ page import="model.Alien" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>

    <%
        Alien a1 = (Alien) request.getAttribute("alien");
        out.println(a1);
    %>

</body>
</html>

Структура моего проекта:

project_directory_structure

Alien - это простой POJO, и у GetAlienController есть мой сервлет, который отправляется в showAlien.jsp. Я не использовал web.xml, я использую аннотации.

Проблема в том, что метод запроса getAttribute () полностью решен, но метод out для println () не разрешен. На самом деле, ни один из методов не решен. Я попытался скопировать сервлет jar в каталоги webapp / lib и web-inf / lib. Но это не решило проблему.

В другом проекте я не использовал Maven и использовал прототип Intellij Web Application для создания проекта. В этом я не сталкивался с такой проблемой.

Как я могу решить эту проблему? Я уверен, что ставлю зависимость сервлета в неправильную папку, но все же не могу ее решить.

Пожалуйста, не предлагайте мне "не пишите Java-код в JSP". Это просто демо. Я пытаюсь выучить основы.

1 Ответ

0 голосов
/ 14 ноября 2018

Я решил это, добавив еще одну зависимость в pom.xml:

  <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.1</version>
        <scope>provided</scope>
    </dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...