Ik heb het volgende aan de hand. Ik moet voor school onderstaande opdracht maken.:

1. Toetsapplicatie – deel 1

Maak een eenvoudige online toetsapplicatie. De student/gebruiker aan wie de vragenlijst wordt voorgelegd moet 5 MC vragen beantwoorden. Iedere vraag wordt weergegeven in een aparte JSP pagina. Bij iedere vraag zijn 4 antwoorden gegeven. De gebruiker kiest het in zijn ogen juiste antwoord en gaat door naar de volgende vraag.

Na afloop wordt de score berekend. Ieder juist antwoord levert 2 punten op.
Gebruik voor het bijhouden van de score bij voorkeur een “hidden” tekstveld, en geen “sessievariabele”. Een eenvoudig voorbeeld vind je op I KNOW.

2. Toetsapplicatie – deel 2

Maak een verbeterde versie van bovenstaande applicatie. Bij een fout antwoord mag de gebruiker nogmaals een gokje wagen. Ieder antwoord dat reeds de eerste maal juist is gegeven levert 2 punten op. De vragen die na 2 pogingen het juiste antwoord opleveren, worden beloond met 1 punt. Na afloop wordt de totaal score berekend en getoond.

Ik heb het voorbeeld erbij gepakt het iets aangepast en nu deze twee pagina's gemaakt:

1.jsp
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>


<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
int iscore;
String score = request.getParameter("score");
if (score!=null) { iscore=Integer.parseInt(score);} else {iscore=0; }
String keuze = request.getParameter("keuze");
if (keuze!=null){

if (keuze.equals("1"))
{iscore=iscore+1; out.println("Uw keuze is: Java is great! , uw score is: " + iscore); }
else {iscore=iscore-1; out.println("Uw keuze is: Java sucks! , uw score is: " + iscore);}

// gebruik een forward action om door te gaan naar de volgende pagina !!
<jsp:forward page="page3.jsp" />


} else { out.println("<br/>U bezoekt deze pagina voor de eerste keer. <br/>Vul uw antwoord in op onderstaande vraag.");

}
%>

<form method=post action=page1.jsp>
<h3>Vraag </h3>


Ik zit nu voor het... <br/> <input type="radio" name="keuze" value="1" />
derde jaar op het IIE. <br/> <input type="radio" name="keuze" value="2" />
vierde jaar op het IIE.
<br/>
<br/> <input type="submit" name="ok" value="OK" />

<input type="hidden" name="score" value="<%= iscore %>" >


</form>

</body>


2.jsp
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%--
The taglib directive below imports the JSTL library. If you uncomment it,
you must also add the JSTL library to the project. The Add Library... action
on Libraries node in Projects view can be used to add the JSTL 1.1 library.
--%>
<%--
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
--%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">;


<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>

<h1>JSP Page</h1>

De score is <%= request.getParameter("score") %>



</body>


Wanneer ik 1.jsp run krijg ik de error:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error on token(s), misplaced construct(s)

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error, insert "AssignmentOperator ArrayInitializer" to complete ArrayInitializerAssignement

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error, insert ";" to complete Statement

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error on tokens, delete these tokens


org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error on token(s), misplaced construct(s)

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error, insert "AssignmentOperator ArrayInitializer" to complete ArrayInitializerAssignement

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error, insert ";" to complete Statement

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error on tokens, delete these tokens


org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:409)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.15 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.15

Kortom: Hoe los ik dit probleem op?

bvd
<jsp:forward page="page3.jsp" />

Die staat nu _zomaar_ in je JSP-code, sluit je code eromheen eens af:

%>
<jsp:forward page="page3.jsp" />
<%

Heb de regel er al uit gesloopt maar ik hou de error.

Telkens deze error:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error on token(s), misplaced construct(s)

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error, insert "AssignmentOperator ArrayInitializer" to complete ArrayInitializerAssignement

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error, insert ";" to complete Statement

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error on tokens, delete these tokens


org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error on token(s), misplaced construct(s)

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error, insert "AssignmentOperator ArrayInitializer" to complete ArrayInitializerAssignement

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error, insert ";" to complete Statement

An error occurred at line: 10 in the jsp file: /page1.jsp
Generated servlet error:
Syntax error on tokens, delete these tokens


org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:409)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:297)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:303)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.15 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.15

OF:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

org.apache.jasper.JasperException: Unable to load class for JSP
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:598)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:147)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:315)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.ClassNotFoundException: org.apache.jsp.page1_jsp
java.net.URLClassLoader$1.run(Unknown Source)
java.security.AccessController.doPrivileged(Native Method)
java.net.URLClassLoader.findClass(Unknown Source)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:133)
org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:65)
org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:596)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:147)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:315)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note The full stack trace of the root cause is available in the Apache Tomcat/5.5.15 logs.


--------------------------------------------------------------------------------

Apache Tomcat/5.5.15

Zucht schiet niet echt op :(
<%@ page contentType="text/html" language="java" %>
<%@page pageEncoding="UTF-8"%>



<!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=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%
int iscore;
String score = request.getParameter("score");
if (score!=null) { iscore=Integer.parseInt(score);} else {iscore=0; }
String keuze = request.getParameter("keuze");
if (keuze!=null){

if (keuze.equals("1"))
{iscore=iscore+2; out.println("Uw keuze is: Java is great! , uw score is: " + iscore);


// gebruik een forward action om door te gaan naar de volgende pagina !!
%>
<jsp:forward page="page3.jsp" />;
<%
}

else { out.println("Uw keuze is: Java sucks! , uw score is: " + iscore) ;}


} else { out.println("<br/>U bezoekt deze pagina voor de eerste keer. <br/>Vul uw antwoord in op onderstaande vraag.");

}

%>

<form method=post action=page1.jsp>
<h3>Vraag </h3>


<br/> <input type="radio" name="keuze" value="1" />Java is great !
<br/> <input type="radio" name="keuze" value="2" />Java sucks !

<br/>
<br/> <input type="submit" name="ok" value="OK" />

<input type="hidden" name="score" value="<%= iscore %>" >


</form>

</body>
</html>

Reageren