Httpsession de gestion dans spring mvc
Je suis nouveau sur spring MVC et a commencé à faire un exemple d'application en faisant ce que j'ai appris. J'ai l'intention de mettre en œuvre la gestion de Session de spring MVC. J'ai trouvé cette un utile.
Mais je ne suis pas capable de le faire clairement. Nous avons ajouter des valeurs à la session comme
HttpSession session = request.getSession(false);
session.setAttribute("key", value);
session.setAttribute("key1", value1);
et, plus tard, on va chercher les valeurs basées sur les touches comme
session.getAttrubute("key");
mais dans spring MVC, je ne pouvais pas voir quelque chose de semblable et il est totalement me confond.
@Controller
@SessionAttributes("thought")
public class SingleFieldController {
@RequestMapping(value="/single-field")
public ModelAndView singleFieldPage() {
return new ModelAndView("single-field-page");
}
@RequestMapping(value="/remember")
public ModelAndView rememberThought(@RequestParam String thoughtParam) {
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("thought", thoughtParam);
modelAndView.setViewName("single-field-page");
return modelAndView;
}
}
Dans le code ci-dessus @SessionAttributes("thought")
est totalement déroutant comme moi qu'est-ce que ce thought
défini aussi je n'ai pas besoin de retourner un ModelAndView
depuis que je suis en utilisant backbone.marionette.js
Alors, comment puis-je définir des valeurs dans une session et de les utiliser chaque fois que nécessaire? J'ai aussi de convertir l'objet de session de mon défini par l'utilisateur de l'objet, puisque, tout en renvoyant les valeurs à l'écran, je retourne une Liste d'objets définis par l'utilisateur, qui sont disponibles dans la session.
Merci donc de m'aider à mieux le comprendre. Je suis peut-être confondu avec la façon dont j'ai utilisé jsp /servlet.
Mise à JOUR
Ci-dessous est le contrôleur que j'ai et fourni des commentaires
package com.hexgen.puppet;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.SessionAttributes;
import com.hexgen.puppet.CreatePuppet;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
@Controller
public class PuppetService {
@RequestMapping(method = RequestMethod.POST, value = "/create")
public @ResponseBody
void createOrder(@RequestBody CreatePuppet request) {
//logic to add/update values in session
}
@RequestMapping(method = RequestMethod.GET, value = "/list")
public @ResponseBody
List<Puppet> getGroups() {
//logic to retrive objects from session and convert it as List and send it back
return puppets;
}
}
et de convertir l'objet en cas de besoin et aller sur
OriginalL'auteur Java Questions | 2013-06-17
Vous devez vous connecter pour publier un commentaire.
@SessionAttributes n'est pas entièrement remplace le traditionnel HttpServlet gestion de session. Utiliser si deux ou plusieurs méthodes de Contrôleur besoin de communiquer certaines données. Mais, à l'aide de ce que nous ne pouvons réaliser la communication au sein d'une même classe de contrôleur. Vous n'utilisez pas à lire et à écrire à partir de et pour la session de façon explicite si vous êtes à l'aide de @SessionAttributes. L'utilisation de @SessionAttributes est suggéré que pour de courte durée des communications. Si vous avez besoin de stocker des données à long terme dans la session, il est suggéré d'utiliser session.setAttribute et session.getAttribute explicitement, au lieu de @SessionAttributes. Pour plus d'informations check this out.
OriginalL'auteur Vaibhav Raj
Vous pouvez gérer la gestion de session dans spring mvc comme ça. voici une méthode de contrôleur
utilisateur seront de passage nom d'utilisateur et le mot de passe alors que le Printemps va injecter automatiquement des attributs de session. nous vous authentifier ce nom d'utilisateur et mot de passe
à partir de db. Pour cela, nous allons utiliser un service méthode qui à son tour fait appel à une méthode de dépôt pour obtenir l'Objet de Membre de la classe et de le retourner
ici dans le contrôleur. Où dans votre méthode d'application vous avez besoin d'informations stockées dans la session de la passer en argument à la gestionnaire. Vous pouvez trouver plus de détails comment cette information peut être vérifiée à chaque appel de méthode à http://faisalbhagat.blogspot.com/2014/09/session-management-with-spring-mvc.html
HttpSession
et de la paix code de m'éclairer, je vous remercie ...OriginalL'auteur faisalbhagat