Forum » Programiranje » java v javascript?
java v javascript?
boss-tech ::
Imam jsp stran z javascriptom. Sedaj pa me zanima kako bi najlažje od tukaj dostopal do razreda, ki je napisav v javi?
Binji ::
a ti sploh poznaš razliko med javo in javascriptom?
Kdor ne navija ni Slovenc, hej, hej, hej!
arjan_t ::
server in client/browser "komunikacija" vedno poteka enako, preko HTTP, pa naj bo na serverju java, php, itd.
Zgodovina sprememb…
- spremenil: arjan_t ()
Binji ::
Ena varjanta je, da generiras javascript kodo tako da jo direktno izpisujes v stran in potem tam izpises te spremenljivke.
Druga varjanta je, da prek AJAX-a naredis request na JSP stran, ki ti vrne te vrednosti.
Druga varjanta je, da prek AJAX-a naredis request na JSP stran, ki ti vrne te vrednosti.
Kdor ne navija ni Slovenc, hej, hej, hej!
boss-tech ::
Stvar je v tem da se te spremenljivke morajo spreminjati na časovni interval, refresha pa nočem met.
boss-tech ::
Se pravi da bi mi tole vrnilo xml oz html:
Samo kako sedaj nastavim da dobim samo npr xml?
$.get("test.jsp", function(data){ alert("Data Loaded: " + data); });
Samo kako sedaj nastavim da dobim samo npr xml?
Zgodovina sprememb…
- spremenil: boss-tech ()
techfreak :) ::
jQuery ima direktno podporo za JSON. Za XML boš pa moral prebrati podatke isto kot za plain text, ampak jih boš potem moral obdelati.
boss-tech ::
Se pravi da če jaz prav razumem dobim nazaj cel html in potem vzamem ven podatke ki jih rabim? Samo stvar je v tem da bi se morala ta stran tudi osveževati(jsp)... oz neka funkcija, ki bi vsakih nekaj sekund brala iz baze. Potem pa bi te podatke za vsako branje (vsakih nekaj sekund) prikazal z javascriptom.
Zanima me tudi kako je potem tukaj z varnostjo?
Zanima me tudi kako je potem tukaj z varnostjo?
Zgodovina sprememb…
- spremenil: boss-tech ()
Binji ::
A ti bi tole iz neke x strani bral in potem parsal podatke ven? Če dobiš podatke od neke svoje skripte namreč samo zapišeš željene podatke v writer (kolikor se spomnim JSP-jev poteka nekako tako to) in je to to.
Če bereš z neke 3rd party strani bi jaz poskusil narediti tako, da v JS nastavis setInterval, ki vsake toliko prek ajaxa kliče tvojo skripto, ki preveri, če je potrebno posodobiti podatke, in če je, potem se poveže na tisto stran in shrani podatke v neki cache (datoteka, baza,..) in jih vrne. Če pa ne pa samo vrne vsebino cacha.
Glede zapisa vrnjenih podatkov pa boš sam najbolj vedel, kaj se splača.. JSON, XML,...
Če bereš z neke 3rd party strani bi jaz poskusil narediti tako, da v JS nastavis setInterval, ki vsake toliko prek ajaxa kliče tvojo skripto, ki preveri, če je potrebno posodobiti podatke, in če je, potem se poveže na tisto stran in shrani podatke v neki cache (datoteka, baza,..) in jih vrne. Če pa ne pa samo vrne vsebino cacha.
Glede zapisa vrnjenih podatkov pa boš sam najbolj vedel, kaj se splača.. JSON, XML,...
Kdor ne navija ni Slovenc, hej, hej, hej!
arjan_t ::
jQuery ima direktno podporo za JSON. Za XML boš pa moral prebrati podatke isto kot za plain text, ampak jih boš potem moral obdelati.
to sploh ni res, vsi browserji ki podpirajo ajax imajo tudi responseXML, ki sparsa ajax xml response
techfreak :) ::
jQuery ima direktno podporo za JSON. Za XML boš pa moral prebrati podatke isto kot za plain text, ampak jih boš potem moral obdelati.
to sploh ni res, vsi browserji ki podpirajo ajax imajo tudi responseXML, ki sparsa ajax xml response
Ja, ampak če uporabljaš jQuery, potem ne moreš direktno uporabiti responseXML ... vsaj kolikor sem gledal.
boss-tech ::
No sem stvar končno spravil skupaj, uporabil sem JSON ter servlet.
JavaScript:
Java:
JavaScript:
var request; var mojeIme; var itemDetails; function createRequest() { try { request = new XMLHttpRequest(); } catch (tryMS) { try { request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (otherMS) { try { request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { request = null; } } } return request; } function getData() { request = createRequest(); if (request == null) { alert("Unable to create request"); return; } var url= "http://localhost:9090/test/jsonservlet"; request.open("POST", url, true); request.onreadystatechange = getResponse; request.send(null); } function getResponse() { if (request.readyState == 4) { // alert("ok"+ request.responseText); if (request.status == 200) { //get json object itemDetails = eval('(' + request.responseText + ')'); alert("Dobljeni podatki: "+itemDetails.ime); } } }
Java:
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONObject; public class json extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { JSONObject obj=new JSONObject(); obj.put("ime",new String("nekdo")); // lahko pošljemo tudi string JSON: // String data = "{ 'menu': 'File', 'commands': [ { 'title': 'New','action':'CreateDoc' } ]}"; response.setContentType("application/json"); response.getWriter().print(obj); } }
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | AJAX kratke nalogeOddelek: Izdelava spletišč | 2297 (1764) | Yacked2 |
» | AJAX neznana težavaOddelek: Programiranje | 1211 (1005) | luksorzi |
» | [PHP/JavaScript] tic tac toeOddelek: Programiranje | 1692 (1425) | illion |
» | [Ajax in Java] v IE6 dela, v Firefoxu neOddelek: Programiranje | 1921 (1675) | krho |
» | tomcat - problem z encodingomOddelek: Programiranje | 2350 (2264) | kopernik |