Invoking JSP from custom Servlets
I am building a Servlet on Tomcat. The path to access this is "/"; so basically any HTTP request made to Tomcat will pass it through to my Servlet.
There are a few cases were I would like the default JSP Servlet to parse a JSP page, however I am unable to instantiate it. Is there a way to do this?
Thanks,
Jeremy
You could always make a URL request. That's probably the only way
Similar Messages
-
Accessing String assigned in a JSP from a Servlet?
Hello all, I was wondering if there is a way to access a String object that was assigned by an HttpSession object in a JSP from a Servlet. What happens is, in my application a user logs in, an HttpSession object is instantiated and all of the user credentials are assigned within a JSP like:
HttpSession httpSession = request.getSession( false );
String userName = httpSession.getAttribute("userName);
...{code}
Next, I have a Servlet (which is really just a Proxy to a different server), that I need to log some information with, namely the userName String. Is there a way I can access that String without instantiating another HttpSession object? Because when the timeout occurs (or when the user clears his cache I have found), the HttpSession becomes invalidated (even if I use +HttpSession#getSession( true )+) and the +HttpSession#getAttribute+ call fails (userName is just null). So is this possible to do?
Thanks in advance!dnbphysicist wrote:
I understand you cannot recover attributes from a dead session, this is why I wanted to be able to access a variable that is pulled from the Session immediately after login so I can still get to it even once the session is dead.
Normally a session doesn't go dead after login.
I imagine that by using application scope the app would confuse the userName with other users that are logged in?Certainly. It was just an example. But your data clearly belongs in the session, so just keep it in the session. If the session get invalidated while it should not get invalidated, then your problem truly lies somewhere else.
I am definitely not arguing you latter point either :) A lot of this code I inherited unfortunately from previous developers and we are in desperate need of a redesign.I wish you much luck with that. -
Generating the JSP from the Servlet source file
Hi,
Does anyone out there know if there is any utility/class/program which will generate a JSP from the Servlet Source file (.java file) or indeed from the compiled Servlet file (.class file)
If its possible to decompile a .class file into a .java file, surely it must be possible to convert the .java souce file into the .jsp file that created it.
any comments would be appreciated
RichardI am the author of the original JSP!
But I want to run a script on the generated Servlet source file,
changing its contents, and then generate the JSP that would have created the new Servlet source file.
but I need to know if theres anything that will reverse engineer a Servlet source into the generating JSP.
its a kind of of Jeopardy type thing! -
Executing a jsp from a servlet
Hello all
I am a starter to JSP.
In an application I am developing, I have a servlet which receives a request from a form. If the user asks for a tabular representation of data (from the database), I want to use a JSP to display such a table since that way, I do not have to write all those out.printlns used in a servlet.
So is there a way to either pass control to a jsp from a servlet? I want to pass a hashtable and some data to the jsp from the servlet.
Please help with possible suggestions and code.
thanks a lot....
Mahesh :)There is the RequestDispatcher object to forward request to another resource (as servlet or jsp).
If in your servlet you code:
RequestDispatcher rd=getServletContext().getRequestDispatcher("your JSP URL");//instantiate a RequestDispatcher object
//sets Hastable as request attribute
request.setAttribute("yourAttributeName",yourHashtableName);
rd.forward(request,response);//forwards control to jsp
In your JSP you will retrieve Hashtable by following code:
Hastable ht=(Hashtable)request.getAttribute("yourAttributeName"); -
Forms applet does not load when request forwarded from custom servlet
I have an existing forms app that I wish to call from a newly-developed servlet. The servlet determines which form to call and then forwards the request to the forms servlet using RequestDispatcher.forward().
The request is forwarded correctly but when it is done all I see is a blank browser (IE7) window. When I View Source I see all the correct HTML code (from basejpi.htm) but it seems my browser does not attempt to load the forms applet. No messages are displayed in the Java Console. This is the same HTML that comes back if I run the forms app directly, e.g. click a link that goes straight to the forms servlet URL, only in that case the forms app starts up fine.
Anyone know why this does not work?Figured out what is going on:
In basejpi.htm there is "<SCRIPT LANGUAGE=JavaScript SRC=java/forms_ie.js>" that creates an OBJECT tag to load the forms applet. I believe since the context of my custom servlet is different than that of the forms servlet, forms_ie.js is not found when the request is forwarded from my servlet.
One question answered raises another. There is also an OBJECT tag inside a NOSCRIPT tag for machines where scripting has been disabled:
<!-- Forms applet definition (start) -->
<NOSCRIPT>
<OBJECT name=FormsApplet
type="application/x-java-applet"
...>
</NOSCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="java/forms_ie.js"></SCRIPT>
My thinking is to remove the NOSCRIPT tag, and also the SCRIPT tag mentioned above, so all machines will simply see the OBJECT tag, like so:
<!-- Forms applet definition (start) -->
<OBJECT name=FormsApplet
type="application/x-java-applet"
...>
This makes me wonder why the SCRIPT option is there to begin with. Anyone see a downside to this approach?
Kevin -
How many ways you can invoke JSP from OBPM
Hi All,
I just wanted to know how many ways we can invoke JSP Page from BPM.
1. BPM Interactive component call
2. ?.
Thanks
Sunil.When you are using a jsp, its for user interaction only. and in any case, you require interactive component call.
this is the only way you can use a jsp in OBPM.
However, in a bpm interactive activity - you can also choose external as implementation type.
For this, you need to have your jsp source code reference added as an external resource in the project and the external resource is to be specified at configuration while setting implementation type.
HTH
Sharma -
Passing parameter to a jsp from a servlet
Hi,
I need to pass a parameter from a servlet to a jsp without using the session object. Is it possible? I've been looking for a method like response.setParameter but it doesn't exist.
Please help !!!Actually, there is no setParameter method in the ServletRequetsObject. Still, you can create one. This can be usefull when you have a jsp that get its parameters from either a direct html form posting or a forward from a servlet. This can be achieved using wrappers, instead of the real request object.
It's not really tricky, it's only a little "underknown" feature.
Here is a sample code when you can fake the settings of requets parameters :
public class MyRequest extends HttpServletRequestWrapper {
private HashMap fakedParameters;
public MyRequest(HttpServletRequest nested) {
super(this);
fakedParameters=new HashMap();
public void setParameter(String key,String value) {
fakedParameters.put(key,value);
public String getParameter(String name) {
String res=fakedParameter.get(name):
if (res==null)
res=super.getParameter(name);
return res;
}NB: this is a sample, you may also override other method (such as getParameterNames) for a full featuerd wrapped request.
Now, you can use your wrapped request :
MyRequest req2=new MyRequest(request);
RequestDispatcher dispatcher=request.getRequestDispatcher("/somePage.jsp");
req2.setParameter("name","yourName");
dispatcher.formard(req2,response);Hope it helps. -
Hi!
I am not able to open jsp files from the Java Web Server2.0. I place the jsp files in the public_html folder, the java and class files in the classes folder. I have also downloaded a few sample files which seem to work fine, so there is no problem with the server. Can someone help me out please?Solution 1 : Click on admin option and go to site and type servlets instead of public_html.
Copy all ur files jsp and html and store it in this folder.
Restart ur JWS 2.0.
create one file aa.jsp. Store it in servlets folder.
At ur browser type http://localhost:8080/aa.jsp.
The page will be displayed -
We have a requirement to Invoke Standard ESS WD Java components from a custom WD Abap component.
We want to pass PERNR as a parameter to Standard WD J components and use them
Basic idea is to give a Custom WD A page to HR Support with an option to search for PERNR and use this PERNR to invoke a standard WD J ESS Component.
Has anyone attempted this logic before?
Is this achievable? What are the steps we need to follow to meet this requirement?Hi
Why you are involoving Java component ,complete environement could be possible in ABAP itself or java.
Other way are : download old ess package (1.3.9) extract that and configure that (For java only)
same (1.4.2) same (For ABAP )
Best Regards
Satish Kumar -
Forward to a specific area of a jsp from a servlet
I know I could use request.sendRedirect("/myjsp.jsp#content") but this method doesn't transfer the request object. I need the attributes stored in the request object.
Is this possible without using a redirect?
Thanks for your help.refer RequestDispatcher()
u get solution -
'Class Cast Exception' while invoking a EJB from a Servlet
Hi,
I am working on J2EE applications.I am using Webgain studio and weblogic server.I
got a problem while invoking EJB from the servlet.
While calling an EJB from the servlet, it is giving that "Class Cast Exception".This
is because, the remote home reference is not able to type casted to the"Home Interface"
of the EJB, even if I type casted explicitly. It is creating the context and able
to identify the EJB with the JNDI name.
Could please help me in solving this problem.I am pasting the code here.
Thanks in advance,
Dharma
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
resp.setContentType("text/html");
PrintWriter out = new PrintWriter(resp.getOutputStream());
try
Context context=getInitialContext();
Object reference=context.lookup("ArlProjContractorAppletSession");
ArlProjContractorAppletSessionHome home=(ArlProjContractorAppletSessionHome)PortableRemoteObject.narrow(reference,ArlProjContractorAppletSessionHome.class);
//Exception is occuring in the above statement. It is unable
//to cast to the home interface
ArlProjContractorAppletSession the_ejb=null;
try
the_ejb=home.create();
System.out.println("the_ejb = " + the_ejb.toString());
catch(Exception e)
e.printStackTrace();
catch(Exception e)
e.printStackTrace();
// to do: code goes here.
out.println("<HTML>");
out.println("<HEAD><TITLE>Contractor TimeTracker</TITLE></HEAD>");
out.println("<BODY>");
// to do: your HTML goes here.
out.println("</BODY>");
out.println("</HTML>");
out.close();
I came across this kind of problem once. My problem went away after I upgraded
from 5.1 SP6 to 5.1 SP8.
"Dharma" <[email protected]> wrote:
>
>Hi,
>
>I am working on J2EE applications.I am using Webgain studio and weblogic
>server.I
>got a problem while invoking EJB from the servlet.
>
>While calling an EJB from the servlet, it is giving that "Class Cast
>Exception".This
>is because, the remote home reference is not able to type casted to the"Home
>Interface"
>of the EJB, even if I type casted explicitly. It is creating the context
>and able
>to identify the EJB with the JNDI name.
>
>Could please help me in solving this problem.I am pasting the code here.
>
>Thanks in advance,
>Dharma
>
>
>public void doGet(HttpServletRequest req, HttpServletResponse resp)
> throws ServletException, IOException
> {
> resp.setContentType("text/html");
> PrintWriter out = new PrintWriter(resp.getOutputStream());
>
> try
> {
>
> Context context=getInitialContext();
>
> Object reference=context.lookup("ArlProjContractorAppletSession");
>
> ArlProjContractorAppletSessionHome home=(ArlProjContractorAppletSessionHome)PortableRemoteObject.narrow(reference,ArlProjContractorAppletSessionHome.class);
>
>//Exception is occuring in the above statement. It is unable
>//to cast to the home interface
>
> ArlProjContractorAppletSession the_ejb=null;
>
> try
> {
> the_ejb=home.create();
>
> System.out.println("the_ejb = " + the_ejb.toString());
>
> }
> catch(Exception e)
> {
> e.printStackTrace();
> }
> }
> catch(Exception e)
> {
> e.printStackTrace();
> }
> // to do: code goes here.
>
> out.println("<HTML>");
> out.println("<HEAD><TITLE>Contractor TimeTracker</TITLE></HEAD>");
> out.println("<BODY>");
>
> // to do: your HTML goes here.
>
> out.println("</BODY>");
> out.println("</HTML>");
> out.close();
> }
>
>
>
>
>
-
I have three "div" tags in index.jsp ,
<div id='header'></div>
<div id='body'></div>
<div id='footer'></div>
Now when window is loaded i want other jsp page to be set in the "body" div tag of index.jsp from javascript
My javascript code
function invokeJSP(){
document.getElementById('body').innerHTML="<jsp:include page='test.jsp'>'";
when I am including this code in <head > part of index.jsp its working the problem is if at all
In test.jsp
if i try to include this line
<% = request.getParameter("name")%>
its giving an error like "unterminated literal string" in javascript console
Can anyone help me how to set the jsp from javascript
Sorry for my bad english.This is the first time I am posting the forum
thanks
hemahi
Thanks for the response
but i have closed the tag in my program. Have u ever tried to invoke jsp from javascript in this way if it works plz help me.
thanks hema -
Opening a seeded OAF page from custom JSP page.
Hi All,
We have requirement to open a seeded OAF page from custom JSP page.
When we try to open URL of an OAF page after passing URL input parameters, we are always getting following error:
'You have insufficient privileges for the current operation. Please contact your System Administrator.'
On directly accessing the seeded OAF page, its encoding all the input parameters passed in URL. Also some more encoded parameters are getting added to the URL dynamically.
Is there any standard way exists to invoke seeded OAF pages without passing encrypted parameters to it? Also where can we get more details about
encrypting OAF URL parameters.
Any pointers would be appreciated.
Thanks in advance!
SaurabhHave you duplicated entire Customer Service module's menu in your responsibility?
or Also ping me the menu name..
--Prasanna -
Invoking a webservice from a servlet
Hi,
I am able to invoke a webservice using a Standalone java program. I am using the below command to invoke the web service.
java com.javasrc.webservices.age.AgeServiceClient -lhttp://localhost:8080/axis/services/AgeService "Siva" 33
Now if I write the whole code in a method I am not able to retreive the values into the servlet. Can any please suggest me how to invoke a web service from a servlet/JSP. Please tell if there any sites for this.
Here is my Client code:
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.utils.Options;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
public class AgeServiceClient
public static void main(String [] args)
try
Options options = new Options(args);
String endpointURL = options.getURL();
String name;
Integer age;
args = options.getRemainingArgs();
if ((args == null) || (args.length < 2))
name = "NoName";
age = new Integer( 0 );
else
name = args[ 0 ];
age = new Integer( args[ 1 ] );
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpointURL) );
call.setOperationName( new QName("http://age.webservices.javasrc.com", "age") );
call.addParameter( "arg1", XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter( "arg2", XMLType.XSD_INT, ParameterMode.IN);
call.setReturnType( org.apache.axis.encoding.XMLType.XSD_STRING);
String ret = (String) call.invoke( new Object[]{name,age});
System.out.println("Age result : " + ret);
catch (Exception e)
System.err.println(e.toString());
Thanks in advance
PrashanthThis is very simple maybe you don't have servlet experience.
Simply you create a servlet and put your client main method in another one (not static method) + importing jar of your client and other associated jar files in WEB_INF\lib folder of servlet.
check for helloworld servlet then you can implement servlet for your client. -
WebLogic Server 7.0: Including another JSP from within a custom tag
Hi all,
has anyone made experience with including (ie. processing) a dynamic
resource (JSP) from within a custom JSP tag?
Using the following code inside doEndTag():
pageContext.include("/templates/blub.jsp");
throws a ServletException (Note: the JSP is a part of the web app
which is deployed as war). Does it make a difference if the web
application is warred up into and therefore include cannot resolve the
specified relative URL?
[Tomcat 4.1.10 doesn't have problems for that matter]
The full stack trace is:
javax.servlet.ServletException: java.lang.NullPointerException
at com.foo.taglibs.template.InsertTag.doEndTag(InsertTag.java:55)
at jsp_servlet._models.__index._jspService(__index.java:774)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:945)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:332)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:376)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:242)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5360)
at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:721)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3043)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2468)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
TIA,
niko.
Try the same code from an exploded web app.
Niko Schmuck wrote:
> Hi all,
>
> has anyone made experience with including (ie. processing) a dynamic
> resource (JSP) from within a custom JSP tag?
>
> Using the following code inside doEndTag():
>
> pageContext.include("/templates/blub.jsp");
>
> throws a ServletException (Note: the JSP is a part of the web app
> which is deployed as war). Does it make a difference if the web
> application is warred up into and therefore include cannot resolve the
> specified relative URL?
> [Tomcat 4.1.10 doesn't have problems for that matter]
>
> The full stack trace is:
>
> javax.servlet.ServletException: java.lang.NullPointerException
> at com.foo.taglibs.template.InsertTag.doEndTag(InsertTag.java:55)
> at jsp_servlet._models.__index._jspService(__index.java:774)
> at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
> at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:945)
> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:332)
> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:376)
> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:242)
> at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:5360)
> at weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManager.java:721)
> at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3043)
> at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2468)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
>
> TIA,
> niko.
Rajesh Mirchandani
Developer Relations Engineer
BEA Support
Maybe you are looking for
-
Adobe CS3 Upgrade on 2.4 GHz MacBook Pro
I am planning to purchase the new generation MacBook Pro in about a month. My question is about Adobe CS3. I currently use CS2 on an older G4 PowerBook because I could not deal with the performance dip on the older MacBook Pro (1.83 GHz with 512MB RA
-
i am trying to get help with WMPlayer tech support Adobe Reader cant open wmpsupport.htm files why?
-
Dynamic create Component usage and embed it in view container
There is a view_container_uielement VC_TEST in view V_MAIN, in wd component ZTEST. I created a web dynpro component named ZWDR_TEST and add it into the wd component ZTEST. gr_comp_test = component->create_cmp_usage_group( name = 'TEST_GROU
-
How do i add a PDF file for download on a WIX created website?
Hi guys, Im trying to add a PDf file to my WIX site http://www.babywearonline.com.au but with no luck. Has anyone had experience with WIX and PDF before? Many Thanks in advance!
-
my white macbook is cracking where the lid closes on it. is there some type of warranty for this? it is still under the extended 3 yr warranty...