Accessing classes in web-inf/classes within JSP
hi,
i know this is probably a very basic question..or nobody would ever do something like this..but I'mn curious:
i have a class Car.class in the WEB-INF/classes directory and I want to access it from withing JSP : <% Car c = new Car(); %>
the problem is that the server tries to load the class from the package : org.apache.jsp.Car ! when putting car into an own package like my.Car then it works.. but how do i get it working without putting it into a separate package?!
thx
You could try packaging it in a jar, and placing the jar in WEB-INF/lib... I have no idea if that will help, but when you're debugging, you have to be willing to try anything.. :)
Similar Messages
-
Custom classes in Web-INF/classes not recognised
Can any body tell me why classes in WEB-INF/classes directory are not recognised by
the WebLogic while importing in JSP??
Thanks in advance
Hi all,
we were having the same problem - WebLogic not recognizing custome classes in
the WEB-INF/classes directory. As soon as we removed the Class-Path entries from
the WARs Manifest file (and placed the referenced JARs in the WEB-INF/lib directory)
everything worked fine. It seems as if WebLogic excludes WEB-INF/classes from
the classpath in case Class-Path entries in the manifest file are present.
Is there a patch for this? If yes, I'd appreciate your notice!
Cheers
Georg
[email protected] (Trace Lowe) wrote:
>Sounds like I'm having the same problem. I have a JSP application, in
>a WAR file, in an EAR (no EJBs). I'm trying to figure out where to
>place the utility jar files. I've read several threads, and
>documentation on WL7, and it seems that I should be able to place the
>jars in the WAR lib or classes directory. I tried both, neither seems
>to work. I even tried adding a "Class-Path" entry in the EAR manifest
>in hopes that it might work. Nope.
>
>Can anyone help?
>
>- Trace
>
>"Dineshkrn" <[email protected]> wrote in message news:<3d32cab0$[email protected]>...
>> Can any body tell me why classes in WEB-INF/classes directory are not
>recognised by
>> the WebLogic while importing in JSP??
>>
>>
>> Thanks in advance
-
Accessing file directory objects in 9.1 and /WEB-INF/classes zip
It appears that in WebLogic 9.1 that the contents of the /WEB-INF/classes directory is being zipped up and placed in the /WEB-INF/lib directory under some arbitrary name.
Is there a way to tell weblogic not to do this, but leave the /WEB-INF/classes directory expanded as it was in weblogic 8?
Is there a particular reason, developers should be aware of, to why this is being done in 9.1 (9.x?)?
Background :
This particular app has a set of several hundred xml files that describe all of the screens (and thus the forms) of the app. They are used not only in the generation of the actual jsps (and believe it or not the action class as well as other supporting class, the app is really an interface to a legacy backend) but are also packaged within the WAR for the dynamic configuration of plugins used for complex validation; a quasi 'rules' engine.
While there are several different versions of the app, and thus several different versions of xml files, there is only one version of the rules engine.
The problem that has arised when running on 9.1 is the plugins access to those xml files.
The plugin attempts to load the xml files by creating File object for the directory containing the xml files, and then iterating through the contents of that directory.
The xml files are packaged within the /WEB-INF/classes directory and are thus accessible using a simple resource look-up (in actuality, a 'token' xml file is specified, looked-up as a resource and then used to determine the parent file directory's url).
This has worked well enough as 'most' servers deploy the contents of /WEB-INF/classes directory in an expandable fashion. Obviously, this strategy readly breaks when those same contents are jar'd and placed in the /lib directory.
It is prefered to not have to maintain a cataloge or index of the xml files because of the volume of xml files, the multiple versions of the xml files, and of course the volitility of the xml files, although this is an obvious option.
I personally have mixed feelings about using a parent directory reference to load a set of resource files within a j2ee app. If anyone has any other suggestions, I would greatly appreciate it!
Thanks
AndrewHi,
Usually, the best approach would be to just to load the resources as InputStream and have a catalog (and I know this is what you do not want to do :-) So the only hacky workaround that I can think of would be to use something like Jakarta Commons Virtual File System (http://jakarta.apache.org/commons/vfs/) and read the .zip
Regards,
LG -
Class not found in web-inf/classes folder of war file within ear file
Hi all,
I am using Weblogic 8.1 sp4. I have a war file within an ear file. I am trying to deploy the war file with a few classes within its web-inf/classes folder, however when the classes are in that folder I consistently get a class not found exception when trying to instantiate them. If I package the classes in a jar file and then put that jar file within the web-inf/lib folder of the war, the classes are also not found.
If I put these two classes in the app-inf/classes folder of the ear file, everything works as expected and the classes are found.
Any ideas of why this is happening. This seems to be a very simple thing that should work, but appears to not be working at all.
thanks in advance for any suggestions or ideas.Hi,
This is a known limitation/issue with WL. There is also no way around this.
Regards,
LG -
JSP can't call applet if the applet class is put WEB-INF/classes in weblogic6.1sp1
Can't the applet be put at the WEB-INF/classes folder?
If the applet can put at WEB-INF/classes, where is the plugin's codebase?
Can't the applet be put at the WEB-INF/classes folder?
If the applet can put at WEB-INF/classes, where is the plugin's codebase?
-
JARs in WEB-INF/classes on the classpath? [NEWBIE]
Hello,
I am under the impression that any files (including JARs and all within
them) are on the classpath if they are in the folder WEB-INF/classes.
I have a WAR file that contains a JAR file that in the WEB-INF/classes
folder. The JAR file contains a class under the package structure
"mvc.users.Members". I know its there as I checked the WAR file structure
before deploying.
In the WAR file I have a Struts RegisterAction class in the package/folder
"mvc.registration.RegisterAction" which has the following code to create a
Member object:
Member member = new Member();The Member class is imported into RegisterAction using
import mvc.users.Members;and JBuilder appears to recognise Members as on the classpath and compiles
with no errors.
My problem is after I have deployed the WAR file, submitting a form to the
RegisterAction gets the error below:
javax.servlet.ServletException: Servlet execution threw an exception:
root cause:
java.lang.NoClassDefFoundError: mvc/users/Member
mvc.registration.RegisterAction.execute(RegisterAction.java:22)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)If the class "mvc.users.Member" is in the JAR file in the WEB-INF/classes
folder and the "mvc.registration.RegisterAction" class in the WAR file
does (according to JBuilder) see the "mvc.users.Member" class on the
classpath and compiles... why then do I get this error?
Thanks for your help.
A Desperate Newbie,
MarkI answered this in the JSP forum - you need to put JAR files in WEB-INF/lib.
-
WAR file fails to deploy WEB-INF/classes
Hi All
I am attempting to get a simple JPA on JSE app running on WLS 9.1. I can deploy my WAR file and access the jsps no problem, however the WEB-INF/classes directory is empty on deployment. How can I tell if the classes are being deployed correctly? I have tried using autodeploy and console deployment, always with the same result. My war file is structured as follows:
WEB-INF/
WEB-INF/faces-config.xml
WEB-INF/weblogic.xml
WEB-INF/web.xml
WEB-INF/classes/
WEB-INF/classes/my/test/package/{all classes}
WEB-INF/lib/{all reqd libs}
index.jsp
When I run the jsp, there are no errors, the classes just don't appear to be doing anything. The logs have absolutely nothing to help with this, I turned on app logging in weblogic.xml and it has nothing other than the initialization in it either.
I've deployed and run the exact same app (less the weblogic.xml file) successfully on Tomcat and OC4J, any ideas out there? Am I looking in the right place for the deployed class files (Checking the WL_HOME/samples\domains\wl_server\servers\examplesServer\tmp\_WL_user\jpa-example\xb6q08)?Hi,
I've faced the same issue in WLS9.2, and but it didn't affect my web application running, I guess that the classes are read from the WAR file directly, so for me to overcome this issue, I've changed the technique of how to install web application by selecting extracted war installation instead, and from the WLS Console selected
"I will make the deployment accessible from the following location" and selected the folder that contains the extracted WAR.
Hope this will help,
Issa -
In our current application we have the following source directory structure:
src -
- com
- edeploy
- subdirs ... (many directories here)
- jsp
-subdirs ... (many directories here)
In com.edeploy.subdirs, there exists *.java files, and *.gxq files (query
files). I would like to modify my build.cmd script to copy the *.gxq files
into the same directory as the class files.
Here's my script so far:
@REM Create list of files to compile
DIR /S /B /A:-D src\com\*.java >class.list
@REM Create list of query files
DIR /S /B /A:-D src\com\*.gxq >query.list
@REM Compile
javac -d stage\WEB-INF\classes @class.list
@REM Copy query files into class directory
.......... code needed here ......
Can anyone help me with this?
Thanks,
Matt
You may want to check out:
http://jakarta.apache.org/ant/index.html
Gary
"Matt Raible" <[email protected]> wrote in message
news:[email protected]..
> In our current application we have the following source directory
structure:
>
> src -
> - com
> - edeploy
> - subdirs ... (many directories here)
> - jsp
> -subdirs ... (many directories here)
>
>
> In com.edeploy.subdirs, there exists *.java files, and *.gxq files (query
> files). I would like to modify my build.cmd script to copy the *.gxq
files
> into the same directory as the class files.
>
> Here's my script so far:
>
> @REM Create list of files to compile
> DIR /S /B /A:-D src\com\*.java >class.list
>
> @REM Create list of query files
> DIR /S /B /A:-D src\com\*.gxq >query.list
>
> @REM Compile
> javac -d stage\WEB-INF\classes @class.list
>
> @REM Copy query files into class directory
> .......... code needed here ......
>
> Can anyone help me with this?
>
> Thanks,
>
> Matt
>
>
-
WEB-INF/classes not searched?
I am developing an Struts application.
During development I just want to have my Actions and all other files in the projects package strukture, so I compile the classes to the WEB-INF/classes directory and ends up with a structure like
WEB-INF/classes/dk.acompagny.anapplication.viewcontroller.MyAction.class.
I find the compiled class in the directory structure but OC4J does not find it. Instead I get a runtime error like:
SEVERE: No action instance for path /login could be created
oracle.classloader.util.AnnotatedClassNotFoundException:
Missing class: dk.bladkompagniet.plus100.viewcontroler.LoginAction
Dependent class: org.apache.struts.util.RequestUtils
Loader: current-workspace-app.web.Bladkompagniet-Plus100-webapp:0.0.0
Code-Source: /home/fgjensen/Work/Src/Bladkompagniet/Plus100/public_html/WEB-INF/lib/struts.jar
Configuration: WEB-INF/lib/ directory in /home/fgjensen/Work/Src/Bladkompagniet/Plus100/public_html/WEB-INF/lib
This load was initiated at current-workspace-app.web.Bladkompagniet-Plus100-webapp:0.0.0 using the loadClass() method.
JDev lists the path it searches an the WEB-INF/classes directory is not listed. However, it finds my jsp pages and the default behavior of OC4J should be to search the WEB-INF/classes path.
Am I missing some configuration set?
Regards FlemmingForget it, I found the error: I have to learn to spell!
-
Prefer-web-inf-classes Problem
Hi ,
I have an web application war file which has some jsp's and jar files in the lib
directory of the war file .
Also one of the jar files which is of different version is present in the classpath
of WLS .
My prb is that the my web application does not deploy . When the jsp's compile
it uses the jar file (this is if different version from jar file in the application)which
is set in the WLS Classpath rather than the jar file in the war file . I have
set <prefer-web-inf-classes> as true in the web application xml . Also any of
the classes in the jar file does not starts with java. , weblogic. , javax. .
I think at the time of jsp compilation the jar files in lib are never loaded though
preferwebinfclasses is true ... so does this mean that preferwebinfclasses come
into picture only after deployment of application ?
Can any body help me on this ..
Regds
KishoreDo you know what the patch number is? I just downloaded 10.3 and came across the same error...so I don't think it has been put in 10.3 just yet.
Thanks
- Doug -
Classes are not loading from WEB-INF/classes directory
Hi All,
I am in a deep troble because the class files in the WEB-INF/classes directory are not loading.
I have deployed the application in Tomcat 6 server. And stored all class files under WEB-INF/classes dirctory. But when I execute a JSP page, I am getting following 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:
JSP FileName:/hello.jsp
An error occurred at line: 1 in the jsp file: /hello.jsp
com.flt.Test cannot be resolved to a type
1: <%=new com.flt.Test().hello()%>
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:98)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:435)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:298)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:277)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:265)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:564)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:302)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)The classes are available in the WEB-INF/classes directory and the folder name and package name of the classes are correct. I have also tried to execute the application by creating a jar file and put it in the WEB-INF/lib directory. But I am getting same result.
Is it the problem with Tomcat configuration? When I gone through Tomcat documentation, I get to know that the WebAppX class loader in Tomcat, loads application specific classes for a web application. Is it possible to start/stop WebAppx classloader manually?
Please help me to solve this issue.
Many Thanks,
Francis Lukose
Edited by: francis_ on May 13, 2008 10:03 AMThanks for your reply, Soultech2012.
<%=new com.flt.Test().hello()%>is the only code in the JSP page. Just a single line. Nothing more than that.
The code in Test.java is as follows:
* To change this template, choose Tools | Templates
* and open the template in the editor.
package com.flt;
* @author Francis Lukose
public class Test {
public static String hello() {
return "hello";
}Many Thanks,
Francis
Edited by: francis_ on May 13, 2008 6:45 PM -
Compiling class file to WEB-INF/classes
I have created 2 source files, viz: DatabaseConnectionBean.java and Agent.java. They both exist in the source directory. In the DatabaseConnectionBean.java I instantiate the Agent.class. When I compile at the Command prompt ... I type javac -d ..\WEB-INF\classes\ Agent.java ... it compiles fine. But when I compile the DatabaseConnectionBean.java by typing javac -d ..\WEB-INF\classes\ DatabaseConnectionBean.java it throws an error.....it cannot resolve symbol 'Agent'.
I have included the package name, viz: smeyl, in both files.
A strange thing happens when I type: javac -d ..\WEB-INF\classes\ *.java; at the command prompt...It doesn't throw an error....it compiles both source files....still though my jsp doesn't work properly..so this isn't a solution.
Please help.
any help will be appreciated....
luv
ushantaI'm not to sure myself. I've been using eclipse too long to remember all the intracacies of command line stuff. I know the theory, but am out of practice. :-)
If you compile DatabaseConnectionBean on its own, I don't think it looks in the destination directory for supporting classes unless you tell it to:
something like this
javac -d ..\WEB-INF\classes\ -classpath ..\WEB-INF\classes\;%CLASSPATH% DatabaseConnectionBean.java
If I'm talking complete rubbish here, someone will kindly (or unkindly for that matter) correct me I am sure -
Classes not picked up from WEB-INF/classes
9ias R2: OC4j
Some classes could be found from WEB-INF/classes by JSP pages but some others could not.
WEB-INF/classes is part of the classpath in JSP's point of
view.
And if explicitly import the class such as
import abc;
in JSP pages and the class could be found.
Anybody has any idea? Or anything wrong I am doing?
Thanks!
David Yuan9ias R2: OC4j
Some classes could be found from WEB-INF/classes by JSP pages but some others could not.
WEB-INF/classes is part of the classpath in JSP's point of
view.
And if explicitly import the class such as
import abc;
in JSP pages and the class could be found.
Anybody has any idea? Or anything wrong I am doing?
Thanks!
David Yuan -
Equivalent "prefer-web-inf-classes" for a application?
We know the descriptor prefer-web-inf-classes let weblogic server load the web app classes first.
The question is I have a EJB class using a class within weblogic.jar but has different version! Is there any descriptors let weblogic load my application jars first before checking the server ClassLoader?We hear you!. We'll have a feature in the next WLS release. (most likely 9.2) which will address this problem. The feature isn't exactly prefer-app-inf but a better way to give you more fine grained control over the packages you'd like to have the app load itself rather than have them loaded by the System classloader.
-- Nagesh -
Locating the contents of WEB-INF/classes
Hi,
We have a web-app deployed as a WAR file (unexploded) and we want to be able to the contents of WEB-INF/classes (ie properties). However when I try and access these files via a web browser, I receive a 404. I tried putting a simple HTML page in there which also gave a 404. I also tried the same method with a simple dummy WAR and was able to retrieve the HTML opage in WEB-INF/classes.
Is there some setting which allows the contents of WEB-INF/classes to be read, or not to be read?
The java version is J2SDK 1.4.2-05, and the app server is JRun 4 updater 4.
Thanks,
Jon DanielsNo - fundamentally what we are aiming for is to have the unexploded WAR app read properties (i.e. log4j.properties, etc) from the WEB-INF/classes folder. To simulate this I attempted to access properties via a web browser; however I'm not sure that's the best way to test, so to rephrase: the problem is that my WAR-file based web-app is not loading properties files from the WEB-INF/lib classes directory.
Maybe you are looking for
-
Mail crashes when trying to open mail with large attachment
It used to work fine (years), but for past 6 months, if I try to open an email (with the blue ball to the left) that has a large attachment (any sort), it crashes, no error message. On restarting, mail that had been deleted is back, and the most rece
-
How can I remove large numbers of missing photos from the catalog at one time?
I was frustrated PSE8s slow speed and decided to try anther photo organizing program for a while (Picasa). After a few months I have decided to go back to PSE8 for limited things (tagging and rating) but now I have over 1,000 photos that are "missing
-
Reusing a page as a region in other pages
Hi All, I have a requirement. I want to reuse a page as a show hide region in other pages. Please suggest a way to do the same. Version: Oracle Apex 4.2 Thanks and regards, Abhishek Arora
-
Custom JAAS Login Module 9.0.4 configuration problems
Hello, We have created a custom JAAS Login Module on OC4J 9.0.4 and are having some sort of configuration problem We always get this error: Caused by: javax.security.auth.login.LoginException: Login Failure: all modules ignored at javax.security
-
Obtain the URL of BPM task with Task query Service
Hi! I am using the task query service to obtain information about Tasks with web services. I need to obtain the creator and the URL to access to the detail of the task (i don't know if this column is "taskDisplayUrl"). I have this Request but the res