Разработка WEB-приложений

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    505,77 Кб
  • Опубликовано:
    2015-05-31
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка WEB-приложений

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ

АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ОБРАЗОВАНИЯ

«САМАРСКИЙ ГОСУДАРСТВЕННЫЙ АЭРОКОСМИЧЕСКИЙ

УНИВЕРСИТЕТ ИМЕНИ АКАДЕМИКА С.П. КОРОЛЕВА

(НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ)» (СГАУ)

Факультет Информатики

Кафедра Информационных систем и технологий



ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту

по теме «Разработка WEB-приложений»


Студент Малыхин М.Ю. группа 6401

Руководитель Лёзина И.В.






Самара 2015 г.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

СТРУКТУРА БАЗЫ ДАНЫХ

.1 Логическая схема БД

.2 Физическая схема БД

АРХИТЕКТУРА ПРИЛОЖЕНИЯ

.1 Технологии

.2 Обоснования использования

.3 Взаимодействие элементов системы

ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ

.1 Разработка и описание интерфейса

.2 Диаграмма вариантов использования

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПРИЛОЖЕНИЕ А Исходный код программы

ПРИЛОЖЕНИЕ Б Служебныефайлы

ПРИЛОЖЕНИЕ В HTML, CSS, XML

ВВЕДЕНИЕ

Информационная система (ИС) - это система обработки данных какой-либо предметной области со средствами накопления, хранения, обработки, преобразования, передачи, обновления информации с использованием компьютерной и другой техники[1]. В ИС выполняются следующие процессы:

−       ввод информации из внешних и внутренних источников;

−       обработка входящей информации;

−       хранение информации для последующего ее использования;

−       вывод информации в удобном для пользователя виде [2].

Основа ИС, объект ее обработки - база данных (БД). База данных - это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области или разделе предметной области[3]. Таким образом, БД выполняет функцию хранения информации в ИС.

В офисе хранение актуальной информации играет ключевую роль в эффективной работе его сотрудников. Штату необходимо быстро выполнять запросы начальства (например, помощь в поиске документов по типам или работниками), поэтому в БД должна содержатьсяследующая информация:

−       информация о работниках;

−       информация об организации;

−       информация о документах;

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

1      
СТРУКТУРА БАЗЫ ДАНЫХ

1.1    Логическая схема БД

информационный система интерфейс сервер

Логическая модель БД описывает понятия предметной области, их взаимосвязь, а также ограничения на данные, налагаемые предметной областью без учета её реализации в конкретной СУБД [4].

Основным средством разработки логической модели данных в настоящий момент являются различные варианты ER-диаграмм (Entity-Relationship, диаграммы сущность-связь).

На рисунке 1 представлена логическая схема базы данных предметной области «Офис». На логической схеме изображены следующие сущности: Organization, Employee, Job_Title, Document, Document_type. Описание сущностей содержится в таблице 1.

Рисунок 1 - Логическая схема БД

Таблица 1 - Описание сущностей логической модели данных

Название

Назначение

Employee

Описывает работников находящихся в штате организации. Содержит атрибуты: ФИО, занимаемая должность и организация в штате которой состоит. Связана связью «один к одному» с сущностью «JobTitle» .

Organization

Описывает организацию в которой работают сотрудники. Содержит атрибуты: название, адрес. Связана связью «один к одному» с сущностью «Employee».

Job_Title

Справочник должностей. Содержит атрибут: должность (название должности).

Document

Описывает все документы и кто из работников над ними работает. Содержит атрибуты: название, тип документа, работник. Связана связью «один к одному» с сущностью Employee и связью «один к одному» с сущностью DocumentType.

Document_type

Справочник типов документов. Содержит атрибут тип документа.


1.2    Физическая схема БД

Физическая модель данных оперирует категориями, касающимися организации внешней памяти и структур хранения, используемых в данной операционной среде [5]. В настоящий момент в качестве физических моделей используются различные методы размещения данных, основанные на файловых структурах: это организация файлов прямого и последовательного доступа, индексных файлов и инвертированных списков.

На рисунке 2 представлена физическая схема БД. На схеме изображены сущности, а также указаны типы данных. Так как сущности «Document_type» и «Employee» связаны с сущностью «Document» связью «один к одному», в физической схеме добавляются сущности-связки «Document_type\Document»и «Employee\Document». Сущности-связки содержат внешние ключи, обеспечивающие вид связи «один к одному».

Рисунок 2 - Физическая схема БД


2.1    Технологии

При разработке информационной системы использовались следующие технологии Java EE: JSP (Java Server Pages) и Servlet, а также ORM (Object/Relational Mapper) реализация - Hibernate. В качестве локального сервера приложений использовался Tomcat 8.0.21. Для создания информационной системы была использована IDE (Integrated development environment)IntelliJIDEA 14.0.2.

Технология JavaServer Pages (JSP) позволяет легко создавать webсодержимое, которое имеет как статические, так и динамические компоненты[6].Она воплощает все динамические возможности технологии Java Servlet, но обеспечивает более естественный способ создания статического содержимого. Страница JSP является текстовым документом, которая содержит текст двух типов: статические исходные данные, которые могут быть оформлены в одном из текстовых форматов HTML, SVG, WML, или XML, и JSP элементы, которые конструируют динамическое содержимое.

Сервлеты (Servlets) - это java-программы, которые выполняются на серверной стороне Web-приложения и динамически расширяют функциональные возможности Web-сервера [7].

Работа сервлета заключается в том, что при приходе запроса от клиента Web-сервер с помощью специального конфигурационного файла определяет, какой сервлет необходимо выполнить. JAVA-машина, в свою очередь выполняет сервлет, который создает HTML-страницу и передает содержимое Web-серверу. Web-сервер отправляет клиенту сформированную сервлетом HTML-страницу.

Для отображения объектно-ориентированной модели данных в традиционные реляционные базы данных использовалась технология Hibernate[8]. Для создания статической составляющей веб-страниц применялся язык гипертекстовой разметки HTML [9], для стилизации страниц были использованы каскадные таблицы стилей CSS (Cascading Style Sheets) [10]. Для придания интерактивности веб-страницам был использован язык сценариев JavaScript [11].

.2      Обоснования использования

Технология JSP представляет собой простой способ добавлять динамические данные к фиксированным шаблонным данным путем Java вставок, заключенных в специальные теги, что значительно упрощает разработку web-приложения.Технология является независимой от платформы на динамических web-страницах и web-серверах, включает многократное использование компонентов (JavaBeans)и библиотек тегов. Использование заранее определенных переменных session, response, и requestпозволяет разработчику эффективно обрабатывать запросы клиента и создавать динамические ответына них.

Сервлеты обеспечивают компонентный, платформонезависимый способ создания веб-приложений, без ограничений производительности. Они не привязаны ни к конкретному серверу, ни к платформе. Сервлеты не предназначены для какого-то конкретного протокола, хотя чаще всего их используют совместно с HTTP(HyperText Transfer Protocol). Сервлет дает возможность передавать пользовательские данные заданному ресурсу и сохранять полученные с ресурса данные в БД.

Технология Hibernateпозволяет выполнить отображение объектов объектно-ориентированного языка в структуры реляционных баз данных со всеми полями, значениями, отношениями и так далее. Hibernate значительно уменьшает время разработки приложений, работающих с БД, заботится о связи Java классов с таблицами БД (и типов данных Java с типами данных SQL), предоставляет средства для автоматического построения запросов и извлечения данных. Hibernate предлагает три вида запросов к БД: традиционные SQL-запросы; HQL-запросы (The Hibernate Query Language), похожие на SQL-запросы, однако являющиеся полностью объектно-ориентированными; критериальные запросы.

