Как получить context.xml, работающий с Tomcat и IntelliJ IDEA - PullRequest
2 голосов
/ 08 марта 2019

Я изучал пулы соединений, и я получил один работающий с использованием Tomcat PoolProperties .Теперь я хотел бы настроить его, используя файл context.xml с Tomcat и IntelliJ, но я не могу заставить это работать.Как это сделать?

Новый проект с платформой веб-приложений 4.0 может автоматически создавать каталог web / WEB-INF с файлом web.xml, но каталог web / META-INF, содержащий context.xml.файл не созданЕсли я сам создаю web / META-INF / context.xml через Окно инструментов> Проект и использую его для настройки пула соединений, как показано ниже, файл, похоже, игнорируется.

Этомое предположение относительно того, что может происходить, хотя я уверен, что это заполнено ошибками: WAR-файл - это упакованный каталог, который отправляется Tomcat в порядке, понятном Tomcat.web / WEB-INF / web.xml - это необходимый файл, который необходим по ряду причин, одной из которых является настройка сервлетов.web / META-INF / context.xml является необязательным, и поэтому по умолчанию IntelliJ не создает его.Когда web / META-INF / context.xml создается вручную, он также должен быть включен в файл WAR, иначе IntelliJ не отправит его в Tomcat.

Даже если предыдущий абзац верен, я все равноTomcat не получил использовать context.xml после попытки добавить его в WAR.Возможно, я не добавил его правильно.

context.xml

<?xml version="1.0" encoding="UTF-8" ?>
<Context>

    <Resource name="jdbc/sql_connection_03" auth="Container"
              driverClassName="com.mysql.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/follow_db_01"
              username="root" password="pass"
              maxactive="100" maxIdle="30" maxWait="10000"
              logAbandoned="true" removeAbandoned="true"
              removeAbandonedTimeout="60" type="java.sql.DataSource"/>

</Context>

index.jsp

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<sql:query var="rs" dataSource="jdbc/sql_connection_03">
    select ID, Description, PackageSize from products;
</sql:query>

<html>
  <head>
    <title>Index</title>
  </head>
  <body>

    <c:forEach var="row" items="${rs.rows}">
        ${row.ID}<br>
        ${row.Description}<br>
        ${row.PackageSize}<br>
    </c:forEach>

  </body>
</html>
...