You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by Sasi B <B....@sisl.co.in> on 2002/02/27 10:50:35 UTC

How to Invoke Servlet

>  Hai EveryBody
>  
>  Recently i have installed JetSpeed. I would like to invoke a Servlet
> using ServletInvokerClass. but it is not taking the servlet class  file,
> it is showing blank page. where can i put the servlet .class file. Here I
> am sending the code. please suggest me.
>  
>  
>  1. ServletInvoker1.java which is under <JetSpeed-Home>/web-inf/classes
>  
>  public class ServletInvokerPortlet1 extends AbstractPortlet
>  {
>  
>      public ServletInvokerPortlet1()
>      {
>      }
>  
>      public ConcreteElement getContent(RunData rundata)
>      {
>          org.apache.jetspeed.portal.PortletConfig pc = getPortletConfig();
>          String servletURL = null;
>          try
>          {					
>              servletURL = getPortletConfig().getInitParameter("url");	
>              return new EcsServletElement(rundata, servletURL);   //
> Invoking The Servlet File Here.
>          }
>          catch(Exception e)
>          {
>              String message = "ServletInvokerPortlet: Error invoking " +
> servletURL + ": " + e.getMessage();
>              Log.error(message, e);
>              return new StringElement(message);
>          }
>      }
>  }
>  
>  2. The Servlet File which is also in the same directory as
> <JetSpeed-Home>/web-inf/classes
>  
> public class TestServlet extends HttpServlet
>  {
>  
>  	public void doGet(HttpServletRequest req, HttpServletResponse res)
> throws IOException,ServletException
>  	{	
>  		res.setContentType("text/html");
>  		PrintWriter out = res.getWriter();
>  		out.println("<HTML><HEAD><TITLE>");
>  		
>  		out.println("</TITLE></HEAD><BODY>");
>  		out.println("<H1> Hello</H1>");
>  		out.println("<P>This is output from SimpleServlet.");
>  		out.println("</BODY></HTML>");
>  		out.close();
>  
>  	}
>  }
>  
>  3. The Registry file  which is under <JetSpeed-Home>/web-inf/conf
>  
>  
>  <?xml version="1.0" encoding="UTF-8"?>
>  
>  <registry>
>  
>  <portlet-entry name="TestServlet" hidden="false" type="ref"
> parent="Servlet" application="false">
>      <meta-info>
>          <title>TestServlet</title>
>          <description>Test Servlet </description>
>      </meta-info>
>      <classname>ServletInvokerPortlet1</classname>	
>      <parameter name="url"
>              value="/TestServlet" hidden="false"/>
>  <media-type ref="html"/>
>  </portlet-entry>
>  
>   </registry>
>  
>  
>  please suggest me .where to put the servlet file.
[Sasi B]  


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: How to Invoke Servlet

Posted by Ozgur Balsoy <ba...@grids.ucs.indiana.edu>.
You either have a class name or a parent. Your registry must look
similar to this:

    <portlet-entry name="Servlet" hidden="false" type="abstract"
application="false"> 
	<classname>ServletInvokerPortlet1</classname>
    </portlet-entry>
    <portlet-entry name="TestServlet" hidden="false" type="ref"
        parent="Servlet" application="false">
        <meta-info>
            <title>Servlet</title>
            <description>Servlet</description>
        </meta-info>
        <parameter name="url" value="/TestServlet" hidden="false"/>
        <media-type ref="html"/>
    </portlet-entry>

Both the ServletInvokerPortlet1 and TestServlet must be in the root of
web-inf/classes in your case.

Define your servlet in web.xml as well. Search the mail archive for more
details.

Ozgur

-----Original Message-----
From: Sasi B [mailto:B.Sasi@sisl.co.in] 
Sent: Wednesday, February 27, 2002 4:51 AM
To: 'jetspeed-dev@jakarta.apache.org'
Subject: How to Invoke Servlet

>  Hai EveryBody
>  
>  Recently i have installed JetSpeed. I would like to invoke a Servlet
> using ServletInvokerClass. but it is not taking the servlet class
file,
> it is showing blank page. where can i put the servlet .class file.
Here I
> am sending the code. please suggest me.
>  
>  
>  1. ServletInvoker1.java which is under
<JetSpeed-Home>/web-inf/classes
>  
>  public class ServletInvokerPortlet1 extends AbstractPortlet
>  {
>  
>      public ServletInvokerPortlet1()
>      {
>      }
>  
>      public ConcreteElement getContent(RunData rundata)
>      {
>          org.apache.jetspeed.portal.PortletConfig pc =
getPortletConfig();
>          String servletURL = null;
>          try
>          {					
>              servletURL = getPortletConfig().getInitParameter("url");	
>              return new EcsServletElement(rundata, servletURL);   //
> Invoking The Servlet File Here.
>          }
>          catch(Exception e)
>          {
>              String message = "ServletInvokerPortlet: Error invoking "
+
> servletURL + ": " + e.getMessage();
>              Log.error(message, e);
>              return new StringElement(message);
>          }
>      }
>  }
>  
>  2. The Servlet File which is also in the same directory as
> <JetSpeed-Home>/web-inf/classes
>  
> public class TestServlet extends HttpServlet
>  {
>  
>  	public void doGet(HttpServletRequest req, HttpServletResponse
res)
> throws IOException,ServletException
>  	{	
>  		res.setContentType("text/html");
>  		PrintWriter out = res.getWriter();
>  		out.println("<HTML><HEAD><TITLE>");
>  		
>  		out.println("</TITLE></HEAD><BODY>");
>  		out.println("<H1> Hello</H1>");
>  		out.println("<P>This is output from SimpleServlet.");
>  		out.println("</BODY></HTML>");
>  		out.close();
>  
>  	}
>  }
>  
>  3. The Registry file  which is under <JetSpeed-Home>/web-inf/conf
>  
>  
>  <?xml version="1.0" encoding="UTF-8"?>
>  
>  <registry>
>  
>  <portlet-entry name="TestServlet" hidden="false" type="ref"
> parent="Servlet" application="false">
>      <meta-info>
>          <title>TestServlet</title>
>          <description>Test Servlet </description>
>      </meta-info>
>      <classname>ServletInvokerPortlet1</classname>	
>      <parameter name="url"
>              value="/TestServlet" hidden="false"/>
>  <media-type ref="html"/>
>  </portlet-entry>
>  
>   </registry>
>  
>  
>  please suggest me .where to put the servlet file.
[Sasi B]  


--
To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
For additional commands, e-mail:
<ma...@jakarta.apache.org>



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>