It looks like your web.xml is incorrect.

For Pluto 1.1, you need to have <load-on-startup> (which you have commented out), the <init-param> portlet-name (check), and you need a <servlet-mapping> "HelloWorld" to "/PlutoInvoker/HelloWorld/" (which you don't have at all).

The other elements in your web.xml (portlet-guid, portlet-class) are for Pluto 1.0. Which are fine to keep in your web.xml if you are planning to deploy the portlet in multiple container.

I think the existing servlet mapping you have is incorrect for both pluto 1.1 and pluto 1.0 containers.

As an aside, your web.xml contains a doctype for servlet 2.3, but your <web-app> and following is in the servlet 2.4 namespace. That may confuse things as well. Tomcat is probably forgiving but other servlet containers may not be.

Elliot

Murthy Gandikota wrote:
Hi
I am testing a HelloWorld app. Here is the HelloWorld.java

package testpluto;

import javax.portlet.GenericPortlet;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.PortletException;
import java.io.IOException;

import javax.servlet.*;

public class HelloWorld extends GenericPortlet {
  protected void doView(RenderRequest request,
  RenderResponse response) throws
  PortletException, IOException {
        response.setContentType("text/html");
        response.getWriter().println("Hello Portlet");
        }
}

I have successfully compiled this class and
The path to it is WEB-INF/classes/tespluto

Then I added these to the web.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" 
"http://java.sun.com/dtd/web-app_2_3.dtd";>
<web-app version="2.4"
         xmlns="http://java.sun.com/xml/ns/j2ee";
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
         http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";>
<servlet>
  <servlet-name>HelloWorld</servlet-name>
     <display-name>HelloWorld Wrapper</display-name>
      <description>Automated generated
      Portlet Wrapper</description>
      <servlet-class>javax.portlet.GenericPortlet
      </servlet-class>
        <init-param>
            <param-name>portlet-name</param-name>
            <param-value>HelloWorld</param-value>
        </init-param>
        <!-- <load-on-startup>1</load-on-startup> -->
      <init-param>
         <param-name>portlet-class</param-name>
         <param-value>testpluto.HelloWorld
         </param-value>
      </init-param>
      <init-param>
         <param-name>portlet-guid</param-name>
         <param-value>HelloPluto.HelloWorld
         </param-value>
      </init-param>
    <!-- <load-on-startup>1</load-on-startup> -->
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/hello/*</url-pattern>
</servlet-mapping>
</web-app>

The WEB-INF/portlet.xml
<portlet-app
    xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";
    version="1.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
    xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
                        http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd";>
  <portlet>
      <portlet-name>HelloWorld</portlet-name>
      <display-name>Change Case Portlet</display-name>
      <portlet-class>testpluto.HelloWorld</portlet-class>
      <supports>
         <mime-type>text/html</mime-type>
         <portlet-mode>view</portlet-mode>
      </supports>
      <portlet-info>
         <title>Hello World</title>
      </portlet-info>
    <init-param>
      <name>config</name>
      <value>/WEB-INF/ptest-config.xml</value>
    </init-param>
   </portlet>


</portlet-app>

The index.jsp
<jsp:forward page="/hello">

I restarted Pluto several times and all these times when accessing
http://localhost:8080/ptest/hello

I get the following error in the Catalina.out

4    [http-8080-Processor25] ERROR 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/ptest].[HelloWorld]
  - Allocate exception for servlet HelloWorld
java.lang.InstantiationException
        at 
sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
        at java.lang.Class.newInstance0(Class.java:350)
        at java.lang.Class.newInstance(Class.java:303)
        at 
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1055)
        at 
org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:757)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:130)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at 
org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:392)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
        at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)

I have been breaking my head over these for nearly 40 hours now.
Sorry, I don't know maven and don't intend to know at this time. I am fine with 
ant.
It took me a while to understand the deploy. I even tried deploying from the 
manager/admin screens. Still
The same result.

I'd appreciate all of the help you can give me in making this successful.

Thanks
Murthy

Reply via email to