Aplikacja klient serwer

0

Mam do wykonania aplikację klient-serwer w javie. Dokładnie taki mini bank internetowy. No i mam kilka pytań.

Chciałbym aby po uruchomieniu aplikacji, w oknie aplikacji wyświetlała się witryna na której można się zalogować i zarejestrować. Czy da się tak zrobić żeby w aplikacji uruchamiała się strona która będzie znajdować się na serwerze??? (Jeśli tak to jak to zrobić , jakiś link może by się przydał żebym sie poduczył) I czy dało by radę jak tak się da zrobić, żeby wpisywane dane w tej stronie po kliknięciu np. zaloguj były np. zapisywane do zmiennej i wysyłane do serwera tam sprawdzane i jeśli się zgadza z bazą danych (czyli jeżeli jest taki użytkownik to wtedy loguje go i przekierowuje na inną stronę w tej aplikacji oczywiście). No i tu też bym potrzebował drobnej pomocy jak to zrobić.

0

o_O no jeśli to będzie aplikacja webowa to nie widzę problemu żeby otwierała się strona ;] Aczkolwiek jeśli ta strona będzie na serwerze to w ogóle nie wiem co miałby robić ten twój klient...

0

chodziło mi o to żeby strona była na serwerze no i była przekazywana klientowi do tej aplikacji, a później po wpisaniu danych i np. kliknięciu zaloguj login i hasło przekazywane by były do serwera i tam sprawdzane w bazie danych czy istnieje i jeśli istnieje to ładuje się druga strona z profilem użytkownika gdzie wszystkie dane pobierane są z bazy danych

0

Ale to totalnie bez sensu co piszesz. Możesz zrobic tak:

  • klient webowy który zapewnia UI i przesyła do serwera żądania od klienta
  • serwer wystawiajacy jakieś usługi biznesowe, np. EJB albo Webservices
1

dobra to może powoli i po koleii, jak zrobić aby w aplikacji wyświetlała się strona, czyli jak uruchomię aplikację to w środku okna ma być strona internetowa

0

bo ja chce zrobić coś takiego:

  1. Uruchamiam serwer, on sobie chodzi.
  2. Uruchamiam aplikację kliencką i w oknie tej aplikacji włącza się strona do logowania.
  3. Po zalogowaniu wyświetla się w aplikacji konto tej osoby.
  4. Po wylogowaniu znów pokazuje się okno logowania.
0

no i koniecznie muszę wykorzystać java.net

2

Ja już ci moge zaręczyć że tego nie napiszesz bo o javie nie masz zielonego pojęcia.
Nie ma sensu otwierać żadnej strony w "oknie aplikacji" szczególnie że samo napisanie czegoś co by poprawnie renderowało htmla zajęłoby ci pewnie z rok. Możesz zrobić aplikację webową obslugiwaną przez przeglądarkę. Proponuje żebyś zamiast zadawać głupie pytanie rzucił okiem na jakąś javową technologię webową.

0

Nie no... Da się........... Musisz tylko:

  • Napisać stronę WWW wykorzystując np. JSP
  • Napisać własną przeglądarkę:) (wersja dla mniej ambitnych, to znaleźć jakąś fajną bibliotekę do tego celu)
  • Ustawić przeglądarkę tak, żeby po uruchomieniu wczytywała odpowiednią stronę.

Ale tak poważnie - nie nabijaj postów, tylko grzecznie zastosuje się do rady @Shalom - albo robisz aplikację, albo aplikację webową.

0
Shalom napisał(a):

Ja już ci moge zaręczyć że tego nie napiszesz bo o javie nie masz zielonego pojęcia.
Nie ma sensu otwierać żadnej strony w "oknie aplikacji" szczególnie że samo napisanie czegoś co by poprawnie renderowało htmla zajęłoby ci pewnie z rok. Możesz zrobić aplikację webową obslugiwaną przez przeglądarkę.

Nawet taki Javowy profan jak ja wie że można renderować HTML-a w Javie bez żadnych bibliotek:

private javax.swing.JEditorPane edReportOut; 
...
edReportOut.setContentType("text/html");
edReportOut.setText(text); 

http://docs.oracle.com/javase/tutorial/uiswing/components/html.html

Nie mówiąc już o tym, że oczywiście istnieją biblioteki do renderowania stron firm trzecich.

Tylko nie jestem pewien czy o to chodziło autorowi, bo rozwiązania są 3, przy czym to jest chyba najmniej popularne.

  1. klient-serwer REST: klient Swing + dowolny serwer REST (w miejsce REST można podstawić jeszcze Soap, RPC, itd)
  2. klient-serwer HTTP: klient Swing HTTP/HTML + dowolny serwer web - patrz wyżej
  3. serwis web: klient HTML (przeglądarka - Firefox, IE) + serwer web
0

