Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Формирование начальной страницы

Поиск

1) Создайте page1.jsp пройдя по lab – WebContent – New – Other..

2) В открывшемся окне New необходимо выбрать Web – Web Page

3) В окне New Web Page необходимо задать имя страницы в поле File name. В области Template выбрать JSP.

4) В сформировавшемся тексте page1.jsp необходимо:

· изменить библиотеки тэгов taglib

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>

<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>

· изменить кодировку charset с ISO-8859-1 на кодировку Windows-1251

Кодировка Windows-1251 является стандартной кодировкой для всех русских версий Microsoft Windows. Выгодно отличается от других кириллических кодировок наличием практически всех символов, использующихся в русской типографии для обычного текста.

5) В тэге <title> введите название страницы, например, «Лабораторная работа»

6) В блоке <body> впишите заголовок страницы «Создание корпоративного JAVA приложения»

7) Создайте кнопку на странице с текстом, например, «Лабораторная работа №1», при нажатии на которую будет запущен класс на выборку списка допустимых государств из базы данных, вследствие чего будет отображена страница со всплывающим списком выбранных государств

8) В результате код страницы page1.jsp будет выглядеть следующим образом:

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>

 

Формирование страницы со списком государств

1) Создайте в пакете lab.forms класс LabForm.java, в котором будет описан элемент, отображающийся на 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">

Государство:&nbsp; <html:select property="gos">

<html:optionsCollection property="goss" />

</html:select>

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;

<html:submit value="Выполнить запрос" onclick="return doShowPageDor(this.form)" style="background-color: #e0e0e0"/>

</html:form>

</body>

</html:html>

 



Поделиться:


Последнее изменение этой страницы: 2019-04-27; просмотров: 118; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.37.85 (0.006 с.)