» »

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!

boss-tech ::

Ja... zakaj

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?

arjan_t ::

odvisno kaj je tvoj cilj

boss-tech ::

Rad bi samo prebral string in razreda v javi

boss-tech ::

a bi bilo najlažje s kakim web servisom? Se je že kdo ukvarjal s tem?

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.

dfajt ::

Potem pa ti edinole preostane AJAX.

boss-tech ::

A imaš mogoče kakšen primer kako se naj bi to naredilo?

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?

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?

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

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);
        
		
		} 
	
}


Vredno ogleda ...

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

AJAX kratke naloge

Oddelek: Izdelava spletišč
192297 (1764) Yacked2
»

AJAX neznana težava

Oddelek: Programiranje
81211 (1005) luksorzi
»

[PHP/JavaScript] tic tac toe

Oddelek: Programiranje
171692 (1425) illion
»

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

Oddelek: Programiranje
241921 (1675) krho
»

tomcat - problem z encodingom

Oddelek: Programiranje
72350 (2264) kopernik

Več podobnih tem