Via een combinatie van JSP en Servlets tracht ik een cookie te maken die
onthoud welke kleur een bezoeker van mijn website het liefste ziet.
(Geen echte site, gewoon een probeersel feitelijk)
Volgende code komt uit het .jsp bestandje:
en dat geeft dit als uitvoer:
http://student.khleuven.be/~9940228/screen1.jpg
Dit formuliertje werkt prima. Maar als ik de uitvoer van dit formuliertje wil tonen op het scherm verschijnt er dit:
http://student.khleuven.be/~9940228/screen2.jpg
Deze uitvoer bekom ik via volgende servlet:
Zoals je ziet zou normaal onder de <H1>...</H1> de gekozen kleur
moeten verschijnen, maar ook hier verschijnt er in de plaats een hoop rare tekens.
Ik heb reeds geprobeerd de printwriter te vervangen door een StringBuffer, echter met hetzelfde resultaat.
Wat doe ik hier fout?
Oja, mijn excuses voor de lijvigheid van deze post, maar ik wou geen enkel detail overslaan
onthoud welke kleur een bezoeker van mijn website het liefste ziet.
(Geen echte site, gewoon een probeersel feitelijk)
Volgende code komt uit het .jsp bestandje:
code:
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
39
40
| <html>
<head>
<title>Kies een kleur</title>
<body>
<h1>Kies een kleur</h1>
<p>
<FORM METHOD="POST" ACTION="KiesKleurig.class">
<%@page import="org.jdom.*"%>
<%@page import="org.jdom.input.*"%>
<%@page import="java.util.*"%>
<%
SAXBuilder b = new SAXBuilder(false);
Document d = b.build(application.getRealPath("kleuren.xml"));
Element k = d.getRootElement();
Element leeg;
List x = k.getChildren();
int teller = x.size();
for(int i = 0; i < teller; i++) {
leeg = ((Element)x.get(i));
out.println("<INPUT TYPE=\"radio\" NAME=\"kleuren\" VALUE=" +
leeg.getText() + ">" + leeg.getQualifiedName() + "<BR>");
}
%>
<p>
<INPUT TYPE=submit VALUE="kies">
</FORM>
</body>
</head>
</html> |
en dat geeft dit als uitvoer:
http://student.khleuven.be/~9940228/screen1.jpg
Dit formuliertje werkt prima. Maar als ik de uitvoer van dit formuliertje wil tonen op het scherm verschijnt er dit:
http://student.khleuven.be/~9940228/screen2.jpg
Deze uitvoer bekom ik via volgende servlet:
code:
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
| import javax.servlet.*;
import javax.servlet.http.*;
import java.text.*;
import java.io.*;
import java.util.*;
public class KiesKleurig extends HttpServlet {
public void doPost(HttpServletRequest aanvraag, HttpServletResponse antwoord)
throws ServletException, IOException {
String kleur;
// alles klaarzetten om een antwoord te geven aan de cliënt
antwoord.setContentType("text/html");
PrintWriter uitvoer = antwoord.getWriter();
kleur = aanvraag.getParameter("kleuren");
// antwoord sturen
uitvoer.println("<HTML>");
uitvoer.println("<HEAD>");
uitvoer.println("<TITLE></TITLE>");
uitvoer.println("</HEAD>");
uitvoer.println("<BODY><H1>Refresh deze pagina!</H1>");
uitvoer.println(kleur + "\n");
uitvoer.println("</BODY></HTML>");
uitvoer.close();
}
} |
Zoals je ziet zou normaal onder de <H1>...</H1> de gekozen kleur
moeten verschijnen, maar ook hier verschijnt er in de plaats een hoop rare tekens.
Ik heb reeds geprobeerd de printwriter te vervangen door een StringBuffer, echter met hetzelfde resultaat.
Wat doe ik hier fout?
Oja, mijn excuses voor de lijvigheid van deze post, maar ik wou geen enkel detail overslaan
Clowns to the left of me, Jokers to the right