Totalnie nie rozumiem po cholere ta strona na serwerze. Wiadomo ze Java umie wyswietlic HTML (jak dobry jest ten engine tez powszechnie wiadomo...), ale po co? Albo robisz aplikacje webowa gdzie klientem jest przegladarka i strony wyswietlane sa i juz, albo robisz aplikacje desktopowa ktora laczy sie z serwerem (za pomoca jednego z wielu juz podanych rozwiazan) i tworzysz UI za pomoca swinga - jakies pola tekstowe, guziki itp. Pakowanie stronki do JEditorPane czy jak sie to zwie itp to zly pomysl. Dodatkowo, wyswietlenie tego to jedno, a wyslanie na serwer (submit formy) to druga kwestia - czy JEditorPane na to pozwala i sam obsluguje, czy raczej trzeba samemu dopisac obsluge? Cos mi sie zdaje ze jednak ten pane tego nie ma bo jakby mial to by to byla taka prawie ze przegladarka (ale pewnie lepsza niz ie ;d).

0

Z tego co widze kolega chcial zrobic aplikacje na zasadziw banku internetowego do ktorego potrzebne jest mu uwierzytelnianie. Oczywiscie mozna zrobic program po stronie klienta get/post i pokaz oraz po stronie serwera do calej obrobki, jednak wykonanie takiej aplikacji zajmie wiecej czasu niz aplikacji web z security z dostepem przez przegladarke, a jesli nawet nie przez przegladarke to przeciez mozna stworzyc do tego wlasny program ?

0

Zastosowałem się do waszych rad i wybrałem Dynamic web project, no i teraz jak do tej pory utworzyłem 3 pliki:

  1. Serwet.java
package bankowo;

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

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


public class Serwret extends HttpServlet {
	private static final long serialVersionUID = 1L;
       	
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		if(request.getParameter("pin") == null){
			getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);	
			return;
		}
		
		
		String pin2 = request.getParameter("pin");
		
		request.setAttribute("pin", pin2);
		
		
		getServletContext().getRequestDispatcher("/logowanie.jsp").forward(request, response);
		
	}

}
  1. index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>

<HEAD>
<TITLE>Bank Internetowy</TITLE>

<style type="text/css">
	    input[type="submit"]{
		    width: 100px; 
		    color: red; 
		    background-color: #111111;
		    border: 2px ridge red;
		    font-family: Komika Display;
		    font-size: 1em;
		    font-style: italic;
		    padding: 4px;
		    text-align: center; }
    </style>

<style type="text/css">
	    input[type="text"]{
		    width: 100px; 
		    color: black; 
		    background-color: #98FB98;
		    border: 2px ridge darkgreen;
		    font-family: Verdana,sans-serif;
		    font-size: 1em;
		    font-style: italic;
		    padding: 4px;
		    text-align: center; }
    </style>
</HEAD>
<BODY>

<font size="5"> <center>Mini Bank Internetowy</center></font>

<center>
<table border="0">
<br>
<FORM action="serwret" method="post">
<table border="0">
<tr>
<td>PIN:</td> <td><input type="text" name="pin"/></td>
</tr><tr>
<td colspan="2"><input type="submit" value="Zaloguj"/> <input type="submit" value="Zarejestruj"/></td> 
</tr>
</table>
</FORM> 
</center>
</table>
</BODY>
</HTML>


  1. logowanie.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Bank Internetowy</title>
</head>
<body>
<font size="5"> <center>Mini Bank Internetowy</center></font>

<%

String pin2 = (String) request.getAttribute("pin");

%>


<table>
<tr>
<td>Twój numer PIN:</td><td><%= pin2 %></td>

</tr>


<tr>
<td></td><td></td>

</tr>



</table>
</body>
</html>

I teraz mam mały problem bo nie wiem jak zrobić, żeby jak wciśnę przycisk rejestracja wyskoczyła strona do rejestracji. Co muszę zmienić w index.jsp i Serwet.java ???

0

Trochę poprawiłem, ale nadal mogę z index.jsp przejsc na strone rejestracji no i chce zeby na stronie rejestracji zapisało mi dane do klasy osoba, takie jak imie nazwsiko miejscowosc data i wruciło na strone index.jsp, ale cos nie działa

Serwet.java


package bankowo;

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

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


public class Serwret extends HttpServlet {
	private static final long serialVersionUID = 1L;
       	
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		osoba a=new osoba(1234,"arek","zzz","13","siedlce");
		
		String action = request.getParameter("action");
		
		if (action.equalsIgnoreCase("rejestruj")){
			
			a.setimie(request.getParameter("imie"));
			a.setnazwisko(request.getParameter("nazwisko"));
			a.setdata(request.getParameter("data"));
			a.setmiejscowosc(request.getParameter("miejscowosc"));
				
			getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);
			
		}
		
		if (action.equalsIgnoreCase("loguj")){
			if(request.getParameter("pin") == null){
				getServletContext().getRequestDispatcher("/index.jsp").forward(request, response);	
				return;
			}
			
			
			String pin2 = request.getParameter("pin");
			request.setAttribute("pin", pin2);
			getServletContext().getRequestDispatcher("/logowanie.jsp").forward(request, response);	
		}
	}
}


