À l'aide de <a href> lien vers la servlet
J'ai une ancre qui je veux qu'il soit lié à un LogoutServlet de sorte qu'il va détruire les séances et de les réorienter en arrière vers une page de connexion.
LogoutServlet.java
package pkg;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class LogoutServlet
*/
public class LogoutServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public LogoutServlet() {
super();
//TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//TODO Auto-generated method stub
response.setHeader("Cache-Control", "no-cache, no-store");
response.setHeader("Pragma", "no-cache");
request.getSession().invalidate();
RequestDispatcher rd = request.getRequestDispatcher("Login.html");
rd.forward(request, response);
}
}
tag
<a href="/Assignment/LogoutServlet" accesskey="1" title="">Logout</a>
Est-ce la bonne façon de les mettre en œuvre?? J'ai utilisé de cela, mais il n'a pas me diriger vers Login.html .
OriginalL'auteur melvg | 2013-01-03
Vous devez vous connecter pour publier un commentaire.
Qui a frappé le
doGet
méthode qui n'est pas ledoPost
méthode. Un lien vers une ancre comme ça, c'est une requête HTTP GET.Si vous souhaitez faire une demande POST, vous devrez soumettre un formulaire à la servlet utilisant la méthode POST.
Déplacer votre code de
doGet
au lieu dedoPost
et essayer.devons-nous inclure le chemin de contexte à l'intérieur de la valeur de ce lien comme
"contextPath/url-pattern"
, quand j'ai essayé a href avec"url-pattern"
jette statut de 400 l'erreur et l'url dans la barre d'adresse sera sans contextpath commelocalhost:8080/url-pattern
.OriginalL'auteur cowls
Utilisation de la méthode doGet. a href va utiliser la méthode GET.
OriginalL'auteur Usman Saleem