Solved

servlet context syntax

Posted on 2006-11-08
15
230 Views
Last Modified: 2013-11-24
i have this .....

TreeNode rootNode = (TreeNode)getServletContext().getAttribute("mediaLibRootTreeNode"); which resides in a back end section

now i have to recreate this in the front end section

now normally i have this ..
getServlet().getServletContext().getAttribute("rolms_front_dir").toString() to get to the front bit.
but now how do i set my rootNode of TreeNode type to get the servlet attribute?
i'm not sure if i'm explaining this properly but i'm hoping you guys will understand this when u see it.
0
Comment
Question by:blue-genie
  • 9
  • 6
15 Comments
 
LVL 39

Author Comment

by:blue-genie
ID: 17896655
ok let me try explain it this way. i have a getContext.setAttribute("") that gets set on startup of tomcat.
i have 2 folders, the admin and front bits, and in the front, i have a jsp that needs to get hold of that attribute.
0
 
LVL 92

Accepted Solution

by:
objects earned 500 total points
ID: 17896675
use something like:

Object value = application.getAttribute(name);
0
 
LVL 39

Author Comment

by:blue-genie
ID: 17896695
objects, it returns a null, but the value is set when the server starts up - it's in the logs.
i'm thinking it doesn't know where the servletcontext is. so i have to set somethign to the rolms_front_dir bit, but then get another attribute.

i want to do something like this

Object value = pageContext.getServletConfig().getServletContext().getAttribute("rolms_front_dir").toString();
            out.println(value); //this prints out correctly
            TreeNode rootNode=(TreeNode)value.getAttribute("mediaLibRootTreeNode");

the other bit gives me a cannot resolve symbol

symbol  : method getAttribute (java.lang.String)
location: class java.lang.Object
            TreeNode rootNode=(TreeNode)value.getAttribute("mediaLibRootTreeNode");
0
How our DevOps Teams Maximize Uptime

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us. Read the use case whitepaper.

 
LVL 92

Expert Comment

by:objects
ID: 17897049
where exactly is that code?

>    TreeNode rootNode=(TreeNode)value.getAttribute("mediaLibRootTreeNode");

'value' is a string, it doesn't have a getAttribute method

do u mean:

TreeNode rootNode=(TreeNode) pageContext.getServletConfig().getServletContext().getAttribute("mediaLibRootTreeNode");
0
 
LVL 39

Author Comment

by:blue-genie
ID: 17897266
that code is in the jsp in the front bit

thing is the servlet is in the back, and the attribute gets set there, and i'm trying to access it from the front.
The web application has a administration section and a front view.
0
 
LVL 39

Author Comment

by:blue-genie
ID: 17898501
ok, part 2, we've managed to pull something back but...when we getClass().getName() returns TreeNode
but if we cast to TreeNode - throws a classcast exeptinon?
0
 
LVL 92

Expert Comment

by:objects
ID: 17902235
can u post your code
0
 
LVL 39

Author Comment

by:blue-genie
ID: 17904577
thanks objects.... appreciate it

my serlet on start up calls

treeNodeCreator.buildCourseListWithLearningProgramesAsTree(getServletContext());

the buildCourse... method does a whole bunch of things then at the end

servletContext.setAttribute("mediaLibRootTreeNode", rootNode);

in my jsp....

we've been fiddling around with this a bit, so might look a bit disjointed...

TreeNode rootNode = null;

try{
      TreeNode rootNode =getServletContext().getContext("/" + getServletContext().getAttribute("rolms_admin_dir")).getAttribute("mediaLibRootTreeNode");
} catch (ClassCastException ce) {
      out.println(ce.getMessage());
}
out.println("Object type: " + rootNode.getClass().toString());//returns TreeNode

i need what's returned by the servet attribute to be cast to the TreeNode so that i can access it's methods....

shout if this is still not enough.

            
            
0
 
LVL 92

Expert Comment

by:objects
ID: 17904600
there is no casting in that code??
0
 
LVL 39

Author Comment

by:blue-genie
ID: 17904832
yeah sorry
when we try TreeNode rootNode = (TreeNode)getServletContext().getContext("/" + getServletContext().getAttribute("rolms_admin_dir")).getAttribute("mediaLibRootTreeNode");

it throws the error.
0
 
LVL 92

Expert Comment

by:objects
ID: 17904861
> out.println("Object type: " + rootNode.getClass().toString());//returns TreeNode

that doesn't make sense, if u were getting a CCE then rootNode would be null and that line would not return TreNode
0
 
LVL 39

Author Comment

by:blue-genie
ID: 17904879
ok, like is said, we've been playing around with the code and putting out prints and trying all sorts of wierd stuff.

bottom line, when we return the attribute from the servlet attribute and do a getClass on it, it brings back TreeNode, however when we explicitly cast it to TreeNode it throws the exception.
0
 
LVL 92

Expert Comment

by:objects
ID: 17904912
if thats the case then they must be different TreeNode classes.
0
 
LVL 39

Author Comment

by:blue-genie
ID: 17904918
is that possible if they're both the same package and all?
0
 
LVL 39

Author Comment

by:blue-genie
ID: 17963232
managed to come right, thanks for your efforts anyway.
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Java DateChooser? 3 39
Windows 10 and JDK 7 7u85 4 43
map related example 6 50
Java: anonymous class 4 23
An old method to applying the Singleton pattern in your Java code is to check if a static instance, defined in the same class that needs to be instantiated once and only once, is null and then create a new instance; otherwise, the pre-existing insta…
This was posted to the Netbeans forum a Feb, 2010 and I also sent it to Verisign. Who didn't help much in my struggles to get my application signed. ------------------------- Start The idea here is to target your cell phones with the correct…
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.
This tutorial explains how to use the VisualVM tool for the Java platform application. This video goes into detail on the Threads, Sampler, and Profiler tabs.

825 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question