2010-12-14 57 views
1

J'essaie de créer une application web dynamique en utilisant Eclipse Helios. J'essaie d'utiliser une classe java dans une page jsp. La page est visible pendant le codage et le déploiement. Au cours de l'exécution, les classes Java ne sont pas résolues en type. Pourquoi cela arrive-t-il?Cours Java non accessibles

Mise à jour: Structure du répertoire comme dans Eclipse

Restarunt JAX-WS Web Services 
Deploymment Descriptor Java 
Resources:src 
    default package 
     LoginBean build WebContent WebINF 
     lib 
     web.xml 
     weblogic.xml jsp files 

Répondre

3

Les classes du package par défaut sont invisibles/non importables par les classes d'un package. Les fichiers JSP se terminent en tant que classe dans un package, il sera donc également invisible pour JSP. Cela fonctionne dans des environnements très spécifiques (Tomcat) uniquement, vous ne voulez pas en être dépendant. Il suffit de mettre les classes dans un paquet. Toujours.


Rien à voir avec le problème, l'écriture de code Java dans un JSP est un poor practice. Utilisez une servlet.

2

Avez-vous ajouté à jsp, et ce cours sont en voie de classe ou est en WEB-INF/classes après la construction

<%@ page import="java.util.*,yourpackage.yourClass" %> 
+0

son paquet par défaut. J'ai vérifié dans les propriétés le dossier de sortie est build/classes et il sera déplacé vers WEB-INF lors du déploiement. – Harish

+0

@Harish il devrait être dans '/ WEB-INF/classes /' aussi pouvez-vous s'il vous plaît assurez-vous que vous avez fait des importations appropriées dans jsp de réponse donnée –

+0

juste maintenant essayé.Il ne fonctionne pas.Je n'ai aucun problème lors du codage ou de déploiement, mais pourquoi courir tout seul? – Harish

2

Si FQN de votre classe est your.package.YourClass puis assurez-vous que votre classe déploie à:

YOUR_WEB_APP.war \ 
    WEB-INF \ 
     classes \ 
      your \ 
       package \ 
        YourClass.class