Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Архитектура страниц (модулей) / 14 сообщений из 14, страница 1 из 1
26.10.2016, 17:03
    #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
26.10.2016, 17:11
    #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
26.10.2016, 17:35
    #39334680
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Архитектура страниц (модулей)
HOME_X,
начни с JSP одной + сервлет. И даже страничка.html пока не нужна.
...
Рейтинг: 0 / 0
26.10.2016, 18:43
    #39334735
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Архитектура страниц (модулей)
...
Рейтинг: 0 / 0
26.10.2016, 19:51
    #39334764
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Архитектура страниц (модулей)
вадя,

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

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

Все в одном проекте = примеров на github сотни
...
Рейтинг: 0 / 0
05.11.2016, 16:17
    #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
05.11.2016, 17:56
    #39341866
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Архитектура страниц (модулей)
HOME_X,
проще всего результат из POST перекинуть в GET где идёт показ на страничке.
Для этого выведи в лог\консоль очерёдность вызова метода GET и POST.
(добавь строчку логирования)
...
Рейтинг: 0 / 0
05.11.2016, 18:27
    #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
05.11.2016, 19:39
    #39341900
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Архитектура страниц (модулей)
HOME_X,
- я бы не приводил GET и POST к вызову одной функции. Они по логике для разных целей.
GET - показ формы по урл
POST - записать данные на сервер от клиента.
2. Контроль типов наплюй. Он в таком простом коде нафиг не нужен.
Удачи!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Архитектура страниц (модулей) / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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