Avant la demande de servlet pour jsp
J'ai une petite demande (formulaire HTML, servlet contrôleur et des fichiers jsp) et j'essaie de comprendre pourquoi je ne peut pas suivre la demande de servlet pour des fichiers jsp.
le problème, c'est après la soumission, de l'html, a montré jusqu'à "l'État HTTP 404"
Flux d'Application:
- soumettre à partir de html.
- contrôleur obtenir le nom de code html.
- contrôleur censés se déplacer à la demande pour des fichiers jsp.
merci!
de la hiérarchie du projet:
http://s23.postimg.org/kgt7r7lwb/Capture.jpg
main.html:
<html>
<title>Coupons categories</title>
<body>
<h1 align="center">Coupons categories</h1>
<form method="GET" action="Controller">
Select category
Type:
<select name="type" size=1>
<option value="restaurants">Restaurants</option>
<option value="electrics">Electrics</option>
<option value="hotels">Hotels</option>
</select>
<br><br>
<input type="Submit">
</form>
</body>
<html>
controller.java:
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//PrintWriter out = response.getWriter();
//out.write(request.getPathInfo());
String path = request.getParameter("type");
if(path.equals("electrics"))
{
request.setAttribute("timestamp", new Date());
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/view/electrics.jsp");
dispatcher.forward(request, response);
}
else if(path.equals("hotels"))
{
request.setAttribute("timestamp", new Date());
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/view/hotels.jsp");
dispatcher.forward(request, response);
}
else if(path.equals("restaurants"))
{
request.setAttribute("timestamp", new Date());
RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/view/restaurants.jsp");
dispatcher.forward(request, response);
}
}
électrique.jsp:
<%@ page language="java" contentType="text/html; charset=windows-1255"
pageEncoding="windows-1255"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255">
<title>Insert title here</title>
</head>
<body>
<h2>products list...</h2>
<%
Object ob = request.getAttribute("timestamp");
out.println(ob);
%>
</body>
</html>
web.xml:
<description>
CouponsServer
</description>
<display-name>Controller for CouponsServer</display-name>
<servlet>
<servlet-name>Controller</servlet-name>
<servlet-class>uses.server.Controller</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Controller</servlet-name>
<url-pattern>/Controller</url-pattern>
</servlet-mapping>
</web-app>
mise à jour:
Probablement la problème est dans le controller.java.
Quand j'ai essayer le code suivant, j'ai eu de Statut HTTP 500.
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.write(request.getPathInfo());
}
dossier dans WebContet. vous pouvez voir la hiérarchie: s23.postimg.org/kgt7r7lwb/Capture.jpg
N'problème apparaît lorsque vous déplacez
main.html
de view
à WebContent
?oui, encore apparaître.
veuillez voir mon montage dans la question ci-dessus.
OriginalL'auteur Itay Avraham | 2014-02-01
Vous devez vous connecter pour publier un commentaire.
Essayer cette
Avez-vous vérifié qu'est-ce que la valeur de chemin d'accès que vous obtenez sur votre contrôleur ???
Comment à propos de l'action dans votre main.html? Il ressemble à votre Contrôleur de cartographie est "/Contrôleur" mais votre main.html est /vue et votre action="Contrôleur". Ne pourrait-il pas être action="../Contrôleur" ?
Êtes-vous sûr? Je crois que l'url-pattern /Contrôleur ne correspondent scheme://hôte/webapp/Contrôleur. Il semble que votre code html est en essayant de schéma d'accès://hôte/webapp/vue/Contrôleur
pas de Votre contrôleur fonctionne très bien.... j'ai juste copier-coller de votre code et de son travail,
OriginalL'auteur Ashish Ratan
Votre code est en cours d'exécution fine dans mon local avec l'web.xml définie à la fin de l'accueil de la liste ou même sans elle. Tentez votre code en cours d'exécution avec la dynamique de contenu Web (version 2.5) où l'web.xml est généré automatiquement.
OriginalL'auteur Meenakshi Pant
web.xml
OriginalL'auteur Ashish Ratan