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

Разработка информационной системы "Офис" с применением технологий JavaScript, Servletа, CSS (каскадные таблицы стилей ) и Hibernate. Логическая и физесчкая схема базы данных. Создание веб-интерфейса, который обеспечивает работу с сервер-приложением.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 31.05.2015
Размер файла 770,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Самара 2015 г.

СОДЕРЖАНИЕ

  • ВВЕДЕНИЕ
  • 1 СТРУКТУРА БАЗЫ ДАНЫХ
    • 1.1 Логическая схема БД
    • 1.2 Физическая схема БД
  • 2 АРХИТЕКТУРА ПРИЛОЖЕНИЯ
    • 2.1 Технологии
    • 2.2 Обоснования использования
    • 2.3 Взаимодействие элементов системы
  • 3 ИНТЕРФЕЙС ПОЛЬЗОВАТЕЛЯ
    • 3.1 Разработка и описание интерфейса
    • 3.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 АРХИТЕКТУРА ПРИЛОЖЕНИЯ

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.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,исполняемый браузером, может изменять, добавлять и удалять содержимое страницы при возникновении какого-либо события. В результате страница может реагировать на действия пользователя,причем скрипт выполняется на стороне клиента, а не на сервере.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ПРИЛОЖЕНИЕ А

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

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

public class WorkWithDB {

private static final SessionFactory ourSessionFactory;

private static final Configuration configuration;

static{

try{

configuration = new Configuration();

ourSessionFactory=configuration.configure().buildSessionFactory(

new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry());

} catch (Throwable ex) {

System.err.println("Initial SessionFactory creation failed." + ex);

throw new ExceptionInInitializerError(ex);

}

}

public static Session getSession() {

return ourSessionFactory.openSession();

}

}

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

public class EmployeeServlet extends HttpServlet {

public void doPost(HttpServletRequest request ,HttpServletResponse response) throws ServletException,IOException{

BusinessEmployee ba = new BusinessEmployee();

List<Employee> employees = ba.selectAll();

List result = new LinkedList();

for(Employee employee:employees){

result.add(employee.getId_author());

result.add(employee.getName());

result.add(employee.getJobTitle());

result.add(employee.getOrganization());

}

request.setAttribute("employees", result);

RequestDispatcher view=request.getRequestDispatcher("employee.jsp");

view.forward(request,response);

}

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

if(request.getParameter("deleteEmployee")!=null){

String ids = request.getParameter("hiddenTB");

if((ids!=null)&&(!ids.equals(""))) {

String[] idSplit = ids.split("&");

List<Integer> idList = new LinkedList<Integer>();

for(int i=0;i<idSplit.length;i++){

idList.add(Integer.parseInt(idSplit[i]));

}

BusinessEmployee ba = new BusinessEmployee);

ba.deleteEm ployee(idList);

}

}

doPost(request,response);

}

}

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

public class AUpdateServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String ids = request.getParameter("hiddenTextBox");

if((ids!=null)&&(!ids.equals(""))) {

BusinessEmployee ba = new BusinessEmployee();

Employee employee = ba.getEmployeeById(Integer.parseInt(ids));

List result = new LinkedList();

result.add(employee.getId_author());

result.add(employee.getName());

result.add(employee.getJobTitle());

result.add(employee.getOrganization());

request.setAttribute("employee", result);

}

RequestDispatcher view = request.getRequestDispatcher("empUpdate.jsp");

view.forward(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{

request.setCharacterEncoding("UTF-8");

if(request.getParameter("submit")!=null) {

response.setContentType("text/html; charset=UTF-8");

response.getEmpl();

String name = request.getParameter("name");

String jobtitle = request.getParameter("jobtitle");

String corganization = request.getParameter("organization");

HttpSession session = request.getSession();

String idStr = (String) session.getAttribute("id");

Integer id = Integer.parseInt(idStr);

String oldName = (String) session.getAttribute("oldName");

String oldJobtitle =(String) session.getAttribute("oldJobtitle");

String oldOrganization = (String) session.getAttribute("oldOrganization");

BusinessEmployee ba = new BusinessEmployee();

if (!name.equals(oldname)) {

ba.updatename(id, name);

}

if (!jobtitle.equals(oldJobtitle)) {

ba.updatejobtitle(id, jobtitle);

}

if (!organization.equals(oldorganization)) {

ba.updateCorganization(id, organization);

}

response.sendRedirect("employee.do");

}

}

}

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

public class AInsertServlet extends HttpServlet{

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

RequestDispatcher view = request.getRequestDispatcher("authInsert.jsp");

view.forward(request, response);

}

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException,IOException {

request.setCharacterEncoding("UTF-8");

String name =request.getParameter("name");

String jobtitle = request.getParameter("jobtitle");

String organization = request.getParameter("organization");

BusinessEmployee ba = new BusinessEmployee();

ba.insertEmployee(name,jobtitle,organization);

RequestDispatcher view = request.getRequestDispatcher("emplInsert.jsp");

view.forward(request, response);

}

}

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

@Entity

@javax.persistence.SequenceGenerator(

name="sOrganization",

sequenceName = "sOrzanization"

)

@Table(name = "CURSE_ORGANIZATION")

public class Organization extends StandardEntity {

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

protected String name;

@Column(name = "ADRESS", unique = true)

protected String adress;

private static final long serialVersionUID = -6686727428074422681L;

public void setName(String name) {

this.name = name;

}

public String getName() {

return name;

}

public void setAdress(String adress) {

this.adress = adress;

}

public String getAdress() {

return adress;

}

}

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

@Entity

@javax.persistence.SequenceGenerator(

name="sEmployee",

sequenceName = "sEmployee"

)

@Table(name = "CURSE_EMPLOYEE")

public class Employee extends StandardEntity {

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

protected String name;

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

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

protected Job_title job_title;

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

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

protected Organization organization;

private static final long serialVersionUID = 5032259168833785924L;

public Job_title getJob_title() {

return job_title;

}

public void setJob_title(Job_title job_title) {

this.job_title = job_title;

}

public void setName(String name) {

this.name = name;

}

public String getName() {

return name;

}

public void setOrganization(Organization organization) {

this.organization = organization;

}

public Organization getOrganization() {

return organization;

}

}

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

@Entity

@javax.persistence.SequenceGenerator(

name="s Document",

sequenceName = "s Document"

)

@Table(name = "CURSE_DOCUMENT")

public class Document extends StandardEntity {

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

protected String title;

@JoinColumn(name = "DOCUMENT_TYPE_ID")

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

protected Document_type document_type;

@JoinColumn(name = "EMPLOYEE_ID")

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

protected Employee employee;

private static final long serialVersionUID = -1148332596993295451L;

public Document_type getDocument_type() {

return document_type;

}

public void setDocument_type(Document_type document_type) {

this.document_type = document_type;

}

public Employee getEmployee() {

return employee;

}

public void setEmployee(Employee employee) {

this.employee = employee;

}

public void setTitle(String title) {

this.title = title;

}

public String getTitle() {

return title;

}

}

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

@Entity

@javax.persistence.SequenceGenerator(

name="sGenre",

sequenceName = "sGenre"

)

@Table(name = "CURSE_JOB_TITLE")

public class Job_title extends StandardEntity {

private static final long serialVersionUID = -8639189992604587340L;

@Column(name = "JOB_TITLE", nullable = false, unique = true)

protected String job_title;

public void setJob_title(String job_title) {

this.job_title = job_title;

}

public String getJob_title() {

return job_title;

}

}

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

@Entity

@javax.persistence.SequenceGenerator(

name="sGenre",

sequenceName = "sGenre"

)

@Table(name = "CURSE_DOCUMENT_TYPE")

@Entity(name = "curse$Document_type")

