powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Архитектура страниц (модулей)
14 сообщений из 14, страница 1 из 1
Архитектура страниц (модулей)
    #39334651
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня господа !

Есть страница в которую
- вводится исходные параметры
- обрабатываем через JAR библиотеку
- выводим результат (одной величиной) ну ТУ ЖЕ страницу
(задача небольшая плодить страницы нет желания)

Делаю так
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Фреймы</title>
 </head>
 <frameset rows="*,50">
  <frame src="menu.html" name="MENU">
  <frame src="content.html" name="CONTENT">
 </frameset>
</html>



Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Навигация по сайту</title>
 </head>
 <body style="background: #f0f0f0">
   <p>МЕНЮ</p>
   
   <form method="post" action="myServletpath">
 		User Name: <input name="userName" />
 		<br>
 		Full Name: <input name="fullName" />
 		<br>
 		<input type="submit" />  
 	</form>
 </body>
</html>



Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Содержание сайта</title>
 </head>
 <body>
  <p>Результат выполнения java класса</p>
 </body>
</html>



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
package org.javabrains;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class MyServlet extends HttpServlet 
{
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
		System.out.println("XML servlet called!");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		String userName = request.getParameter("userName");
		String fullName = request.getParameter("fullName");
		String allsName = AddString(userName,fullName);
		out.println("Execute class Java function AddString "+allsName);
	}
	
	protected String AddString(String a,String b) 
	{
		// эта ТОЛСТАЯ функция будет в JAR библиотеке 
		return a+" _ "+b;
	}

}



Не знаю как вывести результат на фрейм CONTENT....
Полагаю архитектуру страниц выполнил не оптимально
Прошу подсказать (буду благодарен за пример)

Хочу получить где-то так
...
Рейтинг: 0 / 0
Архитектура страниц (модулей)
    #39334658
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выкинуть фреймы. Срочно читать про DHTML, HTML DOM, <DIV>, JavaScript, AJAX, REST, JSON
Фреймы не нужны. Это пережиток прошлого. Эти теги даже убрали из HTML5.
Структура страницы в памяти браузера представлена в виде DOM дерева. JavaScript умеет это дерево менять как угодно. Это называется DHTML.
JavaScript так же умеет отправлять HTTP запросы на сервер. А в зависимости от результатов менять DOM дерево. Это называется AJAX.
Данные между сервером и клиентом не обязательно передавать в виде HTML. JSON - простой протокол, понимаемый JavaScript для обмена структурами данных.

Если это всё освоите, можете переходить к jQuery, Spring MVC и AngularJS.
...
Рейтинг: 0 / 0
Архитектура страниц (модулей)
    #39334680
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
начни с JSP одной + сервлет. И даже страничка.html пока не нужна.
...
Рейтинг: 0 / 0
Архитектура страниц (модулей)
    #39334735
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Архитектура страниц (модулей)
    #39334764
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

ООО Спасибо !!!
...
Рейтинг: 0 / 0
Архитектура страниц (модулей)
    #39334765
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Преследуете ?
...
Рейтинг: 0 / 0
Архитектура страниц (модулей)
    #39334772
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
))
...
Рейтинг: 0 / 0
Архитектура страниц (модулей)
    #39334781
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
пока не за что
обрати внимание на websockegt.......
...
Рейтинг: 0 / 0
Архитектура страниц (модулей)
    #39334805
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
если тебя не пугает мой поход к построению систем, и споры с Petro123, могу поделиться опытом. как бывшие аксесники, я думаю, мы сможем найти понимание. мыло в профиле.
...
Рейтинг: 0 / 0
Архитектура страниц (модулей)
    #39334990
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://tiles.apache.org/
+
http://www.thymeleaf.org/
+
https://projects.spring.io/spring-boot/

