Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
prikladnoe5.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
94 Кб
Скачать
☆

Способи обміну інформацією між компонентами web-застосунку

За звичай web-застосунок складається з декількох компонентів, що обмінюються інформацією між собою.

Якщо джерелом інформації є html сторінка, то інформація може бути передана через форму, а саме, через атрибути тегів, таких як input, select, button. Кожен параметер, що передається має мати назву і значення. Приймати цю інформацію можуть сервлети або jsp-сторінки через параметер request методів doPost або doGet. Для цього використовується метод getParameter(String). До методу передається ім’я параметру, а метод повертає значення параметру у вигляді рядка символів. Сервлети і jsp-сторінки можуть також обмінюватися між собою атрибутами через параметер request. Для цього використовуються методи setAttribute(String, Object) та getAttribute(String) . Атрибут – це об’єкт будь якого класу. А для його ідентифікації використовується рядок символів, що є ім’ям атрибуту.

Сервер Apache Tomcat

Про сервер та його налаштування можна почитати у методичці 2010 року видання та у документації.

5.3 Файл web.Xml

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

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

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

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

id="WebApp_ID" version="3.0">

<listener>

<listener-class>

StarterListener

</listener-class>

</listener>

<filter>

<filter-name>

Set Character Encoding

</filter-name>

<filter-class>

CharEncodingFilter

</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>UTF8</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>Set Character Encoding</filter-name>

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

</filter-mapping>

<servlet>

<servlet-name>bankservlet</servlet-name>

<servlet-class>

BankServlet

</servlet-class>

</servlet>

<servlet-mapping>

<servlet-name>bankservlet</servlet-name>

<url-pattern>/Bank</url-pattern>

</servlet-mapping>

</web-app>

5.4. Класс BankServlet

import java.io.IOException;

import java.io.PrintWriter;

import java.util.ArrayList;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class BankServlet

*/

@WebServlet("/BankServlet")

public class BankServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

private DataBaseMyClass dbMyClass = new DataBaseMyClass();

/**

* @see HttpServlet#HttpServlet()

*/

public BankServlet() {

super();

// TODO Auto-generated constructor stub

}

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

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

// TODO Auto-generated method stub

response.setCharacterEncoding("UTF-8");

response.setContentType("text/html;");

PrintWriter writer = response.getWriter();

writer.write("<html>");

writer.write("<head><title>Servlet</title></head>");

writer.write("<body bgcolor=\"grey\">");

outOptions(writer);

outAddForm(writer);

outDeleteForm(writer);

outUpdateForm(writer);

outBankList(writer);

writer.write("</body>");

writer.write("</html>");

}

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

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

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

Bank b = new Bank();

b.setUirNameBank(request.getParameter("uirnamebank"));

b.setFioBuhgalter(request.getParameter("fiobuhgalter"));

b.setNumTelBuhgalter(request.getParameter("numtelbuhgalter"));

b.setFioDirector(request.getParameter("fiodirector"));

b.setNumTelDirector(request.getParameter("numteldirector"));

dbMyClass.insertBank(b.getNumTelDirector(),

b.getFioDirector(),

b.getNumTelBuhgalter(),

b.getFioBuhgalter(),

b.getUirNameBank());

System.out.println("data inserted into bank");

}

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

dbMyClass.deleteBank(request.getParameter("uir_name_bank"));

System.out.println("data deleted from bank");

}

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

dbMyClass.updateBank(request.getParameter("upd_uir_name_bank"),

request.getParameter("newnumteldirector"),

request.getParameter("newfiodirector"),

request.getParameter("newnumtelbuhgalter"),

request.getParameter("newfiobuhgalter"),

request.getParameter("newuirnamebank"));

System.out.println("data updated");

}

doGet(request, response);

}