HTML,CSS и JavaScriptпозволяют создать интерактивные страницы с приятным дизайном.JavaScript,исполняемый браузером, может изменять, добавлять и удалять содержимое страницы при возникновении какого-либо события. В результате страница может реагировать на действия пользователя,причем скрипт выполняется на стороне клиента, а не на сервере.

.3      Взаимодействие элементов системы

Реализованная информационная система имеет трехуровневую архитектуру, т.е. разделена на три слоя: слой представления (клиентское приложение), слой бизнес-логики (сервер приложений), слой доступа к данным (сервер БД). Слой представления - интерфейсный компонент системы, предоставляемый конечному пользователю. Данный слой выполняет функции отображения и ввода данных для последующей обработки, и не нагружается существеннойбизнес-логикой. Она в основном сосредоточена на сервере приложений, который располагается на втором уровне архитектуры. Связующее программное обеспечение позволяет принимать запросы от клиентского приложения, и после их анализа выполнять запросы к серверу БД. Слой доступа к данным обеспечивает хранение данных и выносится на отдельный уровень, реализуется, как правило, средствами систем управления базами данных, подключение к этому компоненту обеспечивается только с уровня сервера приложений.

        
ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ

3.1    Разработка и описание интерфейса

При разработке интерфейса необходимо следовать следующим принципам: интерфейс должен помогать выполнять задачу, а не становиться ею. Он должен быть дружелюбным, удобным, интуитивно-понятным, чтобы минимизировать время, которое пользователь тратит на осознание того, как работать с системой.

На начальной странице пользователю предоставлен выбор таблицы, с которой он будет продолжать работу (рисунок5).

Рисунок 5 - Главная страница

При нажатии на одну из кнопок, осуществится переход на страницу, которая будет включать в себя отображение данных выбранной таблицы, а также кнопки с доступными для пользователя действиями. На рисунке 6 изображена страница, предназначенная для работы с сущностью «Employee».

Рисунок 6 - Страница для работы с сущностью «Employee»

Для того, чтобы добавить запись, необходимо нажать на соответствующую кнопку, после чего откроется страница для добавления (рисунок 7).

Рисунок 7 - Страница добавления записи в таблицу «Employee»

При нажатии кнопки «Ок» введенные данные сохраняются в БД. При этом осуществляется контроль ввода обязательных для заполнения полей. Если такое поле не заполнено, появляется подсказка с сообщением. Аналогично контролируется формат вводимых данных (рисунок 8). Если данные введены правильно, и заполнены необходимые поля, то после сохранения страница обновляется, а поля ввода очищаются. Кнопка «Очистить» позволяет очистить заполненные поля. Пользователь имеет возможность вернуться на страницу для работы с сущностью.

Рисунок 8 - Контроль ввода данных

Для удаления записей из БД необходимо запись в таблице а затем нажать на кнопку «Удалить»(рисунок 9).

Рисунок 9 - Удаление записи

Рисунок 10 - Неактивные кнопки Изменить и Удалить

Если при нажатии кнопки «Удалить» не выбрана ни одна запись, то кнопка останется не активной до тех пока запись не будет выбрана. Аналогично для кнопки «Изменить»

Редактирование записи производится аналогично удалению (рисунок 11).

Рисунок 11- Редактирование записи

.2      Диаграмма вариантов использования

На рисунке 17 представлена диаграмма вариантов использования [9]. На этой диаграмме определяются возможности пользователя в ИС.

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

Рисунок 17 -Диаграмма вариантов использования

ЗАКЛЮЧЕНИЕ

В соответствии с заданием для курсового проекта был проведен анализ предметной области, логическое проектирование и затем выполнена физическая реализация проекта в выбранной разработчиком среде. При разработке использовались следующие технологии: Servlet, JSP, Hibernate, язык сценариев - JavaScript, каскадные таблицы стилей - CSS. Итогом проделанной работы является информационная система «Офис».

