Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
21 / 21 / 2
Регистрация: 31.12.2015
Сообщений: 100

Web app + datasource

18.08.2017, 18:22. Показов 651. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток всем.
У меня абсолютно дилетантский вопрос.
Итак, есть небольшое веб-приложение (servlets + jsp). Сборка в war через maven. Приложение будет сохранять данные в БД.
И собственно вопрос...какие вводные данные мне необходимы? Я должен точно знать заранее, на каком сервере мой war-файл будет лежать, с какой СУБД приложение будет работать, после чего захардкодить урл, логин, пароль и проч., и только затем собирать war?
Или есть возможность в коде ссылаться на некий внешний файл или ресурс, который легко правится ручками перед развертыванием?..
Пожалуйста, набросайте общий алгоритм Можно с подробностями, я пойму Спасибо
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.08.2017, 18:22
Ответы с готовыми решениями:

Web-app Java Tomcat
Доброго времени суток. Не уверен что пишу в соответствующий раздел, но все же Имеется веб приложение java с настройками hibernate,...

Запуск web app java из Eclipse
При попытке компиляции пытается найти hibernate.config.out.xml - хотя настройки hibernate в файле hibernate.config.xml Где хранятся...

Деплой java web app + mysql
Здравствуйте. Подскажите как задеплоить простое веб приложение на бесплатный хостинг, уже сколько не пробовал - не получаеться. Спасибо.

3
958 / 577 / 136
Регистрация: 23.05.2012
Сообщений: 7,364
19.08.2017, 19:48
https://docs.oracle.com/javase... rties.html
0
5 / 5 / 1
Регистрация: 04.07.2014
Сообщений: 73
20.08.2017, 01:10
jndi
0
 Аватар для FatNinja
82 / 82 / 32
Регистрация: 17.02.2016
Сообщений: 226
20.08.2017, 20:33
xPANICx, год назад развёртывал учебный проект (дипломная в вузе) на хотинге RedHat OpenShift.
Тогда у них был бесплатный тариф на 3 приложения, сейчас не в курсе.
В конфигах Spring указываешь источник - property-файл. Обязательно нужно указать параметр searchSystemEnvironment (я тогда часа 2 колупался, пока не понял ошибку):
Кликните здесь для просмотра всего текста
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<!-- src/main/webapp/WEB-INF/spring/data.xml -->
<?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:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jee="http://www.springframework.org/schema/jee" xmlns:lang="http://www.springframework.org/schema/lang"
    xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans [url]http://www.springframework.org/schema/beans/spring-beans.xsd[/url]
        [url]http://www.springframework.org/schema/aop[/url] [url]http://www.springframework.org/schema/aop/spring-aop.xsd[/url]
        [url]http://www.springframework.org/schema/jee[/url] [url]http://www.springframework.org/schema/jee/spring-jee.xsd[/url]
        [url]http://www.springframework.org/schema/lang[/url] [url]http://www.springframework.org/schema/lang/spring-lang.xsd[/url]
        [url]http://www.springframework.org/schema/tx[/url] [url]http://www.springframework.org/schema/tx/spring-tx.xsd[/url]
        [url]http://www.springframework.org/schema/util[/url] http://www.springframework.org/schema/util/spring-util.xsd">
 
    <tx:annotation-driven/>
 
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>
 
    <bean id="messageSource"
        class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <property name="basename" value="classpath:messages" />
        <property name="defaultEncoding" value="UTF-8" />
    </bean>
 
    <!-- Путь к property файлу + searchSystemEnvironment параметр -->
    <bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
        p:location="/WEB-INF/jdbc.properties" >
        <property name="searchSystemEnvironment" value="true" />
    </bean>
 
    <bean id="dataSource"
        class="org.springframework.jdbc.datasource.DriverManagerDataSource"
        p:driverClassName="${jdbc.driverClassName}" p:url="${jdbc.databaseurl}"
        p:username="${jdbc.username}" p:password="${jdbc.password}"/>
 
    <bean id="entityManagerFactory"
        class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="packagesToScan" value="by.some" />
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
        </property>
        <property name="jpaProperties">
            <props>
                <!-- <prop key="hibernate.hbm2ddl.auto">create</prop> -->
                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="hibernate.show_sql">false</prop>
                <prop key="hibernate.dialect">${jdbc.dialect}</prop>
            </props>
        </property>
    </bean>
 
    <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
        <property name="cookieName" value="somePreferredLanguage"/>
        <property name="defaultLocale" value="en_US" />
        <!-- 60 second * 60 * 24 * 7 (7 days) -->
        <property name="cookieMaxAge" value="604800"/>   
    </bean>
 
</beans>

Файл jdbc.properties (закомментированная часть - это конфиг для OpenShift)
Кликните здесь для просмотра всего текста
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# /src/main/webapp/WEB-INF/jdbc.properties
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.dialect=org.hibernate.dialect.MySQL5Dialect
jdbc.databaseurl=jdbc:mysql://localhost:3306/someproject?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=■■■■■■■■■■■■
 
 
# Config for OpenShift hosting
 
# jdbc.driverClassName=com.mysql.jdbc.Driver
# jdbc.dialect=org.hibernate.dialect.MySQL5Dialect
# jdbc.databaseurl=jdbc:mysql://${OPENSHIFT_MYSQL_DB_HOST}:${OPENSHIFT_MYSQL_DB_PORT}/someproject?useUnicode=true&characterEncoding=utf-8
# jdbc.username=■■■■■■■■■■■■
# jdbc.password=■■■■■■■■■■■■


Переменные окружения (OPENSHIFT_MYSQL_DB_HOST и OPENSHIFT_MYSQL_DB_PORT) предоставляются хостингом при регистрации. Деплоить приложение не обязательно в WAR - но мне так было удобнее. Общий алгоритм действий по памяти:
1. Регистрируешься (указывая нужное доп. ПО и тип сервера - я себе также ставил phpmyadmin);
2. Генерируешь ssh-ключ;
3. Ставишь консольные утилиты для деплоя (написаны кажется на Rubi). Эта часть самая муторная - нужно смотреть точное совпадение версий ПО;
4. Коннектишься со своим ssh-ключом через утилиты и заливаешь war;
5. Если нужно через phpmyadmin ходишь в БД. Через "утилиты для деплоя" можно посмотреть ошибки развёртывания, если они есть.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.08.2017, 20:33
Помогаю со студенческими работами здесь

Архитектура web-app по бронированию мест на киносеанс
Всем привет. Изучаю джаву для web. Пишу учебный проект web-app, на котром можно бронировать места на киносеансы. Вот кратенько use-case: ...

Java Web App best practices. Поделитесь опытом
Добрый день. Интенсивно осваиваю web-разработку на java. Не хотелось бы проходить уже истоптанный путь для выявления практик &quot;как...

web app, работающее под Tomcat, не работает под WebLogic
Есть web-приложение, работающее нормально под Tomcat. Осваиваясь с WebLogic, я решил развернуть его там. Развёртывание проводится...

Создать App.Config для хранения данных для подключения к MS SQL серверу-DataSource и InitialCatalog
Не работал не разу с файлами конфигурации. Нужно сделать следующий файл: В нем будут содержать данные для подключения к MS SQL...

Не удаляется Web Security App version 15.85
Здравствуйте, помогите, пожалуйста. В списке программ появилась программа, которую я не устанавливал Web Security App version 15.85 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru