» »

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?
http://tovornik.info

Binji ::

a ti sploh poznaš razliko med javo in javascriptom?
Kdor ne navija ni Slovenc, hej, hej, hej!

boss-tech ::

Ja... zakaj
http://tovornik.info

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 ()

boss-tech ::

In kako naj sedaj rešim to komunikacijo?
http://tovornik.info

arjan_t ::

odvisno kaj je tvoj cilj

boss-tech ::

Rad bi samo prebral string in razreda v javi
http://tovornik.info

boss-tech ::

a bi bilo najlažje s kakim web servisom? Se je že kdo ukvarjal s tem?
http://tovornik.info

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.
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.
http://tovornik.info

dfajt ::

Potem pa ti edinole preostane AJAX.

boss-tech ::

A imaš mogoče kakšen primer kako se naj bi to naredilo?
http://tovornik.info

Binji ::

Jquery knjižnica
Ta mi je pač najbolj všeč :)
Kdor ne navija ni Slovenc, hej, hej, hej!

boss-tech ::

Se pravi da bi mi tole vrnilo xml oz html:

$.get("test.jsp", function(data){
  alert("Data Loaded: " + data);
});


Samo kako sedaj nastavim da dobim samo npr xml?
http://tovornik.info

Zgodovina sprememb…

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?
http://tovornik.info

Zgodovina sprememb…

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,...
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

boss-tech ::

pa saj kolikor sem gledal naj bi osnovni JSON brez jQuery bil zadovoljiv. Upam...
http://tovornik.info

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.

arjan_t ::

imaš parameter type kjer nastaviš xml

boss-tech ::

No sem stvar končno spravil skupaj, uporabil sem JSON ter servlet.

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);
        
		
		} 
	
}
http://tovornik.info


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

AJAX kratke naloge

Oddelek: Izdelava spletišč
192143 (1610) Yacked2
»

AJAX neznana težava

Oddelek: Programiranje
81123 (917) luksorzi
»

[PHP/JavaScript] tic tac toe

Oddelek: Programiranje
171531 (1264) illion
»

[Ajax in Java] v IE6 dela, v Firefoxu ne

Oddelek: Programiranje
241801 (1555) krho
»

tomcat - problem z encodingom

Oddelek: Programiranje
72265 (2179) kopernik

Več podobnih tem