IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Servlet / Json


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 121
    Par défaut Servlet / Json
    bonjour messieurs, mesdames,

    Mon problème se situe sur un décodage d'objet json.
    En effet l'envoie du json se passe bien mais pas le décodage.

    ma première servlet qui encode un objet en json la librairi et Xstream:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    protected String processRequest(HttpServletRequest request, HttpServletResponse response){
     
            XStream xstream = new XStream(new JsonHierarchicalStreamDriver());
            xstream.setMode(XStream.NO_REFERENCES);
            xstream.alias("moduleInfos", ModuleInfos.class);
            jsonObject = xstream.toXML(moduleInfos);
           // System.out.println(xstream.toXML(moduleInfos));	
    		}
    		return jsonObject;
    	}
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
     
                    response.setContentType("application/json");
    		response.setCharacterEncoding("UTF-8");
    		String jsonObject = processRequest(request,response );
     
    		PrintWriter out = response.getWriter();
     
                    out.print(jsonObject);
    		out.flush();
    		out.close();
    }
    @Override
    	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    			super.doPost(req, resp);
    			processRequest(req,resp);
     
    	}
    Ma deuxième servlet qui récupére le json

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    getcontent(adresse)
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
     
    public String getcontent(String adresse) {
    		StringBuilder sb = new StringBuilder();
    		BufferedReader reader = null;
    		try {
    			// création de la connection
    			URL url = new URL(adresse);
    			URLConnection conn = url.openConnection();
     
    			// lecture de la réponse
    			reader = new BufferedReader(new   InputStreamReader(conn.getInputStream()));
    			String ligne;
    			while ((ligne = reader.readLine()) != null) {
    				sb.append(ligne).append("\n");
    			}
    		} catch (Exception e) {
    			e.printStackTrace();
    		} finally {
    			try {
    				reader.close();
    			} catch (Exception e) {
    			}
    		}
    		if(sb.toString() != null){	
    			getModuleInfo(sb.toString());
    		}	
    		return sb.toString();
    	}
    public String getModuleInfo(String ov541info){
     
    		XStream xstream = new XStream(new JettisonMappedXmlDriver());
    		xstream.alias("moduleInfos", ModuleInfos.class);
    		ModuleInfos moduleInfos = (ModuleInfos)xstream.fromXML(ov541info);
    		System.out.println(moduleInfos.getArtifactId());
     
    		return null;
    	}



    Et l'erreur que je n'arrive pas a résoudre.
    J'utilise l'API xstream pour faire du json.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamException
      at eds.module.ihm.lifepage.ServletInfo.getjson(ServletInfo.java:398)
      at eds.module.ihm.lifepage.ServletInfo.getcontent(ServletInfo.java:391)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    Merci de votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Septembre 2010
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 121
    Par défaut
    Résolution du problème en changeant de lib ===> gson api et exemple très bien documenté

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Servlet et JSON
    Par kawtoussi dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 23/11/2013, 22h19
  2. JSP + servlet + JSON
    Par alaninho dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 13/03/2013, 13h18
  3. Servlet qui renvoie un JSON: Traitement parallèle ?
    Par TheParadoX dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/01/2012, 13h16
  4. Impossibilité d'utiliser l'API JSON dans une servlet
    Par SpeedOverflow dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 21/12/2011, 09h40
  5. utiliser json dans un servlet
    Par Soulama dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 16/11/2010, 13h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo