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>