В разработанной системе реализован веб-интерфейс, который обеспечивает работу с сервер-приложением, в свою очередь, взаимодействующим с БД. Пользователю предоставлена возможность выполнения основных операций: чтения, добавления, редактирования, удаления данных. Предусмотрен контроль ввода обязательных для заполнения данных и формата вводимой информации.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1 Вишнякова, С.М. Профессиональное образование. Словарь. Ключевые понятия, термины, актуальная лексика [Электронный ресурс]/ С.М.Вишнякова - М.: НМЦ СПО, 1999.

Понятие информационной системы (ИС) [Электронный ресурс]. - URL: http://cde.osu.ru/demoversion/course157/text/1.5.html (дата обращения: 07 04 2015).

Информационные системы. Базы данных[Электронный ресурс]. - URL: http://www.kolomna-school7-ict.narod.ru/st40401.htm (дата обращения: 07 04 2015).

Кривошеин, М. ER-диаграммы сущность-связь[Электронный ресурс] /М.Кривошеин - URL: http://kitzip.ru/upload/iblock/770/770e94b98016f3f4917cb4e38633d0f1.pdf (Дата обращения: 27 10 2014).

Классификация моделей данных[Электронный ресурс]. - URL:http://www.sqlshop.ru/publ/klassifikacija_modelej_dannykh/1-1-0-5 (дата обращения: 18 12 2014).

Технология JavaServer Pages[Электронный ресурс]. - URL:http://www.javable.com/tutorials/j2ee/JSPIntro/ (дата обращения: 11 04 2015).

Сервлеты. Введение[Электронный ресурс]. - URL: http://www.java2ee.ru/servlets/ (дата обращения: 04 11 2015).

Java Hibernate. Часть 1 - Введение[Электронный ресурс]. - URL:http://javaxblog.ru/article/java-hibernate-1/(дата обращения: 11 04 2015).

Самоучитель HTML4 [Электронный ресурс]. - URL: http://htmlbook.ru/samhtml (дата обращения: 11 04 2011).

Самоучитель CSS[Электронный ресурс]. - URL: http://htmlbook.ru/samcss(дата обращения: 11 04 2015).

JS для начинающих. Введение [Электронный ресурс]. - URL: http://true-coder.ru/js-dlya-nachinayushhix/js-dlya-nachinayushhix-urok-0-vvedenie.html (дата обращения: 11 04 2015).

ПРИЛОЖЕНИЕ А

Исходный код программы

//Класс WorkWithDbпакета, обеспечивающий соединение с БД и получение сессии

public class WorkWithDB {static final SessionFactory ourSessionFactory;static final Configuration configuration;{{= new Configuration();=configuration.configure().buildSessionFactory(ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry());

} catch (Throwable ex) {.err.println("Initial SessionFactory creation failed." + ex);new ExceptionInInitializerError(ex);

}

}static Session getSession() {ourSessionFactory.openSession();

}

}

//Класс AuthorServlet пакета servlets - сервлет для страницы, предназначенной //для работы с сущностью «Автор».class EmployeeServlet extends HttpServlet {void doPost(HttpServletRequest request ,HttpServletResponse response) throws ServletException,IOException{ba = new BusinessEmployee();<Employee> employees = ba.selectAll();result = new LinkedList();(Employee employee:employees){.add(employee.getId_author());.add(employee.getName());.add(employee.getJobTitle());.add(employee.getOrganization());

}.setAttribute("employees", result);view=request.getRequestDispatcher("employee.jsp");.forward(request,response);

}void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {(request.getParameter("deleteEmployee")!=null){ids = request.getParameter("hiddenTB");((ids!=null)&&(!ids.equals(""))) {[] idSplit = ids.split("&");<Integer> idList = new LinkedList<Integer>();(int i=0;i<idSplit.length;i++){.add(Integer.parseInt(idSplit[i]));

}ba = new BusinessEmployee);.deleteEm ployee(idList);

}(request,response);

}

}

//КлассAUpdateServletпакетаservlets - сервлет для страницы, //предназначенной для редактирования данных сущности «Employee».

