RequestDispatcher

I have a requirement in which I have two jspdynpage component
clickling a button on first  component A opens a new window through a java script .
this window in turn hold a new portal jspdynpage comonent B. The jsp of this component B has a button on clicking which I want componenet A to get refreshed.?? How can i achieve this
One way is epcm.donavigate, but it seems to open the iview of componenet A in a new browser window.
and that is what I dont want . I want my Iview to get refreshed on the same window
else I was trying if Request Dispatcher would solve the issue .
Here is the code, but it  seems to hang , I see a blabk screen on the window which hold component B when I invoke the functiion  below??? pls advise
PortalComponentRequest res = (IPortalComponentRequest)this.getRequest();
IPortalComponentResponse res1 = (IPortalComponentResponse)this.getResponse();
RequestDispatcher rd =res.getServletRequest().getRequestDispatcher("/irj/servlet/prt/portal/prtroot/testepcf.test1");
try {
     rd.forward(res.getServletRequest(), res.getServletResponse(false));

Hi Simon ,
Thanks for your reply.
Here is what I am doing .
i) Call a window in a javascript of component A.
ii) in the window on click of a button I write the following code
window.opener.CallAlert();
where CallAlert is a javascript function of component A.
This all works fine  in a simple portal application
However , I have a strange problem , I have a DC , portal standalone module type. It has some four components , say a b c d
when I implement the same functionality in these componenets , on clicking the close button ,
I get the I.E browser promt .Stack overflow at line:0.
Its really strange for exactly teh same code is working fine , when i use a simple portal application

Similar Messages

  • Unable to get RequestDispatcher for Context

    Eclipse 3.3.0
    Tomcat 6.0.16
    Java 1.5.0_13
    Mac OS X 10.5.6
    Greetings:
    I'm attempting to retrieve information cross context in my web application. I've attempted to enable cross context access by three means.
    - I've added "crossContext=true" to the <Context> element in the server.xml of the Tomcat configuration under the Servers project of my workspace.
    - I've added "crossContext=true" to the <Context> element in a META-INF/context.xml in the WebContent folder of my project.
    - I've added "crossContext=true" to the <Context> element of the context.xml file in the conf directory of the Tomcat installation directory.
    Yet despite these changes I'm still seeing "Unable to get RequestDispatcher for Context....Verify values and/or enable cross context access" in the console. What do I need to do to enable cross context access using Eclipse? Thanks for any help.
    ETA - I've had this working before. I believe that I upgraded to Tomcat 6 from Tomcat 5.5 and that's when the jstl cross context actions broke.
    ETA - I've got it working in Tomcat 6. The problem arises when I change the name of my webapplication from "foo" to ROOT inside eclipse. I want a jsp page in the ROOT web application to be able to access a servlet in the "bar" web application.
    Edited by: nantucket on May 17, 2009 2:17 PM
    Edited by: nantucket on May 17, 2009 2:26 PM

    Thanks for your reply evnafets.
    How many times do you declare your context???I know, I know... I got frustrated. :o)
    But seriously, since my post I've discovered that it is "working" but not in the manner I had expected within the IDE. That is, if I access the page at
    http://localhost:8080/ROOT/myPage.jspThen I can see the contents retrieved from the context bar. But if I use.
    http://localhost:8080/myPage.jspI can see that the page somehow has been deployed to the root context, but the error code 500 appears in place of where the content from the bar context should be.
    However, if I export war files for these two web applications and run them in Tomcat 6 outside of Eclipse, everything works as it should. So this is an eclipse issue with respect to deploying a web application to the root context. Maybe there is some configuration about that I must make somewhere.
    I hope that makes sense.
    Anyhow, the server.xml file contains the following..
    <Context crossContext="true" docBase="bar" path="/bar" reloadable="true" source="org.eclipse.jst.j2ee.server:bar"/>
       <Context crossContext="true" docBase="ROOT" path="/ROOT" reloadable="true" source="org.eclipse.jst.j2ee.server:ROOT"/>The jstl code in the jsp page accessing the context bar is the following.
    <c:import url='/helloworld?action=view' context='/bar' />

  • Difference between sendRedirect and RequestDispatcher?

    Difference between sendRedirect and RequestDispatcher?

    I have a situation of needing to redirect a request to a URL that is outside of the container. The scenario is the following, we have a simple logging in servlet that takes some POST parameters (username, password, and other values.) Depending on the username and password, the logon request along with all its POST parameters need to be redirected integrally to another machine. How do i do a redirect with all my parameters intact? sendRedirect does not seem to have any (visible to me) mechanism to do this. We cannot send them on the URL as this will reveal things too easily to our users and we don't want them to bookmark the resulting page.
    Thanks for any help,
    t

  • JSP form values lost upon servlet request (RequestDispatcher)

    Hello,
    I have a query screen (jsp) that calls a servlet and gets results. However, although the results or errors display just fine (I do a setAttribute for them), I lose the initial values in the query form (values that the user input - which are stored in the request object). Shouldn't those values be maintained and displayed, since I'm using the RequestDispatcher and thus, I should have the same request object? Thank you, C Turner
    *****My JSP (the related code)*****
    <jsp:useBean id="form" class="com.foo.ActivityBean" scope="session">
    <jsp:setProperty name="form" property="*"
    </jsp:useBean>
    <HTML>
    <BODY>
    <FORM ACTION="ActivityFormHandler" METHOD="POST">
    <P><B>From Date</B>
    <INPUT TYPE="TEXT" NAME="fromDate" SIZE="9" VALUE="<jsp:getProperty name="form" property="fromDate"/>">
    <P><B>To Date</B>
    <INPUT TYPE="TEXT" NAME="fromDate" SIZE="9" VALUE="<jsp:getProperty name="form" property="toDate"/>">
    *****Java from my HttpServlet, ActivityFormHandler (acting as a formhandler)*****
    if (errors.size() == 0) {
    ActivityBean myActivityBean = new ActivityBean();
    myActivityBean.setBeanQueryValues(acctNumber, department, fromDate, toDate);
    Vector resultsVector = null;
    try {
    resultsVector = myActivityBean.executeQuery();
    } catch (CreateException ce) {
    errors.add("There was a problem retrieving the requested data from the database.");
    request.setAttribute("results", resultsVector);
    } else {
    //Data is not okay.
    String[] errorArray = (String[])errors.toArray(new String[errors.size()]);
    request.setAttribute("errors", errorArray);
    RequestDispatcher rd;
    rd = getServletContext().getRequestDispatcher("/public_html/ActivityQuery.jsp");
    //rd.forward(request, response);
    rd.include(request, response);

    For those interested in my question, here's what I figured out.
    Instead of:
    <INPUT TYPE="TEXT" NAME="fromDate" SIZE="9" VALUE="<jsp:getProperty name="form" property="fromDate"/>">
    Use:
    <INPUT TYPE="TEXT" NAME="fromDate" SIZE="9" VALUE="<%out.print(request.getParameter("fromDate"));%>">
    This allows the input field to persist the query value instead of blanking it out when the results are displayed. -ct

  • Uses RequestDispatcher and it gives me a blank page

    Folks,
    I am tired of this problem.
    I am doing a shopping cart. When the user views (ViewChart, a servlet) his shopping cart and decides to delete some of the items.. his request will be handled by ProcessCart which is also a servlet. ProcessCart will not have any output to the user and it will forward the request (using RequestDispatcher) to ViewCart. It returns a blank page.
    ViewChart is not giving me any problem when i first access it. The request is forwarded successfully but ViewChart is unable to detect the request.
    ServletConfig config = this.getServletConfig();
    ServletContext context = config.getServletContext();
    RequestDispatcher rd = context.getRequestDispatcher("/ViewCart");
    rd.forward(request,response);
    Both ViewChart and ProcessChart are in the same directory. By the way, i am using tomcat 3.2.1
    Regards,
    Baihao

    Hi,
    Could you check the server.xml under conf for the following
    <RequestInterceptor
    className="org.apache.tomcat.request.InvokerInterceptor"
    debug="0" prefix="/servlet/" />
    if it is the case, may be you should use "/servlet/ViewCart" instead of "/ViewCart".
    Hope that it help.

  • Forwarding JSP page through requestdispatcher problem in submiting form

    Hello everyone,
    I am very much new to servlet.
    My problem is somewhat this....
    when i am forwarding one JSP page by requestdispather , there is no problem.But after that when i am trying to submit one html form written inside the jsp page , the request is not submiting the jsp page rather it resides in the servlet.
    The code in servlet is
    RequestDispatcher rd =getServletContext().getRequestDispatcher("/applyConfirm.jsp");
    rd.forward(request,response);
    Now in (applyConfirm.jsp )jsp page one button is there , so when i will click that button the page has to be submitted.But its not submitting rather the request resides in the servlet.
    Dose someone will have any idea.
    Thanks in advance

    First check what sort of button you are using. It should be of "submit" type.
    Check the URL to witch URL it is submitting i.e. Action property in <FORM> tag.
    Make sure for the URLs in the client i.e HTML ex: href, action, and so on use the thumb rule of prefixing "<%=request.getContextPath()%>/" in your JSP or in servlet add it in the java code.
    This should solve the relative URL reference problem.
    Hope this helps.
    Cheers.

  • Using a real file path to include a JSP using RequestDispatcher

    Hi,
    I am trying to figure out how to use RequestDispatcher inside a servlet to include a jsp page using a real file path instead of a context path. So for example I would want to do something like...
    RequestDispatcher rd = this.getServletContext().getRequestDispatcher("c:/tomcat/conf/think.jsp");
    Is this possible? tomcat is complaining that the path does not start with a "/"
    From a higher level I am trying to setup a solution where all of my web applications can share a set of global jsp pages and other resources. I know the easiest solution would be to put everything into one web application but this does not make sense in my situation because I have differnet web applications for different companies on the same server. Any help would be greatly appreciated. - krebsnet

    First of all...
    My test environment is Tomcat 4.1.24 and it runs on port 80 as my webserver as well.
    I can place the .jsp (or .html) in the shared folder. Not in the lib or class folders but right in the shared folder. I can then call it from multiple contexts without using the context path. Just tested it a minute ago. For example I have test.jsp in the shared folder and loaded it from two separate contexts (one named /demo and one named /inetapps) by calling Load test. It loaded in both of them and neither contain a test.jsp file.

  • How to use RequestDispatcher.forward method  in a portlet

    I have a servlet (HelloServlet2) that acts as the controller. This is a very simplified example. This servlet calls the dispatcher.foward(req, res) method to foward to a JSP page for displaying. At this point I get a FileNotFoundException. The HelloServlet2 is in the standard location WEB-INF/classes/com/a2i/industrial/servlet/HelloServlet2.java.
    How come it's looking in Industrial/servlet/HelloServlet2 instead of Industrial/WEB-INF/classes/..? If I access the servlet by http://host:port/Industrial/HelloServlet2, it works fine. I have another portlet (servlet) that doesn't call the forward method and it works fine too. Thanks for your help.
    Here is the web.xml:
    <servlet>
    <servlet-name>HelloServlet2</servlet-name>
    <display-name>HelloServlet2</display-name>
    <servlet-class>com.a2i.industrial.servlet.HelloServlet2</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>HelloServlet2</servlet-name>
    <url-pattern>/HelloServlet2/*</url-pattern>
    </servlet-mapping>
    Here is the calling code from HelloServlet2:
    public void doGet(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException
    RequestDispatcher dispatcher= getServletContext().getRequestDispatcher("/hello.jsp");
    dispatcher.forward(req, res);
    Here is the portlet definition:
    <portlet class="oracle.portal.provider.v2.DefaultPortletDefinition">
    <id>2</id>
    <name>HelloServlet2</name>
    <title>Hello Servlet2</title>
    <shortTitle>Hello Servlet2</shortTitle>
    <description>This is the "hello world" sample implemented using Java Servlets and the extensible renderer architecture.</description>
    <timeout>10000</timeout>
    <timeoutMessage>Hello Servlet timed out</timeoutMessage>
    <acceptContentType>text/html</acceptContentType>
    <renderer class="oracle.portal.provider.v2.render.RenderManager">
    <contentType>text/html</contentType>
    <autoRedirect>true</autoRedirect>
    <showPage>/servlet/HelloServlet2</showPage>
    </renderer>
    </portlet>
    Here is the stack trace:
    7/15/03 10:43 AM industrial: JspServlet: unable to dispatch to requested page: java.io.FileNotFoundException: C:\ora9iasp\j2ee\OC4J_Portal\applications\_industrial\industrial\servlet\HelloServlet2 (The system cannot find the path specified)
         at java.io.FileInputStream.open(Native Method)
         at java.io.FileInputStream.<init>(FileInputStream.java:64)
         at oracle.jsp.provider.JspFilesystemResource.fromStream(JspFilesystemResource.java:153)
         at oracle.jsp.provider.JspFilesystemResource.fromReader(JspFilesystemResource.java:169)
         at oracle.jsp.runtimev2.JspPageCompiler.fromReader(JspPageCompiler.java:345)
         at oracle.jsp.runtimev2.JspPageCompiler.attemptCompilePage(JspPageCompiler.java:250)
         at oracle.jsp.runtimev2.JspPageCompiler.compilePage(JspPageCompiler.java:171)
         at oracle.jsp.runtimev2.JspPageInfo.compileAndLoad(JspPageInfo.java:338)
         at oracle.jsp.runtimev2.JspPageTable.compileAndServe(JspPageTable.java:481)
         at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:255)
         at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:407)
         at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:330)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:59)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:523)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:269)
         at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:219)
         at com.a2i.industrial.servlet.HelloServlet2.doGet(HelloServlet2.java:21)
         at com.a2i.industrial.servlet.HelloServlet2.doPost(HelloServlet2.java:14)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:283)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:59)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:523)
         at com.evermind.server.http.ServletRequestDispatcher.include(ServletRequestDispatcher.java:108)
         at oracle.portal.provider.v2.render.http.ResourceRenderer.renderBody(Unknown Source)
         at oracle.portal.provider.v2.render.RenderManager.render(Unknown Source)
         at oracle.portal.provider.v2.DefaultPortletInstance.render(Unknown Source)
         at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.showPortlet(Unknown Source)
         at oracle.webdb.provider.v2.adapter.soapV1.ProviderAdapter.handleHttp(Unknown Source)
         at java.lang.reflect.Method.invoke(Native Method)
         at oracle.webdb.provider.v2.adapter.SOAPServlet.doHTTPCall(Unknown Source)
         at oracle.webdb.provider.v2.adapter.SOAPServlet.service(Unknown Source)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:336)
         at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:59)
         at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:283)
         at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:523)
         at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:269)
         at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:735)
         at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:151)
         at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:64)
    7/15/03 10:43 AM industrial: ERROR: ResourceRenderer.renderBody - Resource "/servlet/HelloServlet2" returned HTTP Status: 404. Error message: OracleJSP:
    java.io.FileNotFoundException: C:\ora9iasp\j2ee\OC4J_Portal\applications\_industrial\industrial\servlet\HelloServlet2 (The system cannot find the path specified). Content returned follows....

    Thanks for you help David. I changed my code from getServletContext().getRequestDispatcher(jspPage).forward(req, res) to getServletContext().getNamedDispatcher(jspPage).forward(req, res). It worked but I run into the same problem with jsp:include.
    I am using the July 2003 of the PDK. I followed the direction for installing version 2 but I did not redeploy with the new jpdk.ear since one was already deployed. After redeploying with the new jpdk.ear, it fixed the jsp:include problem I was having. The problem with using getServletContext().getRequestDispatcher(jspPage).forward(req, res) STILL exist. I am not sure what the deal is.
    Oh, I also tried the code below and it doesn't work.
    path = req.getContextPath() + jspPage
    getServletContext().getRequestDispatcher(path).forward(req, res)
    In any case, using getNamedDispatcher() is working fine. I am still curious about getRequestDispatcher() though.

  • Question re. RequestDispatcher - can I include a target fragment?

    Hi
    I have a web page with 2 forms:
    Log in
    Register
    If the user submits invalid data, the controller servlet uses 'RequestDispatcher.forward()' to re-display the page.
    Is there some way to also specify a specific portion of the page? For example:
    some_url/home.jsp#registerIn other words, I would like to automatically display the relevant form on the page.
    I tried this:
    RequestDispatcher.forward("WEB-INF/jsp/home.jsp#register");The server returns this error message:
    The requested resource (/WEB-INF/jsp/home.jsp#register) is not availablePresumably, the target fragment muddles things up.
    Is there some other way to do this? I would obviously prefer not to use a 302 redirect - if possible. :)
    Thanks
    Pete

    The #fragment is a client side indicator only, and means nothing to the server.
    The way to do this would be to break your two forms into two (or three) separate JSPs.
    1) Login.jsp displays the Login form
    2) Register.jsp displays the Register form
    3) Signin.jsp <jsp:include>s both the Login and Register JSPs
    Then when you get the invalid data you would forward to PleaseRegister.jsp which just <jsp:include> the Register.jsp (inside the rest of the HTML you might want to display), and it would be this PleaseRegister.jsp that you forward to.

  • Use link instead of RequestDispatcher to forward session objects

    I have objects that I pass from a Servlet to JSP using RequestDispatcher type. Now, I was wondering if I can do the same with a link but not sure how I do that:
    Servlet called MyServlet.java (or MyServlet in web.xml mapping):
    String firstname = request.getParameter("firstname");
    String lastname = request.getParameter("lastname");
    String city= request.getParameter("city");
    String state= request.getParameter("state");
    HttpSession session = request.getSession();
    session.setAttribute("firstname", firstname);
    session.setAttribute("lastname", lastname);
    session.setAttribute("city", city);
    session.setAttribute("state", state);
    RequestDispatcher dispatcher = getServletContex ().getRequestDispatcher("start.jsp");
    dispatcher.forward(request, response);
    ...The above servlet automatically goes to the JSP and shows the firstname,lastname, city and state values that were submitted from a form. What is the equivalent of the RequestDispatcher where I can put a link instead so the user can click on the link and that will take them to the JSP with the session values:
    This is not working because takes to a null error page:
    response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
                                            "Transitional//EN\">\n" +
                    "<HTML>\n" +
                    "<HEAD><TITLE>Hello WWW</TITLE></HEAD>\n" +
                    "<BODY>\n" +
                    "<p><a href="MyServlet">Link to JSP</a></p>\n" +
                    "</BODY></HTML>");
    .....Please advise.

    Not quite sure I understood what you're trying to do...do you want that when the user clicks on a link, he/ she should be taken to your JSP via MyServlet?
    If so, then your link simply needs to point to the URL that MyServlet is mapped to.
    For example, if your web.xml has the entry:
    <servlet-mapping>
        <servlet-name>MyServlet<servlet-name>
        <url-pattern>/MyServlet</url-pattern>
    </servlet-mapping>...then your servlet can be accessed at http://[servername]/[context]/MyServlet. So your link needs to point to this, just like it would for other resources like JSPs or HTML pages.
    So the line should be:
    <a href="/MyServlet">Link to JSP</a> //the exact href value will depend on where you are in your web-app directory structure and how you want to link to your servletAlso, note that you're breaking the String with unescaped quotes.

  • Error While using RequestDispatcher.forward

    Hi All,
    I am getting an error while i am forwarding a request from a controller servlet to a JSP in WAS 3.5.
    i am using the following code:
    String url = "../gede/globalservices/SCSLogin.jsp";
    RequestDispatcher rd = getServletConfig().getServletContext().getRequestDispatcher(url);
    rd.forward(request, response);
    The error i get is :
    Error 404
    An error has occured while processing request:http://teamsite-cwc-review.indsys.ge.com/cwc/servlet/com.geindsys.gede.globalservices.SCSControllerServlet
    Message: [JSP 1.0 Processor] reported an error
    i was able to get the same while using response.SendRedirect(url);
    Please help..
    Thanks in Advance..
    Regards,
    Ravi.

    Looks like your JSP is throwing an exception. Check the logs in your server to find the details about it. (Was there an XML question here? I couldn't see one.)

  • Error While using RequestDispatcher.forward --URGENT!!!

    Hi All,
    I am getting an error while i am forwarding a request from a controller servlet to a JSP in WAS 3.5.
    i am using the following code:
    String url = "../gede/globalservices/SCSLogin.jsp";
    RequestDispatcher rd = getServletConfig().getServletContext().getRequestDispatcher(url);
    rd.forward(request, response);
    The error i get is :
    Error 404
    An error has occured while processing request:http://teamsite-cwc-review.indsys.ge.com/cwc/servlet/com.geindsys.gede.globalservices.SCSControllerServlet
    Message: [JSP 1.0 Processor] reported an error
    i was able to get the same while using response.SendRedirect(url);
    Please help..
    Thanks in Advance..
    Regards,
    Ravi.

    I think the problem is in the ".." part of your url.
    If you have a webapp named cwc in the webapps/cwc directory and in this webapp in there is a file SCSLogin.jsp under webapps/cwc/gede/globalservices you should use a URL:
    String url = "/gede/globalservices/SCSLogin.jsp";

  • Servlet to Jsp RequestDispatcher Problem

    Hi All,
    I have come across a problem that wont allow me to post from a servlet to a jsp file.
    Here is the code im using. When i try to run it an internal error occurs.
    RequestDispatcher dispatcher;
    dispatcher = request.getRequestDispatcher("/Catalogue.jsp");
    dispatcher.forward(request, response);
    For some reason the dispatcher.forward(resquest, response) doesnt work.
    Can any one help me please?

    What happens? Do you get an error message in the browser? In your servlet log? If so, what's the error message. If not, what's the behavior like?

  • Problem with forward using RequestDispatcher

    Dear All
    Below is my code, which trying to use the RequestDispatcher.forward to go from a Servlet to a .jsp page.
    and use
    getServletContext().setAttribute("SvBio",vBio);
    to set an attribute
    It compiles finely but stuck at the forward request to the jsp page and through an exception which is given below.
    BUT on removing this statement
    getServletContext().setAttribute("SvBio",vBio);
    from my doget method , it works and forwrds to the next page
    please help me identifying the problem
    Thanks
    NAV
    ////Part of CODE////////////////
    Vector vBio;
    public void init()
    // vector vBio initialize in init()
    public void doGet(HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException
    getServletContext().setAttribute("SvBio",vBio);
    if(param1 == bio)
    gotoPage("/jsp_pages/bio_gp.jsp", request, response);
    private void gotoPage(String address, HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(address);
    if(dispatcher !=null)
    dispatcher.forward(request, response);
    ///exception//////////////////
    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
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:254)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
         at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
         at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
         at nav.gotoPage(nav.java:363)
         at nav.doGet(nav.java:319)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
         at java.lang.Thread.run(Thread.java:595)
    root cause
    java.lang.NullPointerException
         at org.apache.jsp.bio_gp_jsp._jspService(bio_gp_jsp.java:59)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
         at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)
         at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)
         at nav.gotoPage(nav.java:363)
         at nav.doGet(nav.java:319)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
         at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781)
         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549)
         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:589)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
         at java.lang.Thread.run(Thread.java:595)
    Apache Tomcat/4.1.29-LE-jdk14

    Thanks evnafets
    I find out null pointer assignment in jsp page where forward request was heading.
    There is one more question, if you help me a better understanding the issue
    I have a HTML page invokes the servlet by passing value of parameter, Servlet do some procesing and forward to JSP page depending on the incoming parameter,
    Can JSP page invoke the same servlet by passing some other parameter?
    I tried doing this, but it returns an empty page and didnt went back to servlet.
    HTML Page ---->Servlet--------> JSP page ---------> Servlet
    I think Forward method shift the control from the Servlet to JSP page and now its the responsibility of the jsp page to deliver the response to the client.
    Am i getting the empty page on invoking the servlet from the JSP page because I have not deliver the response to the client?
    ///the code of the JSP page is as fallows///
    <html>
    <head>
    <meta http-equiv="Content-Language" content="en-us">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>NAVTITLE</title>
    </head>
    <body link="#0000FF" vlink="#0000FF" alink="#0000FF">
    <td height="340" width="977">
    <p align="center"><font size="8" color="#001000"><b>biomolecular group           page</b></font></p>
    <%@page import="java.util.Vector"%>          
    <% Vector vBiopt = (Vector)getServletContext().getAttribute("SvBio");     
    out.println("\nThe size of vBio is ::"+vBiopt.size());
    int n = vBiopt.size();
    %>
    <p>This is the dynamic page generated for the biomolecular group</p>
    <%
    for(int k=0;k<n;k++)
    String href1 ="http://localhost:8080/nav/nav2?param2=";
    String item = (String)vBiopt.elementAt(k);
    out.println("<p><a href= \"" + href1 + k + "\">" + item + "</a></p>");
    %>
    </body>
    </html>

  • RequestDispatcher.include and "server-side" include

    I have the following code in a servletA. It will dispatch a servletB within the same webapp. As a result, response content of servletB is included to a original servlet's response. Then servletA can add more data to a response before data is sent back to a client.
    servletB is called from client-side as normal, and then inside the servletA.
    Problem and Question to You:
    If I call servletB within servletA, then responses of these two servlets are merged together. This is a problem here.
    How can I dispatch servletB >>but then do not want to include<< that response data, but skip it. Only the response of servletA should be sent back to a client?
    RequestDispatcher dispatcher =
      getServletContext().getRequestDispatcher("/servlet/testServlet?id=AA");
    dispatcher.include(
      new HttpServletRequestWrapper(env.getRequest()),
      new HttpServletResponseWrapper(env.getResponse())
    );

    Thx and yes, you got it right. Due to a (bad) design, I cannot separate a logic to a standalone bean from servletB and then use that bean. So, I must call it through a url-dispatcher.
    If I'm right, I cannot take a reference to servlets from SessionContext object due to a deprecated-and-not-implemented getServlet method.
    I was hoping, that using a WrapperXXXX class would solve my problem but it did not. I am not sure about why and when should one use that WrapperXXX classes anyway in a dispatcher calls.
    Anyone has a good ideas?

Maybe you are looking for