Все в одном проекте = примеров на github сотни
...
Рейтинг: 0 / 0
Архитектура страниц (модулей)
    #39341834
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Извините господа - малость выпал из диалога
HTML и JSP здесь полагаю не нужно (брал из старого примера)
Попытался сотворить следующее - класс servleta

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
package org.javabrains;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class MyServlet extends HttpServlet 
{
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
		response.setContentType("text/html; charset=ISO-8859-1");
		response.setCharacterEncoding("utf-8");
		PrintWriter out = response.getWriter();
		out.println("<br>");
		out.println("Лицевой счет <input name=sc />");
		out.println("<br>");
		out.println("Обьем кредита <input name=amount />");
		out.println("<br>");
		out.println("Первичный взнос <input name=primary />");
		out.println("<form method=post action=myServletpath>");
		out.println("	User Name: <input name=UserName />");
		out.println("<br>");
		out.println("	Full Name: <input name=UserFull />");
		out.println("<br>");
		out.println("<input type=submit />");  
		out.println("<br>");
		out.println("	Результат: <input name=Result value=0 />");
		out.println("</form>");
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
		response.setContentType("text/html");
		response.setCharacterEncoding("utf-8");
	
		PrintWriter out = response.getWriter();
		String userName = request.getParameter("UserName");
		String fullName = request.getParameter("UserFull");
		String allsName = AddString(userName,fullName);
		out.println("Execute class Java function AddString "+allsName);
		out.println("<br>");
		out.println("Лицевой счет <input name=result value="+allsName+" />");
		out.println("<br>");
	}
	
	protected String AddString(String a,String b) 
	{
		// эта функция будет в JAR библиотеке 
		return a+"+"+b;
	}



В целом результат получил - только не то что хотел
Кажеться меня на HTML - прошу подправить
Мне нужен весь созданный экран метода doGet и в нем изменить значение
out.println(" Результат: <input name=Result value=0 />");
на результат функции AddString....

Заранее благодарен !
...
Рейтинг: 0 / 0
Архитектура страниц (модулей)
    #39341866
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
проще всего результат из POST перекинуть в GET где идёт показ на страничке.
Для этого выведи в лог\консоль очерёдность вызова метода GET и POST.
(добавь строчку логирования)
...
Рейтинг: 0 / 0
Архитектура страниц (модулей)
    #39341877
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Да именно так !
Ларчик открываеться просто

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
package org.javabrains;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import javafx.beans.property.adapter.ReadOnlyJavaBeanStringProperty;

public class MyServlet extends HttpServlet 
{
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
		doExecute(request,response,false);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
	{
		doExecute(request,response,true);
	}

	protected void doExecute(HttpServletRequest request, HttpServletResponse response,boolean key) throws ServletException, IOException 
	{
		response.setContentType("text/html; charset=ISO-8859-1");
		response.setCharacterEncoding("utf-8");
        String sc      = (String) request.getParameter("sc");
        String amount  = (String) request.getParameter("amount");
        String primary = (String) request.getParameter("primary");
        String result  = "0";
        if (sc     ==null) sc     ="null";
		if (amount ==null) amount ="0";
		if (primary==null) primary="0";
		if (key)           result=Calculate(amount,primary);
        PrintWriter out = response.getWriter();
        out.println("<form method=post action=myServletpath>");
		out.println("  <br>");
		out.println("  Лицевой счет <input name=sc value="+sc+"  />");
		out.println("  <br>");
		out.println("  Обьем кредита <input name=amount value="+amount+" />");
		out.println("  <br>");
		out.println("  Первичный взнос <input name=primary value="+primary+" />");
		out.println("  <br>");
		out.println("  <input type=submit />");  
		out.println("  <br>");
		out.println("  <br>");
		out.println("  Результат: <input name=Result value="+result+" />");
		out.println("</form>");
	}

	
	protected String Calculate(String a,String b) 
	{
		return Double.toString(Double.parseDouble(a)+Double.parseDouble(b));
	}
	
}



Попутный вопрос - нельзя ли здесь определить формат для контроля типов
out.println(" Первичный взнос <input name=primary value="+primary+" format=99999.99 />");
...
Рейтинг: 0 / 0
Архитектура страниц (модулей)
    #39341900
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
- я бы не приводил GET и POST к вызову одной функции. Они по логике для разных целей.
GET - показ формы по урл
POST - записать данные на сервер от клиента.
2. Контроль типов наплюй. Он в таком простом коде нафиг не нужен.
Удачи!
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Архитектура страниц (модулей)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]