private void outAddForm(PrintWriter out){

out.write("<FORM method=POST name=\"addform\" action=BankServlet>");

out.write("uir name bank: <input type=\"text\" name=\"uirnamebank\"><br>");

out.write("fio buhgalter: <input type=\"text\" name=\"fiobuhgalter\"><br>");

out.write("num tel buhgalter: <input type=\"text\" name=\"numtelbuhgalter\"><br>");

out.write("fio director: <input type=\"text\" name=\"fiodirector\"><br>");

out.write("num tel director: <input type=\"text\" name=\"numteldirector\"><br>");

out.write("<input type=\"hidden\" value=\"insert\" name=\"insertfield\"><br>");

out.write("<input type=\"submit\" name=\"addform\" value=\"Add\">");

out.write("</FORM><br>");

}

private void outBankList(PrintWriter out){

ArrayList<Bank> list = null;

list = dbMyClass.getBankList();

if(list.size() == 0){

out.write("<div align=\"center\"><b>No Banks</b></div>");

}else{

out.write("<table bgcolor=\"#00FF00\">");

out.write("<tr>");

out.write("<th>uir name bank</th>");

out.write("<th>fio buhgalter</th>");

out.write("<th>num tel buhgalter</th>");

out.write("<th>fio director</th>");

out.write("<th>num tel director</th>");

out.write("</tr>");

for(int i=0;i<list.size();i++){

out.write("<tr>");

out.write("<td>" + list.get(i).getUirNameBank() + "</td>");

out.write("<td>" + list.get(i).getFioBuhgalter() + "</td>");

out.write("<td>" + list.get(i).getNumTelBuhgalter() + "</td>");

out.write("<td>" + list.get(i).getFioDirector() + "</td>");

out.write("<td>" + list.get(i).getNumTelDirector() + "</td>");

out.write("</tr>");

}

out.write("</table>");

}

}

private void outDeleteForm(PrintWriter out){

ArrayList<Bank> list = null;

list = dbMyClass.getBankList();

out.write("<h1 align=\"center\">Delete Form</h1>");

if(list.size() == 0){

out.write("<div align=\"center\"><b>No Banks</b></div>");

}else{

out.write("<p align=\"center\">delete bank by id</p>");

out.write("<FORM method=POST name=\"deleteform\" action=BankServlet>");

out.write("<SELECT name=\"uir_name_bank\">");

for(int i = 0;i<list.size();i++){

out.write("<OPTION>" + list.get(i).getUirNameBank() + "</OPTION>");

}

out.write("</SELECT>");

out.write("<input type=\"hidden\" value=\"delete\" name=\"deletefield\">");

out.write("<input type=\"submit\" name=\"deleteform\" value=\"delete\"><br>");

out.write("</FORM><br>");

}

}

private void outOptions(PrintWriter out){

out.write("<p align=\"center\">select options</p>");

out.write("<hr>");

}

private void outUpdateForm(PrintWriter out){

ArrayList<Bank> list = null;

list = dbMyClass.getBankList();

if(list.size() == 0){

System.out.println("not updated");

}else{

out.write("<h1 align=\"center\">Update Form</h1>");

out.write("<p align=\"center\">update bank by id</p>");

out.write("<FORM bgcolor=\"white\" method=POST name=\"updateform\" action=BankServlet>");

out.write("<SELECT name=\"upd_uir_name_bank\">");

for(int i = 0;i<list.size();i++){

out.write("<OPTION>" + list.get(i).getUirNameBank() + "</OPTION>");

}

out.write("</SELECT>");

out.write("<h3 align=\"center\">New data Bank</h3>");

out.write("uir name bank: <input type=\"text\" name=\"newuirnamebank\"><br>");

out.write("fio buhgalter: <input type=\"text\" name=\"newfiobuhgalter\"><br>");

out.write("num tel buhgalter: <input type=\"text\" name=\"newnumtelbuhgalter\"><br>");

out.write("fio director: <input type=\"text\" name=\"newfiodirector\"><br>");

out.write("num tel director: <input type=\"text\" name=\"newnumteldirector\"><br>");

out.write("<input type=\"hidden\" value=\"update\" name=\"updatefield\">");

out.write("<input type=\"submit\" name=\"updateform\" value=\"update\"><br>");

out.write("</FORM><br>");

}

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]