Найдено результатов: 6

Массивы массивов в Java

Это очень неприятно для меня... Я парень PHP, работающий в Java над проектом JSP. Я знаю, как сделать то, что я пытаюсь через слишком много кода и полное отсутствие изящества.

Я бы предпочел сделать все правильно. Вот такая ситуация:

Я пишу небольшой дисплей, чтобы показать клиентам, в какие дни они могут поливать свои газоны на основе их группы полива (ABCDE) и в какое время года это происходит. Наши сезоны выглядят так: Лето (от 5-1 до 8-31) Spring (от 3-1 до 4-30) Падение (от 9-1 до 10-31) Зима (от 11-1 до 2-28)

Примером может быть:

Если бы я был в группе А, здесь были бы мои разрешенные времена: Зима: только по понедельникам Spring: Вт, Чт, Сб Лето: В Любой День Осень: Вт, Чт, Сб

Если бы я писал это в PHP, я бы использовал такие массивы:

//M=Monday,t=Tuesday,T=Thursday.... etc
$schedule["A"]["Winter"]='M';
$schedule["A"]["Spring"]='tTS';
$schedule["A"]["Summer"]='Any';
$schedule["A"]["Fall"]='tTS';
$schedule["B"]["Winter"]='t';

Я мог бы сделать массивы дней (array ("Tuesday","Thursday","Saturday")) и т. д., Но это не обязательно для того, что я действительно пытаюсь выполнить.

Мне также нужно будет настроить массивы, чтобы определить, в каком сезоне я нахожусь:

$seasons["Summer"]["start"]=0501;
$seasons["Summer"]["end"]=0801;

Может ли кто-нибудь предложить действительно классный способ сделать это? У меня будет сегодняшняя дата и письмо группы. Мне нужно будет выйти из моей функции в день (M) или в ряд дней (tTS), (любой).

java   php   jsp   tomcat    

541   12   20:05, 28th August, 2020


Java+Tomcat, умирающее соединение с базой данных?

У меня есть установка экземпляра tomcat, но соединение с базой данных, которое я настроил в context.xml , продолжает умирать после периодов бездействия.

Когда я проверяю журналы я получаю следующую ошибку:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Последний пакет успешно полученный с сервера составил 68051 сек тому назад. Последний пакет успешно отправлено на сервер был 68051 секунд назад, что больше, чем настроенное значение сервера 'wait_timeout'. Вы должны рассмотреть возможность истечения срока действия и / или тестирования срок действия соединения перед использованием в вашем приложении, увеличивая сервер настроил значения для таймаутов клиента или с помощью соединителя / J свойство соединения 'autoReconnect=true', чтобы избежать этой проблемы.

Вот конфигурация в context.xml:

<Resource name="dataSourceName" 
        auth="Container" 
        type="javax.sql.DataSource"
        maxActive="100" 
        maxIdle="30" 
        maxWait="10000" 
        username="username" 
        password="********"
        removeAbandoned = "true"
        logAbandoned = "true"
        driverClassName="com.mysql.jdbc.Driver" 
        url="jdbc:mysql://127.0.0.1:3306/databasename?autoReconnect=true&amp;useEncoding=true&amp;characterEncoding=UTF-8"  />

Я использую autoReconnect=true , как говорит ошибка, но соединение продолжает умирать. Я никогда раньше не видел, как это происходит.

Я также проверил, что все подключения к базе данных закрываются должным образом.

java   mysql   database   tomcat    

544   4   14:32, 29th August, 2020


Как настроить tomcat для привязки к одному ip-адресу (localhost) вместо всех адресов?

Как настроить tomcat для привязки к одному ip-адресу (localhost) вместо всех адресов?

tomcat    

434   3   02:26, 4th August, 2020


java.lang.IllegalArgumentException: недопустимый в сопоставлении сервлетов

<servlet>
    <servlet-name>myservlet</servlet-name>
    <servlet-class>workflow.WDispatcher</servlet-class>
    <load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>myservlet</servlet-name>
    <url-pattern>*NEXTEVENT*</url-pattern>
</servlet-mapping>

Выше приведен фрагмент из Tomcat web.xml . Паттерн URL *NEXTEVENT* при запуске выбрасывает

java.lang.IllegalArgumentException: недопустимый <url-pattern> в сопоставлении сервлетов

Мы будем очень признательны, если кто-то сможет намекнуть на ошибку.

tomcat   servlets   web.xml   illegalargumentexception   servlet-mapping    

415   2   04:15, 13th August, 2020


Как запретить вызов Tomcat в обход предваряющего его Apache HTTP server?

Установлено так: сервер Apache сидит на 80-ом порту и при запросах *.jsp редиректит через mod_jk на Tomcat, который на 8080. И все работает нормально, но вот вопрос, а как быть с портом 8080 на котором крутится Tomcat? Ведь кто-нибудь может вместо example.com набрать example.com:8080 и таким образом обойти Apach! Я имею ввиду преднамеренные действия пользователя.

Просто сменить порт на какой-либо другой я считаю не выход.

Java   Apache   Tomcat    

309   2   23:38, 22nd August, 2020


не могу запустить сервер на tomcat HTTP Status 404 – Not Found

Изучаю Spring пытаюсь создать веб приложение, сделал все как надо, (делал с помощью maven webapp, создал файлы, их содержание было многократно проверено мною и нейросеью, веё должно быть правильно) но подключил tomcat, настроил, вроде должен работать, однако HTTP Status 404 – Not Found и ничего не могу сделать

package org.example.rest;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;

@RestController
public class TestController {

    @GetMapping("/")
    public Date getDateTime() {
        return new Date();  // This will return the current date and time
    }
}
package org.example.rest.entity;


import jakarta.persistence.*;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@AllArgsConstructor
@NoArgsConstructor
@Data
@Entity
@Table(name = "customers")

public class Customer {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)

    private Integer id;
    private String firstname;
    private String lastname;
    private Integer age;

}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="
           http://www.springframework.org/schema/beans
           https://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/context
           https://www.springframework.org/schema/context/spring-context.xsd
           http://www.springframework.org/schema/tx
           https://www.springframework.org/schema/tx/spring-tx.xsd
           http://www.springframework.org/schema/mvc
           https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <!-- Component scanning for annotated classes -->
    <context:component-scan base-package="org.example.rest, org.example.rest.entity"/>

    <!-- Enable Spring MVC annotations -->
    <mvc:annotation-driven/>

    <!-- DataSource configuration -->
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="com.mysql.cj.jdbc.Driver"/>
        <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/test?useSSL=false"/>
        <property name="user" value="root"/>
        <property name="password" value="gibraltar"/>
    </bean>

    <!-- Hibernate SessionFactory configuration -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="packagesToScan" value="org.example.rest.entity"/>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
                <prop key="hibernate.show_sql">true</prop>
            </props>
        </property>
    </bean>
    <!-- Hibernate Transaction Manager -->
    <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <!-- Enable annotation-driven transactions -->
    <tx:annotation-driven transaction-manager="transactionManager"/>
</beans>

 

<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_3_1.xsd"
         version="3.1">
  <display-name>spring</display-name>

  <absolute-ordering/>

  <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/applicationContext.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

</web-app>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.example</groupId>
  <artifactId>vebAppFirst</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>vebAppFirst Maven Webapp</name>
  <url>http://maven.apache.org</url>

  <dependencies>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.36</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>6.2.2</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-orm</artifactId>
      <version>6.2.2</version>
    </dependency>

    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>6.2.2</version>
    </dependency>

    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-core</artifactId>
      <version>6.2.18.Final</version>
    </dependency>

    <dependency>
      <groupId>com.mchange</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.5.4</version>
    </dependency>

    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>8.0.33</version>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.15.2</version>
    </dependency>

    <!-- Update the javax.servlet-api dependency to jakarta.servlet-api -->
    <dependency>
      <groupId>jakarta.servlet</groupId>
      <artifactId>jakarta.servlet-api</artifactId>
      <version>6.0.0</version> <!-- You can adjust this version if needed -->
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>

    <dependency>
      <groupId>org.junit.jupiter</groupId>
      <artifactId>junit-jupiter</artifactId>
      <version>5.10.0</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <finalName>vebAppFirst</finalName>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.11.0</version>
        <configuration>
          <source>17</source>
          <target>17</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

Spring   tomcat   maven  

905   0   18:02, 21st January, 2025