6
votes

Créer une page simple qui renvoie une réponse JSON

L'équipe qui fonctionne sur le côté du client de mon projet m'a demandé d'écrire une page de test d'échantillon et de leur donner une URL de travail qu'ils peuvent atteindre 200. Ils m'ont demandé de donner un organe de demande d'échantillon . Voici le corps de la demande que je leur donnerai. XXX

Pour développer la page d'échantillonnage, je ne sais pas où commencer. Veuillez aller facilement sur vos bowvotes (au cas où la question semble sans importance), car je n'ai aucune expérience de travail sur les servlets JSP.

Voici ce que j'ai dès maintenant. C'est une page de connexion simple - xxx

et ceci est ma classe de servlet - xxx

mon application est une simple classe Java Cela a Appid et AppPassword avec getters and Setters, donc je ne vais pas publier ici.

Ma question est - Est-ce que je fais ce droit ou 100% faux? S'il vous plaît donnez-moi votre conseil.


6 commentaires

Si vous pouvez me signaler des liens où je peux avoir une meilleure idée de ce qui doit être fait aussi bien. Ou si vous pouvez me donner un exemple, c'est bon aussi. Je clarifie simplement mon approche ici. Je ne me sens pas très confiant que j'ai bien fait, alors besoin de conseils.


S'ils demandent une réponse de 200 avec des données JSON, ils envisagent probablement d'utiliser une demande AJAX. Cela signifie qu'il y a probablement une attente que l'utilisateur sera déjà connecté, pourrait être quelque chose que vous souhaitez vérifier avec eux.


Je n'ai aucune réponse pour vous, car je suis confronté à un problème similaire (bien que ce soit pour une étude personnelle); Je peux vous dire une chose que j'ai récemment appris: les servlets sont apatrides (donc si vous allez vérifier ces Appid et AppPWD là, vous ne pourrez pas distinguer de deux utilisateurs d'applications différents). Je suppose que vous feras mieux de remettre le chèque et la génération JSON à un autre haricot.


Est-ce qu'ils n'ont vraiment besoin que d'un échantillon ou ont-ils besoin d'une application simple mais en direct? Si tout ce dont ils ont besoin, c'est des données d'échantillonnage pour une poignée de cas, écrivez simplement des fichiers texte et les servir de manière statique. Si vous avez besoin d'écrire une application complète, ne touchez pas directement les servlets; Ils sont un outil de très bas niveau. Au lieu de cela, utilisez quelque chose comme le printemps MVC; Avec la botte à ressort, vous pouvez écrire une application triviale entière comme celle-ci dans environ 25 lignes.


@Anthony - Ceci est un client iPhone, et ils n'utiliseront pas Ajax. Tout ce dont ils ont besoin de faire, c'est leur donner un organisme de demande et une page de test d'échantillon sur un serveur qu'ils peuvent frapper et rentreraient 200.


@watery Oui, les servlets sont apatrides, mais les conteneurs Web ne sont pas. Vous pouvez accéder à un httpsession à l'aide de httpservletQuest.getsession () dans lequel vous pouvez stocker l'état.


4 Réponses :


1
votes

dans la méthode de Doket Utilisez GSON Jarlibrary pour générer une réponse JSON

comme ci-dessous P>

Gson gson = new Gson();
HashMap map = new HashMap();

map.put("MyApp",object);

String jsonString = gson.toJson(map);
PrintWriter writer = response.getWriter();
writer.print(jsonString);


0 commentaires

0
votes

Vous pouvez utiliser GSON JSON de Google, pour analyser et former la chaîne JSON.Il facilite votre vie. Regardez le lien suivant pour référence. http://viralpatel.net/ Blogs / Création-Parsing-Json-Data-with-Java-servlet-Struts-JSP-JSON /

Vous pouvez également vous reporter au lien suivant http : //nareshkumarh.wordpress.com/2012/10/11/jquery-ajax-json-servlet-example/


0 commentaires

0
votes

Vous dites que vous voulez passer des paramètres du client sur le serveur, mais montrez à la fois un message JSON, puis votre code de servlet semble que les paramètres sont passés avec demande.

Si vous avez l'intention de passer JSON dans le Demande de demande, le serveur n'utilisera pas automatiquement ceci pour vous, donc vos appels request.geparameter ("appid") et request.geparameter ("AppPWD") travailler.

au lieu de cela, vous devez analyser le corps comme celui-ci (basé sur l'exemple de message ci-dessus): xxx

une fois que votre servlet a l'objet que vous souhaitez. À utiliser pour créer une réponse, vous pouvez simplement générer le JSON et l'écrire à l'aide de httpservletresponse.getwriter () comme ceci: xxx


0 commentaires

2
votes

Vous pouvez créer un objet Java qui est formaté dans le même format, puis utilisez simplement les méthodes intégrées

public class mAppHeader(){
    String appId = "";
    String personId = "";
    String serviceName = "";
    String clientIP = "";
    String requestTimeStamp = "";     
    String encoding = "";
    String inputDataFormat = "";
    String outputDataFormat = "";
    String environment = "";
}


0 commentaires