osoba.java



package bankowo;

public class osoba {

	
	private int pin;
	private String imie;
	private String nazwisko;
	private String data;
	private String miejscowosc;
	private int stan;

	public osoba(int pin, String imie, String nazwisko, String data, String miejscowosc){
		
		pin = this.pin;
		imie = this.imie;
		nazwisko = this.nazwisko;
		data = this.data;
		miejscowosc = this.miejscowosc;
		
	}
	
	
	public int getpin(){
		return pin;
	}
	
	public String getimie(){
		return imie;
	}
	
	public String getnazwisko(){
		return nazwisko;
	}
	
	
	public String getdata(){
		return data;
	}
	
	public String getmiejscowosc(){
		return miejscowosc;
	}
	
	public int getstan(){
		return stan;
	}
	
	public void setimie(String imie){
		imie=this.imie;
		
	}
	
	public void setpin(int pin){
		pin=this.pin;
		
	}
	
	public void setnazwisko(String nazwisko){
		nazwisko=this.nazwisko;
		
	}

	
	public void setdata(String data){
		data=this.data;
		
	}
	
	
	public void setmiejscowosc(String miejscowosc){
		miejscowosc=this.miejscowosc;
		
	}
	
	public void setstan(int stan){
		stan=this.stan;
		
	}
}

index.jsp


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>

<HEAD>
<TITLE>Bank Internetowy</TITLE>

<style type="text/css">
	    input[type="submit"]{
		    width: 100px; 
		    color: red; 
		    background-color: #111111;
		    border: 2px ridge red;
		    font-family: Komika Display;
		    font-size: 1em;
		    font-style: italic;
		    padding: 4px;
		    text-align: center; }
    </style>

<style type="text/css">
	    input[type="text"]{
		    width: 100px; 
		    color: black; 
		    background-color: #98FB98;
		    border: 2px ridge darkgreen;
		    font-family: Verdana,sans-serif;
		    font-size: 1em;
		    font-style: italic;
		    padding: 4px;
		    text-align: center; }
    </style>
</HEAD>
<BODY>

<font size="5"> <center>Mini Bank Internetowy</center></font>

<center>
<table border="0">
<br>
<FORM action="serwret" method="post" value="loguj">
<table border="0">
<tr>
<td>PIN:</td> <td><input type="text" name="pin"/></td>
</tr><tr>
<td colspan="2"><input type="submit" value="Zaloguj"/></FORM>  <FORM action="rejestracja.jsp" method="post"><input type="submit" value="Zarejestruj"/></FORM></td> 
</tr>
</table>

</center>
</table>
</BODY>
</HTML>



rejestracja.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Bank Internetowy</title>

<style type="text/css">
	    input[type="submit"]{
		    width: 100px; 
		    color: red; 
		    background-color: #111111;
		    border: 2px ridge red;
		    font-family: Komika Display;
		    font-size: 1em;
		    font-style: italic;
		    padding: 4px;
		    text-align: center; }
    </style>

<style type="text/css">
	    input[type="text"]{
		    width: 100px; 
		    color: black; 
		    background-color: #98FB98;
		    border: 2px ridge darkgreen;
		    font-family: Verdana,sans-serif;
		    font-size: 1em;
		    font-style: italic;
		    padding: 4px;
		    text-align: center; }
    </style>

</head>
<body>
<font size="5"> <center>Mini Bank Internetowy</center></font>

<table>




<tr>
<td>Imie: </td><td><input type="text" name="imie"/></td>
</tr>


<tr>
<td>Nazwisko: </td><td><input type="text" name="nazwisko"/></td>
</tr>


<tr>
<td>Data Urodzenia(dd/mm/rrrr): </td><td><input type="text" name="data"/></td>
</tr>

<tr>
<td>Miejscowosc: </td><td><input type="text" name="miejscowosc"/></td>
</tr>

<tr>
<td colspan="2"><FORM action="serwret" method="post" value="rejestruj"><input type="submit" value="Rejestruj"/></FORM></td>
</tr>

</table>
</body>
</html>



logowanie.jsp - jeszcze nie dokończone

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Bank Internetowy</title>
</head>
<body>
<font size="5"> <center>Mini Bank Internetowy</center></font>

<%

String pin2 = (String) request.getAttribute("pin");
String imie2 = (String) request.getAttribute("imie");
%>


<table>
<tr>
<td>Twój numer PIN:</td><td><%= pin2 %></td>

</tr>


<tr>
<td>Imie: </td><td><%= imie2 %></td>

</tr>



</table>
</body>
</html>



ktoś może pomóc???

1 użytkowników online, w tym zalogowanych: 0, gości: 1