public class AUpdateServlet extends HttpServlet {void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {ids = request.getParameter("hiddenTextBox");((ids!=null)&&(!ids.equals(""))) {ba = new BusinessEmployee();employee = ba.getEmployeeById(Integer.parseInt(ids));result = new LinkedList();.add(employee.getId_author());.add(employee.getName());.add(employee.getJobTitle());.add(employee.getOrganization());.setAttribute("employee", result);

}view = request.getRequestDispatcher("empUpdate.jsp");.forward(request, response);

}void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{.setCharacterEncoding("UTF-8");(request.getParameter("submit")!=null) {.setContentType("text/html; charset=UTF-8");.getEmpl();name = request.getParameter("name");jobtitle = request.getParameter("jobtitle");corganization = request.getParameter("organization");session = request.getSession();idStr = (String) session.getAttribute("id");id = Integer.parseInt(idStr);oldName = (String) session.getAttribute("oldName");oldJobtitle =(String) session.getAttribute("oldJobtitle");oldOrganization = (String) session.getAttribute("oldOrganization");ba = new BusinessEmployee();(!name.equals(oldname)) {.updatename(id, name);

}(!jobtitle.equals(oldJobtitle)) {.updatejobtitle(id, jobtitle);

}(!organization.equals(oldorganization)) {.updateCorganization(id, organization);

}.sendRedirect("employee.do");

}

}

}

//КлассAInsertServletпакетаservlets - сервлет для страницы, //предназначенной для добавления данных сущности «Employee».

public class AInsertServlet extends HttpServlet{void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {view = request.getRequestDispatcher("authInsert.jsp");.forward(request, response);

}void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException {.setCharacterEncoding("UTF-8");name =request.getParameter("name");jobtitle = request.getParameter("jobtitle");organization = request.getParameter("organization");ba = new BusinessEmployee();.insertEmployee(name,jobtitle,organization);view = request.getRequestDispatcher("emplInsert.jsp");.forward(request, response);

}

}

//Класс Organization-сущность «Organization». Объектное представление сущности БД с //помощью Hibernate.

@Entity

@javax.persistence.SequenceGenerator(="sOrganization",= "sOrzanization"

)

@Table(name = "CURSE_ORGANIZATION")class Organization extends StandardEntity {

@Column(name = "NAME", nullable = false, unique = true)String name;

@Column(name = "ADRESS", unique = true)String adress;static final long serialVersionUID = -6686727428074422681L;void setName(String name) {.name = name;

}String getName() {name;

}void setAdress(String adress) {.adress = adress;

}String getAdress() {adress;

}

}

//Класс Employee - сущность «Employee». Объектное представление сущности БД с //помощью Hibernate.

@Entity

@javax.persistence.SequenceGenerator(="sEmployee",= "sEmployee"

)

@Table(name = "CURSE_EMPLOYEE")class Employee extends StandardEntity {

@Column(name = "NAME", nullable = false, unique = true)String name;

@JoinColumn(name = "JOB_TITLE_ID", unique = true)

@OneToOne(fetch = FetchType.LAZY, optional = false)Job_title job_title;

@OneToOne(fetch = FetchType.LAZY, optional = false)

@JoinColumn(name = "ORGANIZATION_ID", unique = true)Organization organization;static final long serialVersionUID = 5032259168833785924L;Job_title getJob_title() {job_title;

}void setJob_title(Job_title job_title) {.job_title = job_title;

}void setName(String name) {.name = name;

}String getName() {name;

}void setOrganization(Organization organization) {.organization = organization;

}Organization getOrganization() {organization;

}

}

//Класс Document - сущность «Document». Объектное представление сущности БД с //помощью Hibernate.

@Entity

@javax.persistence.SequenceGenerator(="s Document",= "s Document"

)

@Table(name = "CURSE_DOCUMENT")class Document extends StandardEntity {

@Column(name = "TITLE", nullable = false, unique = true)String title;

@JoinColumn(name = "DOCUMENT_TYPE_ID")

@OneToOne(fetch = FetchType.LAZY, optional = false)Document_type document_type;

@JoinColumn(name = "EMPLOYEE_ID")

@OneToOne(fetch = FetchType.LAZY, optional = false)Employee employee;static final long serialVersionUID = -1148332596993295451L;Document_type getDocument_type() {document_type;

}void setDocument_type(Document_type document_type) {.document_type = document_type;

}Employee getEmployee() {employee;

}void setEmployee(Employee employee) {.employee = employee;

}void setTitle(String title) {.title = title;

}String getTitle() {title;

}

}

//Класс JobTitle - сущность «JobTitle». Объектное представление сущности БД с //помощью Hibernate.

@Entity

@javax.persistence.SequenceGenerator(="sGenre",= "sGenre"

)

@Table(name = "CURSE_JOB_TITLE")class Job_title extends StandardEntity {static final long serialVersionUID = -8639189992604587340L;

@Column(name = "JOB_TITLE", nullable = false, unique = true)String job_title;void setJob_title(String job_title) {.job_title = job_title;

}

}

//Класс DocumentType - сущность «DocumentType». Объектное представление сущности БД с //помощью Hibernate.

@Entity

@javax.persistence.SequenceGenerator(="sGenre",

sequenceName = "sGenre"

)

@Table(name = "CURSE_DOCUMENT_TYPE")

@Entity(name = "curse$Document_type")class Document_type extends StandardEntity {static final long serialVersionUID = -8274527782470999112L;

@Column(name = "DOCUMENT_TYPE", nullable = false, unique = true)String document_type;void setDocument_type(String document_type) {.document_type = document_type;

}String getDocument_type() {document_type;

ПРИЛОЖЕНИЕ Б

Служебныефайлы

1.1.    

//hibernate.cfg.xml - конфигурационный файл

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD//EN"

"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

<session-factory>

<property name="connection.driver_class">org.postgresql.Driver</property>

<property name="connection.url">jdbc:postgresql://localhost:5432/bookShop</property>

<property name="connection.username">postgres</property>

<property name="connection.password">qwerty</property>

<property name="connection.pool_size">2</property>

<property name="dialect">org.hibernate.dialect.PostgresPlusDialect</property>

<property name="hbm2ddl.auto">update</property>

<property name="show_sql">false</property>

<mapping package="models"/>

<mapping>

<mapping>

<mapping>

<mapping>

<mapping>

<!-- DB schema will be updated if needed -->

<!--<property name="hbm2ddl.auto">update</property> -->

</session-factory>

</hibernate-configuration>

//web.xml - Дескрипторсервлета

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

<web-app xmlns="http://java.sun.com/xml/ns/javaee":xsi="http://www.w3.org/2001/XMLSchema-instance":schemaLocation="http://java.sun.com/xml/ns/javaee://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"="2.5">

<context-param>

<description>Vaadin production mode</description>

<param-name>productionMode</param-name>

<param-value>false</param-value>

</context-param>

<context-param>

<description>Web resources version for correct caching in browser</description>

<param-name>webResourcesTs</param-name>

<param-value>2015_04_23_07_14</param-value>

</context-param>

<!-- Application properties config files -->

<context-param>

<param-name>appPropertiesConfig</param-name>

<param-value>:cuba-web-app.properties:web-app.properties

/WEB-INF/local.app.properties:${catalina.home}/conf/app/local.app.properties

</param-value>

</context-param>

<listener>

<listener-class>com.haulmont.cuba.web.sys.WebAppContextLoader</listener-class>

</listener>

<servlet>

<servlet-name>app_servlet</servlet-name>

<servlet-class>com.haulmont.cuba.web.sys.CubaApplicationServlet</servlet-class>

<init-param>

<description>Application class</description>

<param-name>application</param-name>

<param-value>com.company.curse.web.App</param-value>

</init-param>

<description>Widgetset name</description>

<param-name>widgetset</param-name>

<param-value>com.haulmont.cuba.web.toolkit.ui.WidgetSet</param-value>

</init-param>

<init-param>

<description>UI class</description>

<param-name>UI</param-name>

<param-value>com.haulmont.cuba.web.AppUI</param-value>

</init-param>

<init-param>

<description>UIProvider class</description>

<param-name>UIProvider</param-name>

<param-value>com.haulmont.cuba.web.sys.CubaUIProvider</param-value>

</init-param>

<init-param>

<description>Heartbeat of active UI in seconds</description>

<param-name>heartbeatInterval</param-name>

<param-value>30</param-value>

</init-param>

</servlet>

<servlet>

<servlet-name>dispatcher</servlet-name>

<servlet-class>com.haulmont.cuba.web.sys.CubaDispatcherServlet</servlet-class>

<load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

<servlet-name>dispatcher</servlet-name>

<url-pattern>/dispatch/*</url-pattern>

</servlet-mapping>

<servlet-mapping>

<servlet-name>app_servlet</servlet-name>

<url-pattern>/*</url-pattern>

</servlet-mapping>

<filter>

<filter-name>cuba_filter</filter-name>

<filter-class>com.haulmont.cuba.web.sys.CubaHttpFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>cuba_filter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

</web-app>

ПРИЛОЖЕНИЕ В

HTML, CSS, XML

//index.jsp - основная страница приложения (страница по умолчанию)

<%--by IntelliJ IDEA.: Endertul: 16.03.2015: 6:45change this template use File | Settings | File Templates.

-%>

<%@ page import="java.sql.*"%>

<%@ page import="javax.servlet.*" %>

<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8"%>

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="CONTENT-TYPE" content="text/html; charset=UTF-8">

<link rel="stylesheet" type="text/css" href="css/main.css">

<title>Офис</title>

</head>

<body>

<%response.setContentType("text/html; charset=UTF-8");.getWriter ();.setCharacterEncoding ("UTF-8");%>

<h1 >Офис</h1>

<table>

<tbody>

<tr><td colspan="4"><br/></td></tr>

<tr><td colspan="4" align="center"><img src="images/trudyBook.png" align="center"></td></tr>

</tbody>

</table>

</body>

</html>

//employee_browse.xml - страница, для работы с сущностью «Employee»

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

<dsContext>

<collectionDatasource id="employeesDs"="com.company.curse.entity.Employee"="employee-view">

<query>

<![CDATA[select e from curse$Employee e]]>

</query>

</collectionDatasource>

</dsContext>

<layout expand="employeesTable"="true">

<filter id="filter"="employeesDs">

<properties include=".*"/>

</filter>

<table id="employeesTable"="100%">

<actions>

<action id="create"/>

<action id="edit"/>

<action id="remove"/>

</actions>

<columns>

<column id="name"/>

<column id="job_title"/>

<column id="organization"/>

</columns>

<rows datasource="employeesDs"/>

<rowsCount/>

<buttonsPanel id="buttonsPanel"="true">

<button id="createBtn"="employeesTable.create"/>

<button id="editBtn"="employeesTable.edit"/>

<button id="removeBtn"="employeesTable.remove"/>

</buttonsPanel>

</table>

</layout>

</window>

//employee_edit.xml - страница, для редактирования и создания записей сущности «Employee»

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

<window xmlns="http://schemas.haulmont.com/cuba/5.4/window.xsd"="msg://editCaption"="com.company.curse.gui.employee.EmployeeEdit"="employeeDs"="fieldGroup"="com.company.curse.gui.employee">

<dsContext>

<datasource id="employeeDs"="com.company.curse.entity.Employee"="employee-view"/>

</dsContext>

<layout expand="windowActions"="true">

<fieldGroup id="fieldGroup"="employeeDs">

<column width="250px">

<field id="name"/>

<field id="job_title"/>

<field id="organization"/>

</column>

</fieldGroup>

<iframe id="windowActions"="editWindowActions"="window-actions"/>

</layout>

</window>

Похожие работы на - Разработка WEB-приложений

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!