[JSP] eigen classes gebruiken?

Pagina: 1
Acties:

  • Johnny
  • Registratie: December 2001
  • Laatst online: 14:52

Johnny

ondergewaardeerde internetguru

Topicstarter
Het lukt maar niet om een eigen class aan te roepen vanuit een JSP.

Zodra ik hem noem in JSP krijg ik een internal server error.

Ik heb ook geen flauw idee waar ik dat ding moet plaatsen. In de root samen met de JSP? In WEB-INF/org/test ? Moet ik het pad opgeven in web.xml of heeft het te maken met het classpath? Of moet ik de import gebruiken?

Het gebruiken van de meegeleverde Java classes werkt wel, in zowel Tomcat en Jetty.

index.jsp
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<html>
<head><title>JSP Page</title></head>
<body>
<%@page import="java.sql.ResultSet" %>

<% ResultSet dbResult; %>
<% Test test; //<-- fout! %>

<%

//werkt wel
out.println("<h1>" + request.getParameter("name") + "</h1>");

for(int i = 0; i < 10; i++) {
out.println("test" + i + "<br/>");
}

%>

</body>
</html>


Test.class
Java:
1
2
3
4
5
6
7
public class Test {
    
   public void test() {
        System.out.println("test");
   }

}

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Verwijderd

je moet die klasse natuurlijk wel eerst importeren net als je resultSet, dus:
Java:
1
<%@page import="java.sql.ResultSet, myclasses.Test" %> 

  • momania
  • Registratie: Mei 2000
  • Laatst online: 06:42

momania

iPhone 30! Bam!

Volgens mij mis je gewoon nog een import statement voor je class, die je bijvoorbeeld wel voor ResultSet doet ;)

Neem je whisky mee, is het te weinig... *zucht*


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Johnny schreef op 20 oktober 2004 @ 23:20:
Ik heb ook geen flauw idee waar ik dat ding moet plaatsen. In de root samen met de JSP? In WEB-INF/org/test ? Moet ik het pad opgeven in web.xml of heeft het te maken met het classpath? Of moet ik de import gebruiken?
Het heeft inderdaad te maken met het classpath. Hij kan deze file dus niet vinden, zoals hierboven reeds aangegeven, omdat je geen import gebruikt voor het kenbaar maken van deze class in de jsp.

Plaats je classes noooit in de root samen met je jsp's, zelfs niet om te testen! Je moet je web/presentatie kant en achterliggende logica gescheiden houden. Ook qua packages!

  • Nick_S
  • Registratie: Juni 2003
  • Laatst online: 10-05 16:41

Nick_S

++?????++ Out of Cheese Error

Naast dat je inderdaad je imports nodig hebt, plaats je, volgens mij, je eigen classes in WEB-INF/classes/packagenaam/.

'Nae King! Nae quin! Nae Laird! Nae master! We willna' be fooled agin!'