Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Методическое указание к лабораторной работе «Создание корпоративного JAVA-приложения для IBM WebSphere»Содержание книги
Поиск на нашем сайте Методическое указание к лабораторной работе «Создание корпоративного JAVA-приложения для IBM WebSphere» Многочисленные организации заняты созданием корпоративных Web-приложений, используя архитектуру на основе Web-сервера. Данная архитектура имеет преимущества в скорости, защищённости и надёжности, обеспечиваемые серверными технологиями, и используется тогда, когда часть клиентов представляет многочисленный и заранее неопределённый круг пользователей, на компьютерах которых нельзя установить приложения. Платформа J2EE (Java 2 Enterprise Edition) предлагает модель многоуровневого распределенного приложения, возможность повторного использования компонентов, интегрированный обмен данными на основе XML, унифицированную модель безопасности и гибкое управление транзакциями. Распределенные многоуровневые приложения Платформа J2EE использует модель многоуровневого распределенного приложения. Логически приложение разделено на компоненты в соответствии с их функциональностью. Различные компоненты, составляющие J2EE-приложение, установлены на различных компьютерах в зависимости от их уровня в многоуровневой среде J2EE, которой данный компонент принадлежит. На рис.1 представлены два J2EE-приложения, разделенные на уровни, перечисленные в следующем списке. Части J2EE-приложения, показанные на рис.1, представлены в разделе "J2EE -компоненты".
Хотя J2EE-приложение состоит из трех или четырех уровней, показанных на рис.1, многоуровневые J2EE-приложения обычно принято называть трехуровневыми, т.к. они расположены на трех различных системах: клиентский компьютер, сервер J2EE и сервер базы данных или обычный сервер. Трехуровневые приложения, работающие данным способом, расширяют стандартную архитектуру клиент-сервер, добавляя многопоточный сервер приложений между клиентской частью и сервером базы данных.
Рис.1. Многоуровневые приложения
J2EE-компоненты J2EE-приложения состоят из компонентов. J2EE-компонента представляет собой законченный функциональный программный модуль, встроенный в приложение J2EE с соответствующими классами и файлами и взаимодействующий с другими компонентами. J2EE-спецификация определяет следующие J2EE-компоненты:
· клиентские приложения – это компоненты, работающие на клиентской машине; · компоненты технологии Java-сервлет и JavaServer Pages (JSP) – это Web-компоненты, работающие на сервере; · корпоративные компоненты – это бизнес-компоненты, работающие на сервере.
J2EE-компоненты пишутся на языке программирования Java и компилируются точно так же, как и любая другая Java-программа. Отличием между J2EE-компонентами и "стандартными" классами Java является то, что J2EE-компоненты собираются в J2EE-приложение, находящееся в строгом соответствии со спецификацией J2EE, развернутое для функционирования в соответствующем месте и управляемое сервером J2EE. Для обеспечения удалённого программного взаимодействия необходимы соответствующие протоколы Middle Ware. Для доступа к БД из Java-приложения используется MW JDBC J2EE-клиенты J2EE-клиентом может быть Web-клиент или клиент приложения. Web-клиенты Web-клиент (пользовательский интерфейс) состоит из двух частей: динамические Web-страницы, написанные на языках разметки различного типа (HTML, XML и т.д.), генерируемые Web-компонентами на Web-уровне, и Web-браузер, визуализирующий полученные от сервера страницы. Web-клиент иногда называют тонким клиентом. Тонкие клиенты обычно не выполняют таких функций как запрос к базе данных, реализация сложных бизнес-правил или связь с серверными приложениями. При использовании тонкого клиента подобные полновесные операции переносятся на корпоративные компоненты, выполняющиеся на J2EE-сервере и использующие безопасность, скорость, сервисы и надежность J2EE-серверных технологий. Клиенты приложения Клиент J2EE-приложения работает на клиентской машине и обеспечивает пользователей возможностью работать с задачами, требующими более богатого пользовательского интерфейса, чем тот, который предоставлен языками разметки страниц. Они обычно имеют графический пользовательский интерфейс, созданный при помощи Swing или AWT API, хотя, безусловно, возможен и интерфейс командной строки. Клиенты приложения имеют непосредственный доступ к корпоративным компонентам, исполняющимся на бизнес-уровне. Тем не менее, клиент приложения J2EE может открыть HTTP соединение для коммуникации с сервлетом, работающим на Web-уровне, если существуют такие требования к приложению.
Web-компоненты J2EE Web-компоненты могут быть либо сервлетами, либо страницами JSP. Сервлеты - это классы языка Java, которые динамически управляют запросами и конструируют ответы. JSP-страницы являются текстовыми документами, которые исполняются так же, как и сервлеты, но предлагают более естественный подход к созданию статического содержания. Так же как и клиентский уровень, Web-уровень, показанный на рис.2, может включать в себя компонент JavaBeans для управления вводом пользователя и направления этого ввода в работающий на бизнес-уровне корпоративный компонент для обработки.
Бизнес-компоненты Бизнес-код, который является логикой, решающей задачи непосредственно бизнес-области, такой как банк, розничная торговля или ж.д. транспорт, управляется корпоративными компонентами, выполняющимися на бизнес-уровне. На рис.3. показано, как корпоративный компонент получает данные от клиентской программы, обрабатывает их (при необходимости) и посылает их на уровень корпоративной информационной системы для хранения. Корпоративный компонент также извлекает данные из хранилища, обрабатывает (если необходимо) и посылает обратно в клиентскую программу.
Существует три типа корпоративных компонентов: · сессионные компоненты - представляют кратковременное общение с клиентом. Когда клиент заканчивает работу, сессионный компонент и его данные исчезают; · компоненты управления данными - представляют постоянные данные, хранимые в одной строке таблицы базы данных. Если клиент завершает работу или сервер выключается, встроенный сервис гарантирует, что данные такого компонента будут сохранены; · управляемые сообщениями компоненты - комбинируют особенности сессионного компонента и JMS (службы сообщений Java) приемника сообщений, позволяя бизнес-компоненту получать сообщения JMS асинхронно. В данной лабораторной работе мы будем использовать сессионные компоненты и компоненты управления данными.
Рис.4. Использование JDBC Java Database Connectivity (JDBC) JDBC определяет набор объектов и методов для взаимодействия с БД. 7 шагов обращения к БД: 1) загрузка JDBC Driver - необходимо загрузить класс Java SQL Driver. JDBC Driver транслирует вызовы, написанные на Java в особый формат, необходимый для работы сервера БД; 2) определение адреса для установления соединения – после загрузки драйвера необходимо задать месторасположение БД (адреса URL, ссылающиеся на БД, используют протокол TCP); 3) установление соединения – передача имени пользователя БД, выполнение метода getConnection(); 4) создание объекта statement для пересылки запросов и команд к БД; 5) выполнение запроса или обновление БД – использование метода executeQuery(), возвращающего объект типа ResultSet; Для внесения изменений в БД вместо executeQuery() используется метод executeUpdate(); 6) обработка результата – построчная обработка методом next(), позволяющий каждый раз обращаться к следующей строке таблицы; 7) закрытие соединения – выполнение команды close();
Что делает сервлет? Когда вы работаете с интерактивным Web-сайтом, все, что вы видите, отображается в браузере. За кулисами процесса Web-сервер принимает от вас запросы во время сессии, возможно, передает их в другой код (возможно, другим серверам) для обработки запроса и обращения к данным, а также генерирует результаты для отображения в браузере. Сервлет - это диспетчер процесса. Он находится на Web-сервере и обрабатывает входящие запросы и исходящие ответы.
WebSphere Studio Application Developer (WSAD) WSAD – коллекция инструментов для предоставления автоматизированного рабочего места, приспособленного для разработки приложений на основе J2EE.
Цель лабораторной работы: · изучение технологии распределённых многоуровневых корпоративных приложений; · создание приложения, позволяющего по выбору государства предоставлять информацию по соответствующим дорогам. Ход лабораторной работы: 1) Откройте WebSphere Application Developer, выбрав в меню Пуск – Все программы – IBM Rational Developer Platform – IBM Rational Application Developer – IBM Rational Application Developer
2) По умолчанию отображается перспектива Resource. Перспектива определяет первоначальный набор и схему видов в рабочей среде (Workbench). Каждая перспектива предоставляет набор функциональностей, нацеленных на выполнение конкретного типа задач или работ с ресурсами конкретного типа. В данном случае мы собираемся работать с JEE-ресурсами. Перейдите в перспективу JEE.
Интерфейс разработчика Окно просмотра структуры позволяет просматривать Web-проект в виде дерева с его составляющими классами
Область выбора перспектив
Область работы с серверами – позволяет запускать (start), останавливать (stop), перезапускать (publishing) или же запускать в режиме отладки (debugging)
Рабочая область – область написания кода программы
3) Работа с базой данных db2 Откройте WebSphere Application Developer, выбрав в меню Пуск – Все программы – IBM DB2 – DB2COPY1(по умолчанию) – Общие инструменты управления – Центр управления
Интерфейс разработчика Окно объектов – позволяет просматривать в виде структуры дерева «Все системы» и «Все базы данных»
Редактор команд – позволяет вводить запросы к системе
4) В окне объектов выберите базу данных SAMPLE, нажмите на ссылку «Запрос». 5) Используя содержимое файла database.txt выполните операции по созданию и заполнению следующих таблиц:
Page1.jsp <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@page language="java" contentType="text/html; charset=Windows-1251" pageEncoding="Windows-1251"%> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%> <html:html> <head> <title>Лабораторная работа</title> <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251"> <meta name="GENERATOR" content="Rational Application Developer"> </head> <script language="JavaScript"> function doShowPageGos(){ location.href="selectgos.do"; return true; } </script> <body bgcolor="silver"> <h1 style="font-style: italic" align="center"><font color="navy">Создание корпоративного JAVA-приложения</font></h1> <p> <button onclick="return doShowPageGos()" style="background-color: #e0e0e0">Лабораторная работа №1</button> </p> <font color="navy" size="4" face="Arial"><i> Выполнил: ФИО</i> </font> </body> </html:html>
LabForm.java package lab.forms; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; import java.io.UnsupportedEncodingException; import java.util.Collection; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; public class LabForm extends ActionForm { private Collection goss = null; private String gos =null; public Collection getGoss(){ return goss; } public void setGoss(Collection goss) { this.goss = goss; } public String getGos() { return gos; } public void setGos(String g) { try { this.gos = new String(g.getBytes("ISO-8859-1"),"CP1251"); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //---RESET Function--------- public void reset(ActionMapping mapping, HttpServletRequest request){ HttpSession session=request.getSession(); if (session.getAttribute("attrGoss")!=null){ setGoss((Collection)session.getAttribute("attrGoss")); } gos=null; } } Функция reset() вводится для сброса значений или получения значений параметров из сессии на форме сервлета.
2) Создайте в пакете lab.actions класс SelectGos.java – класс(action-class), выполняющий запрос к БД о формировании списка существующих государств:
SelectGos.java package lab.action; //подключение JAVA библиотек import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import lab.classes.JDBCConnection; import org.apache.struts.action.Action; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.util.LabelValueBean;
public class SelectGos extends Action{ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws SQLException, Exception { JDBCConnection jdbcConnection = new JDBCConnection(); ActionErrors errors = new ActionErrors(); ActionForward forward = new ActionForward();
Connection connec = null; PreparedStatement pstmt_gos = null; ResultSet rs_gos = null;
HttpSession session = request.getSession(false); session = request.getSession(true); try { //установление связи с БД jdbcConnection.setDSConnection("java:comp/env/DataSourceRef"); connec = jdbcConnection.getConnection();
//формирование запроса к БД String query_gos = "SELECT A.KODGOS, A.NAZVG FROM DB2ADMIN.GOS A " + " WHERE A.DATAN<=CURRENT_DATE AND A.DATAK>=CURRENT_DATE "; query_gos += " ORDER BY A.KODGOS "; //отправка и выполнение запроса к БД pstmt_gos = connec.prepareStatement(query_gos); rs_gos = pstmt_gos.executeQuery(); ArrayList goss = new ArrayList(); while (rs_gos.next()) { goss.add(new LabelValueBean(rs_gos.getString(1).trim() + " " + rs_gos.getString(2).trim(), rs_gos.getString(1).trim() + "--" + rs_gos.getString(2).trim())); } rs_gos.close(); pstmt_gos.close(); //========session============ session.setAttribute("attrGoss", goss); } catch (SQLException e) {
// Report the error using the appropriate name and ID. errors.add("errorDB2", new ActionError("error.errorDB2", e .getMessage())); // throw e;
} catch (Exception e) {
// Report the error using the appropriate name and ID. if (errors.isEmpty()) errors.add("Exception", new ActionError("error.Exception", e .getMessage())); } finally { try { if (rs_gos!= null) { rs_gos.close(); } if (pstmt_gos!= null) { pstmt_gos.close(); }
if (jdbcConnection.getConnection()!= null) jdbcConnection.releaseConnection(); } catch (SQLException e1) { if (rs_gos!= null) { rs_gos.close(); } if (pstmt_gos!= null) { pstmt_gos.close(); } throw e1; } } if (!errors.isEmpty()) { saveErrors(request, errors); forward = mapping.findForward("failure"); } else { forward = mapping.findForward("success"); } // Finish with return (forward); } } 3) Результатом работы action-класса будет параметр forward, принимающий значения: failure – для формирования страницы с ошибкой (error.jsp); success – для формирования страницы с результатом(showGos.jsp).
Error.jsp <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ page isErrorPage="true" %> <html:html> <HEAD> <%@ page language="java" contentType="text/html; charset=CP1251" pageEncoding="CP1251" %> <META http-equiv="Content-Type" content="text/html; charset=Windows-1251"> <META name="GENERATOR" content="IBM WebSphere Studio"> <META http-equiv="Content-Style-Type" content="text/css"> <LINK href="theme/Master.css" rel="stylesheet" type="text/css"> <TITLE>Лабораторная работа: Ошибка</TITLE> </HEAD> <% if (session== null){ %> <logic:forward name="noSession"/> <% } %> <BODY> <html:errors/> <ul> <% if (exception!= null){%> <%= exception.getMessage() %> <% } %> </ul> <a href="javascript:history.back()">Вернуться назад</a> </body> </html:html>
ShowGos.jsp <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@page language="java" contentType="text/html; charset=Windows-1251" pageEncoding="Windows-1251"%> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%> <html:html> <head> <title>Лабораторная работа</title> <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251"> <meta name="GENERATOR" content="Rational Application Developer"> </head> <script language="JavaScript"> function doShowPageDor(thisform){ thisform.submit(); return true; } </script> <body bgcolor="silver"> <h1 style="font-style: italic" align="center"><font color="navy">Выдача информации о дорогах по государствам</font></h1> <html:form action="/selectdor"> Государство: <html:select property="gos"> <html:optionsCollection property="goss" /> </html:select> <html:submit value="Выполнить запрос" onclick="return doShowPageDor(this.form)" style="background-color: #e0e0e0"/> </html:form> </body> </html:html>
ShowClass.java package lab.classes; public class ShowClass { private String gos= null; private String kodd = null; private String vc = null; private String vc_names = null; private String kodg = null; private String snazvd = null; private String nazvd = null; public String getUst() { return gos; } public void setgos(String gos) { this. gos = gos; } public String getKodd() { return kodd; } public void setKodd(String kodd) { this. kodd = kodd; } public String getKodg() { return kodg; } public void setKodg(String kodg) { this. kodg = kodg; } public String getNazvd() { return nazvd; } public void setNazvd(String nazvd) { this. nazvd = nazvd; } public String getSnazvd() { return snazvd; } public void setSnazvd(String snazvd) { this. snazvd = snazvd; } public String getVc() { return vc; } public void setVc(String vc) { this. vc = vc; } public String getVc_names() { return vc_names; } public void setVc_names(String vc_names) { this. vc_names = vc_names; } }
2) Обработку запроса по выдаче информации по дороге будет производить класс SelectDor.java в папке lab.actions
SelectDor.java package lab.actions;
import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession;
import lab.classes.JDBCConnection; import lab.classes.ShowClass;
import org.apache.struts.action.Action; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.util.LabelValueBean;
import lab.forms.LabForm;
public class SelectDor extends Action{ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws SQLException, Exception { LabForm labForm = (LabForm) form; JDBCConnection jdbcConnection = new JDBCConnection(); ActionErrors errors = new ActionErrors(); ActionForward forward = new ActionForward(); Connection connec = null; PreparedStatement pstmt_dor = null; ResultSet rs_dor = null; ShowClass sc; ArrayList tableRows = new ArrayList(); HttpSession session = request.getSession(false); try { jdbcConnection.setDSConnection("java:comp/env/DataSourceRef"); connec = jdbcConnection.getConnection(); String gos = labForm.getGos(); String [] temp = null; temp = gos.split("--"); gos = temp[0]; //=============SelectGos========== String query_dor = "SELECT A.KODD, A.KODG, A.NAZVD, A.SNAZVD, A.VC, B.VC_NAMES " + " FROM DB2ADMIN.DOR A, DB2ADMIN.VC B WHERE "+ " A.VC=B.VC_KODVC AND A.KODG =? "; query_dor += " ORDER BY A.KODD "; pstmt_dor = connec.prepareStatement(query_dor); pstmt_dor.setString(1,gos); rs_dor= pstmt_dor.executeQuery();
while (rs_dor.next()) { sc = new ShowClass(); sc.setKodd(rs_dor.getString(1)); sc.setKodg(rs_dor.getString(2)); sc.setNazvd(rs_dor.getString(3)); sc.setSnazvd(rs_dor.getString(4)); sc.setVc(rs_dor.getString(5)); sc.setVc_names(rs_dor.getString(6)); tableRows.add(sc); } rs_dor.close(); pstmt_dor.close(); //========session============
session.setAttribute("tableRows", tableRows);
} catch (SQLException e) {
// Report the error using the appropriate name and ID. errors.add("errorDB2", new ActionError("error.errorDB2", e .getMessage())); // throw e;
} catch (Exception e) {
// Report the error using the appropriate name and ID. if (errors.isEmpty()) errors.add("Exception", new ActionError("error.Exception", e .getMessage())); } finally { try { if (rs_dor!= null) { rs_dor.close(); } if (pstmt_dor!= null) { pstmt_dor.close(); }
if (jdbcConnection.getConnection()!= null) jdbcConnection.releaseConnection(); } catch (SQLException e1) { if (rs_dor!= null) { rs_dor.close(); } if (pstmt_dor!= null) { pstmt_dor.close(); } throw e1; } } if (!errors.isEmpty()) { saveErrors(request, errors); forward = mapping.findForward("failure"); } else { forward = mapping.findForward("success"); } // Finish with return (forward);
}
}
3) Вывод конечной информации по дороге будет обеспечивать showDor.jsp
ShowDor.jsp <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@page language="java" contentType="text/html; charset=Windows-1251" pageEncoding="Windows-1251"%> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%> <html:html> <head> <title>Лабораторная работа</title> <meta http-equiv="Content-Type" content="text/html; charset=Windows-1251"> <meta name="GENERATOR" content="Rational Application Developer"> </head> <script language="JavaScript"> function doShowPageDor(thisform){ thisform.submit(); return true; } </script> <body bgcolor="silver"> <h1 style="font-style: italic" align="center"><font color="navy">Информация о дорогах по государствам</font></h1> <html:form action="/selectdor"> Государство: <html:select property="gos"> <html:optionsCollection property="goss" /> </html:select> <html:submit value="Выполнить запрос" onclick="return doShowPageDor(this.form)" style="background-color: #e0e0e0"/>
<br><br> <Table border="1" class="table" width="50%" cellpadding="2" cellspacing="0" bordercolor="#0c91f0" > <tr> <th class="" align="center" style="font-size:10pt" >Код дороги</th> <th class="" align="center" style="font-size:10pt" >Код государства</th> <th class="" align="center" style="font-size:10pt" >Сокращённое название дороги</th> <th class="" align="center" style="font-size:10pt" >Название дороги</th> <th class="" align="center" style="font-size:10pt" >Код ВЦ</th> <th class="" align="center" style="font-size:10pt" >Сокращённое название ВЦ</th> </tr> <logic:iterate id="tableRow" name="tableRows" > <tr> <TD nowrap="nowrap"><bean:write name="tableRow" property="kodd"></bean:write> </TD> <TD nowrap="nowrap"><bean:write name="tableRow" property="kodg"></bean:write> </TD> <TD nowrap="nowrap"><bean:write name="tableRow" property="snazvd"></bean:write> </TD> <TD nowrap="nowrap"><bean:write name="tableRow" property="nazvd"></bean:write> </TD> <TD nowrap="nowrap"><bean:write name="tableRow" property="vc"></bean:write> </TD> <TD nowrap="nowrap"><bean:write name="tableRow" property="vc_names"></bean:write> </TD> </tr> </logic:iterate> </Table> </html:form> </body> </html:html>
4) В сервлете-действии нужно создать соответствующий объект-действие для обработки входящего запроса. К тому же в модели должно быть известно, какие ActionForm заполнять данными из входного потока. Эти и другие свойства конфигурации устанавливаются в файле struts-config.xml в папке WEB-INF проекта.
Struts-config.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config>
<!-- Data Sources --> <data-sources> </data-sources>
<!-- Form Beans --> <form-beans> <form-bean name="LabForm" type="lab.forms.LabForm"> </form-bean> </form-beans>
<!-- Global Exceptions --> <global-exceptions> </global-exceptions>
<!-- Global Forwards --> <global-forwards> </global-forwards>
<!-- Action Mappings --> <action-mappings>
<action path="/selectgos" type="lab.actions.SelectGos" name="LabForm"> <forward name="success" path="/showGos.jsp"></forward> <forward name="failure" path="/error.jsp"></forward> </action>
<action path="/selectdor" type="lab.actions.SelectDor" name="LabForm"> <forward name="success" path="/showDor.jsp"></forward> <forward name="failure" path="/error.jsp"></forward> </action>
</action-mappings>
<!-- Message Resources --> <message-resources parameter="lab.resources.ApplicationResources"/>
</struts-config>
Запуск приложения 1) Для запуска корпоративного приложения lab необходимо добавить labEAR в WebSphere Application Developer v6.0 (Add and Remove Projects). В окне Add and Remove Project в области Available projects необходимо выделить labEAR и нажать на кнопку «Add», после чего оно перейдёт в область Configured project.
9) Запустите WebSphere Application Server v6.0 используя кнопку «start»
10) Запустите браузер Internet Explorer и введите следующий адрес http://localhost:9080/lab 11) НаслаждайтесьJ
Методическое указание к лабораторной работе «Создание корпоративного JAVA-приложения для IBM WebSphere» Многочисленные организации заняты созданием корпоративных Web-приложений, используя архитектуру на основе Web-сервера. Данная архитектура имеет преимущества в скорости, защищённости и надёжности, обеспечиваемые серверными технологиями, и используется тогда, когда часть клиентов представляет многочисленный и заранее неопределённый круг пользователей, на компьютерах которых нельзя установить приложения. Платформа J2EE (Java 2 Enterprise Edition) предлагает модель многоуровневого распределенного приложения, возможность повторного использования компонентов, интегрированный обмен данными на основе XML, унифицированную модель безопасности и гибкое управление транзакциями.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2019-04-27; просмотров: 315; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.196 (0.009 с.) |