public class Document_type extends StandardEntity {

private static final long serialVersionUID = -8274527782470999112L;

@Column(name = "DOCUMENT_TYPE", nullable = false, unique = true)

protected String document_type;

public void setDocument_type(String document_type) {

this.document_type = document_type;

}

public String getDocument_type() {

return 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 class="models.Employee"/>

<mapping class="models.Organization"/>

<mapping class="models.JobTitle"/>

<mapping class="models.Document"/>

<mapping class="models.DocumentType"/>

<!-- 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"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

version="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>

classpath:cuba-web-app.properties

classpath:web-app.properties

/WEB-INF/local.app.properties

file:${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>

<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 - основная страница приложения (страница по умолчанию)

<%--

Created by IntelliJ IDEA.

User: Endertul

Date: 16.03.2015

Time: 6:45

To change 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");

response.getWriter ();

request.setCharacterEncoding ("UTF-8");%>

<h1 >Офис</h1>

<table class="button">

<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"?>

<window xmlns="http://schemas.haulmont.com/cuba/5.4/window.xsd"

caption="msg://browseCaption"

class="com.company.curse.gui.employee.EmployeeBrowse"

focusComponent="employeesTable"

lookupComponent="employeesTable"

messagesPack="com.company.curse.gui.employee">

<dsContext>

<collectionDatasource id="employeesDs"

class="com.company.curse.entity.Employee"

view="employee-view">

<query>

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

</query>

</collectionDatasource>

</dsContext>

<layout expand="employeesTable"

spacing="true">

<filter id="filter"

datasource="employeesDs">

<properties include=".*"/>

</filter>

<table id="employeesTable"

width="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"

alwaysVisible="true">

<button id="createBtn"

action="employeesTable.create"/>

<button id="editBtn"

action="employeesTable.edit"/>

<button id="removeBtn"

action="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"

caption="msg://editCaption"

class="com.company.curse.gui.employee.EmployeeEdit"

datasource="employeeDs"

focusComponent="fieldGroup"

messagesPack="com.company.curse.gui.employee">

<dsContext>

<datasource id="employeeDs"

class="com.company.curse.entity.Employee"

view="employee-view"/>

</dsContext>

<layout expand="windowActions"

spacing="true">

<fieldGroup id="fieldGroup"

datasource="employeeDs">

<column width="250px">

<field id="name"/>

<field id="job_title"/>

<field id="organization"/>

</column>

</fieldGroup>

<iframe id="windowActions"

screen="editWindowActions"

stylename="window-actions"/>

</layout>

</window>

Размещено на Allbest.ru


Подобные документы

  • Проектирование базы данных "Менеджер". Выбор системы проектирования и реализации. Задачи, выполняемые приложением. Технические требования, предъявляемые к базе данных. Ее информационно-логическая структура. Основные принципы работы с приложением.

    дипломная работа [2,5 M], добавлен 20.05.2013

  • Краткие сведения о доске объявлений, структура и внутреннее содержание соответствующего сайта. Принципы и основные этапы разработки, выбор и обоснование программных средств: язык HTML, каскадные таблицы стилей, JavaScript, Web-сервер Apache, PHP.

    дипломная работа [1,6 M], добавлен 22.10.2014

  • Проектирование информационной системы (базы данных и приложения) для решения операций по учету финансов предприятия. Разработка использующих их клиентских приложений с применением технологических платформ на языке PHP с применением технологии WEB.

    дипломная работа [276,3 K], добавлен 24.03.2011

  • Определение автоматизированных информационных систем. Обоснование выбора среды разработки информационной системы. Создание запросов для выбора информации. Логическая и физическая структура реляционной базы данных. Разработка интерфейса пользователя.

    курсовая работа [2,1 M], добавлен 16.04.2017

  • Язык маркировки гипертекстов HTML, основа создания web-страниц. История спецификаций, каскадные таблицы стилей CSS. Способы определения таблиц стилей (стилевого шаблона). Язык подготовки сценариев JavaScript, его использование. Программный код web сайта.

    курсовая работа [26,9 K], добавлен 05.07.2009

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

    курсовая работа [4,8 M], добавлен 20.05.2014

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

    курсовая работа [35,4 K], добавлен 12.05.2013

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

    курсовая работа [1,9 M], добавлен 06.12.2010

  • Сравнительная характеристика, возможности и функции языков программирования JavaScript и PHP. Основные области их использования. Разработка интерактивного Web-приложения с применением JavaScript на примере теста по теме "Программирование на языке Delphi".

    курсовая работа [19,3 K], добавлен 01.07.2014

  • Организация работы с документами посредством информационной системы документооборота. Разработка базы данных, структуры веб-интерфейса. Вставка записей в таблицы. Анализ опасных, вредных факторов: действие на человека электромагнитных полей, их параметры.

    дипломная работа [4,6 M], добавлен 01.10.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.