Avatar billede Slettet bruger
03. december 2003 - 10:44 Der er 4 kommentarer og
1 løsning

NullPointerException indtil filen recompiles

Betragt følgende kode fra files test.jsp:
<%@    page language="java" import="beans.*,model.*" %>
<%
    String email = request.getParameter("email");
    Server server=Server.getInstance();
    Customer c = server.getCustomer(email);
    out.print(c);
    out.print(c.getName());
%>

Jeg har denne fil på en Tomcat server, og mit problem er at når filen køres via browseren kastes en NullPointerException - indtil jeg recompiler filen efter Tomcat er startet op; så virker det uden problemer..

Hvis jeg fjerner
out.print(c.getName());
virker koden - også første gang siden hentes... Men hverken c (Customer) eller navnet er null, og det virker jo når jeg recompiler jsp filen....

Hvad går der galt? Jeg testede på en Tomcat 5, og der var der ingen problemer, men jeg kan ikke bruge en beta-udgave...

Iøvrigt kan jeg fortælle at customer hentes via RMI, men uanset hvad kan jeg se at jeg får returneret den rigtige Customer til jsp siden, og der er ingen af mine objekter der er null ...

Nogen der har et bud på årsagen ?
Avatar billede Slettet bruger
03. december 2003 - 11:40 #1
Ok, problemet skyldes tilsyneladende at jeg anvender en SecurityManager i min Server klasse, men jeg kan ikke (og vil ikke) undvære den, da jeg bruger RMI. Nogen der har erfaringer med dette?
Avatar billede arne_v Ekspert
03. december 2003 - 23:31 #2
En ide kunne være ikke at bruge RMISecurityManager men at enable
Tomcat security manager og lade den styre adgangen også for RMI
klienten.

Læs mere her:
  http://jakarta.apache.org/tomcat/tomcat-4.1-doc/security-manager-howto.html
Avatar billede arne_v Ekspert
03. december 2003 - 23:33 #3
Den korrekte J2EE måde at løse det på ville være:

JSP page --(EJB call)--> session bean --(CCI call)--> custom JCA adapter --(RMI call)--> RMI server

Men det er formentligt et overkill.
Avatar billede Slettet bruger
04. december 2003 - 08:14 #4
Det er ikke RMISecurityManageren jeg bruger - alene af den årsag at jeg ikke kan placere policy filen så SecurityManageren kan få fat i den, uden at skulle være afhængig af hvordan webserveren er sat op ..
Derfor har jeg midlertidigt implementeret min egen SecurityManager, der pt. tillader alt...!!

Om jeg propper en session bean på mit pattern er formentlig lidt underordnet i denne sammenhæng - overkill? Don't know

Synes da bare det er meget mærkeligt at fejlen kun eksisterer indtil JSP siden (!!!) recompiles... det skulle da snarere være Server klassen el. lign!?
Avatar billede Slettet bruger
07. april 2004 - 13:20 #5
Skiftede Tomcat version.
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester