Форум программистов, компьютерный форум, киберфорум
Java
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.02.2016
Сообщений: 15

Разворачивание веб-приложения JDK 1.7

11.02.2016, 08:07. Показов 824. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, никак не получается запустить нормально проект на сервере GlassFish. проект состоит в том, чтобы вывести на страничку базу данных из сервера mysql. Делал упражнения по Spring-программированию по книге Уоллс К. - Spring в действии - 2013. Там есть произвольная база spitter в СУБД MySQL, которая с помощью spring, персистенции и других технологий используется в тестовом приложении. захотел перевести на веб с помощью netbeans 7.4, создал проект, все собирается, развертывание проходит без ошибок, но информация из базы данных не отображается на странице JSP. Контроллер и файлы конфигурации переделывал собственноручно. Для разработки используются следующие инструментальные средства:

Netbeans 7.4
jdk 1.7
GlassFish server
Mysql сервер

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

Классы для доступа к данным:

Spitter.java

Java
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
package spitter;
 
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
 
@Entity
@Table(name = "Spitter")
public class Spitter {
 
    private java.lang.Long id;
    private String username;
    private String password;
    private String fullname;
 
    public String getUsername() {
        return username;
    }
 
    public String getPassword() {
        return password;
    }
 
    public String getFullname() {
        return fullname;
    }
 
    @Column(name = "id")
    @Id
    public java.lang.Long getId() {
        return id;
    }
 
    public void setId(long aLong) {
        id = aLong;
    }
 
    public void setUsername(String string) {
        username = string;
    }
 
    public void setPassword(String string) {
        password = string;
    }
 
    public void setFullname(String string) {
        fullname = string;
    }
 
}

SpitterDAO.java

Java
1
2
3
4
5
6
7
8
9
package spitter;
 
import java.util.List;
 
public interface SpitterDAO {
   void addSpitter(Spitter spitter);
   void deleteSpitter(Spitter spitter);
   List<Spitter> getRecentSpittles(int size);
}

SpitterServiceImplJPA.java
Java
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
package spitter;
 
import java.util.ArrayList;
import java.util.List;
import javax.persistence.EntityManager;
import org.springframework.orm.jpa.JpaTransactionManager;
 
 
public class SpitterServiceImplJPA implements SpitterDAO{
 
    private JpaTransactionManager manager;
    private EntityManager em;
   
    
public void setManager(JpaTransactionManager manager) {
        System.out.println("Entity Manager factory bean set");
        this.manager = manager;
        em = manager.getEntityManagerFactory().createEntityManager();
    }
    
    public void addSpitter(Spitter spitter) {
        em.getTransaction().begin();
        em.persist(spitter);
        em.getTransaction().commit();
    }
  
    public Spitter getSpitterById(long id) {
        return em.find(Spitter.class, id);        
    }
  
    public void deleteSpitter(Spitter spitter) {
        Spitter spitters = em.find(Spitter.class, spitter.getId());
        em.getTransaction().begin();
        em.remove(spitters);
        em.getTransaction().commit();
        
    }
    
    public List<Spitter> getRecentSpittles(int size) {
        
        em.getTransaction().begin();
        List<Spitter> allSplitter = em.createQuery("Select a from Spitter a", Spitter.class).getResultList();
        em.getTransaction().commit();
        List<Spitter> returnSpitter = new ArrayList<>();
        
        if (size > allSplitter.size()) size = allSplitter.size();
        
        for(int i = 0; i<size; i++)
        {
           returnSpitter.add((Spitter)allSplitter.get(i));
        }
        return returnSpitter;
    }
    
}
Файл контроллера:
SpitterController.java
Java
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
package spitter;
 
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
 
 
@Controller
public class SpitterController {
    
 @Autowired   
 private SpitterDAO spitterService;
  
 @RequestMapping(value="/index.htm", method = RequestMethod.GET)
 public String listSpitters(Map<String, Object> map) throws IOException {
 
                System.out.println("Приложение Spitter запущено");
                ApplicationContext context = new FileSystemXmlApplicationContext("C:/SpitterWeb/web/WEB-INF/applicationContext.xml");
                spitterService = (SpitterServiceImplJPA)context.getBean("jpaSpitterService");
                FileWriter writer = new FileWriter("C:\\log.txt", false);
                 List<Spitter> recentSpittles = spitterService.getRecentSpittles(5);
                for(int i = 0 ; i < 5; i++)
                {
                    writer.write(recentSpittles.get(i).getUsername() + " " + recentSpittles.get(i).getPassword() + " " + recentSpittles.get(i).getFullname());
                }
                writer.close();
        map.put("spitter", new Spitter());
        map.put("spitterList", spitterService.getRecentSpittles(5));
        return "index";
    }
 
 @RequestMapping("/")
    public String home() {
                
        return "redirect:/index";
    }
  
}

Файлы конфигурации (каталог WEB-INF)
web.xml
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
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" 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">
    
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    
    <servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/servlet-context.xml</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
    
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    
    <filter>
        <filter-name>charsetFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>charsetFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
        
</web-app>
servlet-context.xml

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
<?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:p="http://www.springframework.org/schema/p"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="http://www.springframework.org/schema/beans [url]http://www.springframework.org/schema/beans/spring-beans-3.1.xsd[/url]
       [url]http://www.springframework.org/schema/aop[/url] [url]http://www.springframework.org/schema/aop/spring-aop-3.1.xsd[/url]
       [url]http://www.springframework.org/schema/tx[/url] http://www.springframework.org/schema/tx/spring-tx-3.1.xsd">
 
    <!--
    <annotation-driven />
    -->
        
    <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"/>
    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />  
        
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="index.jsp">indexController</prop>
            </props>
        </property>
    </bean>
         
    <bean id="viewResolver"
                class="org.springframework.web.servlet.view.InternalResourceViewResolver"
                p:prefix="/WEB-INF/jsp/"
                p:suffix=".jsp" />
      
        <bean name="indexController" class="spitter.SpitterController"/>  
        
</beans>
security.xml
XML
1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                            [url]http://www.springframework.org/schema/beans/spring-beans-3.0.xsd[/url]
                            [url]http://www.springframework.org/schema/security[/url]
                            http://www.springframework.org/schema/security/spring-security-3.0.xsd">
</beans:beans>
persistence.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence">
  <persistence-unit name="spitterPU">
    <class>spitter.Spitter</class>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>
    <properties>
      <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
      <property name="toplink.jdbc.url" value="jdbc:mysql://localhost:3306/database_spitter"/>
      <property name="toplink.jdbc.user" value="root"/>
      <property name="toplink.jdbc.password" value="191261"/>
    </properties>
  </persistence-unit>
</persistence>
applicationContext.xml

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
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       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/cache[/url] http://www.springframework.org/schema/cache/spring-cache-3.2.xsd" xmlns:cache="http://www.springframework.org/schema/cache">
 
 
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/database_spitter" />
<property name="username" value="root" />
<property name="password" value="191261" />
</bean>
 
<bean id="jdbcTemplate"
class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
<constructor-arg ref="dataSource" />
</bean>
 
<!--Персистенция-->
<bean id="jpaVendorAdapter"
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="database" value="MYSQL" />
<property name="showSql" value="true"/>
<property name="generateDdl" value="false"/>
<property name="databasePlatform" value="org.hibernate.dialect.HSQLDialect" />
</bean>
 
<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
<bean class= "org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>
 
<bean id="emf" class= "org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="jpaVendorAdapter" ref="jpaVendorAdapter" />
<property name="persistenceUnitName" value="spitterPU" />
<property name="persistenceXmlLocation" value="WEB-INF/persistence.xml"/>
</bean>
 
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="emf" />
</bean>
 
<bean id="jpaSpitterService" class="spitter.SpitterServiceImplJPA">
 <property name="manager" ref="transactionManager" />   
</bean>
 
<import resource="security.xml" />
 
</beans>
Файл отображения (каталог WEB-INF):
index.jsp
HTML5
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
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>   
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf8"/>
    <title>"GET INFORMATION FROM DATABASE MYSQL</title>
</head>
<body>
<h3>TABLE OF SPITTERS</h3>
<c:if test="${!empty spitterList}">
    <table border="1">
        <tr>
            <th>USERNAME</th>
            <th>PASSWORD</th>
            <th>FULLNAME</th>
        </tr>
        <c:forEach items="${spitterList}" var="spitter">
            <tr>
                <td>${spitter.username}</td>
                <td>${spitter.password}</td>
                <td>${spitter.fullname}</td>
                <td><a href="delete/${spitter.id}">Delete</a></td>
            </tr>
        </c:forEach>
    </table>
</c:if>
</body>
</html>
Заранее спасибо за помощь

проект NetBeans с необходимыми библиотеками лежит тут:
https://dropmefiles.com/xblfV
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.02.2016, 08:07
Ответы с готовыми решениями:

Сворачивание и разворачивание приложения при обновлении || установка иконки приложения
1. Допустим у меня GUI свернут, мне нужно, что бы при обновлении GUI (добавились новые строки в текстовое поле) GUI разворачивался, и, если...

Разворачивание приложения на хостинге
У меня есть приложение - чат бот, работает на локальном компе через поднятый вэбсокет. Сразу скажу - я на Винде 7 про. Хочу, чтобы картинка...

Разворачивание приложения
В MVS 2010 в windows Form создал форму, поместил на нее несколько элеметов, подскажите пожалуйста как сделать так чтобы при разворачивания...

1
Эксперт Java
 Аватар для KEKCoGEN
2399 / 2224 / 565
Регистрация: 28.12.2010
Сообщений: 8,672
11.02.2016, 10:06
Mysterio_new, почему бы не запустить в дебаге и не посмотреть что возвращает контроллер?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.02.2016, 10:06
Помогаю со студенческими работами здесь

Разворачивание приложения при нажатии на уведомление
Context context = getApplicationContext(); Intent notificationIntent = new Intent(context, this.getClass()); PendingIntent...

JDK и разработка приложения
Добрый день! С универа не программировал на java. Сейчас встала передо мной задача разработать приложение. Суть приложения в том, что бы...

Разворачивание приложения asp.net web forms на локальном сервере IIS
Здравствуйте у меня такой вопрос, есть проект asp.net web forms, в котором используются данные из БД SQL-Server, и из текстового файла на...

Выбрать использование JDK, а не JRE. Ошибка Target is not a JDK root. System library was not found
Window--Preferences---Java--&gt;Installed JREs---&gt;Add---&gt;Next---&gt;Directory Выбираю директорию C:\Program Files\Java\jdk-9.0.1 однако...

Возможен ли запуск MVC веб приложения без установки веб-серверов?
Есть программа, крутящаяся в виде службы Windows. Для неё есть клиент WinForm обмен с которым идёт через WCF. Была поставлена задача -...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru