Hi,

I have created one small demo app and when I deploy it to JBoss 4.0 (Tomcat
5.5), although I have mapped my servlet to >demo/DemoServlet<, I can't
access it with browser. I got 404 HTTP error. I have spent whole day trying
to figure it out what is wrong. I could send all sources and binaries to
someone willing to help. Some files are in the attachment. Please help me.

Thank you,
Milan
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.4//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd";>

<jboss-web>

   <!-- Resource Environment References -->
   <!--
     For additional resouce-env-ref tags add a merge file called jbossweb-resource-env-ref.xml
   -->

   <!-- Resource references -->
   <!--
     For additional resouce-ref tags add a merge file called jbossweb-resource-ref.xml
   -->

   <!-- EJB References -->
   <!--
     For additional ejb-ref tags add a merge file called jbossweb-ejb-ref.xml
   -->
   <ejb-ref>
      <ejb-ref-name>ejb/Registar</ejb-ref-name>
      <jndi-name>ejb/Registar</jndi-name>
   </ejb-ref>

  <!-- EJB Local References -->

   <!--
     For additional ejb-local-ref tags add a merge file called jbossweb-ejb-local-ref.xml
   -->
</jboss-web>
<?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 >
   <distributable/>

    <!--
    To use non XDoclet filters, create a filters.xml file that
    contains the additional filters (eg Sitemesh) and place it in your
    project's merge dir.  Don't include filter-mappings in this file,
    include them in a file called filter-mappings.xml and put that in
    the same directory.
    -->

    <!--
    To use non XDoclet filter-mappings, create a filter-mappings.xml file that
    contains the additional filter-mappings and place it in your
    project's merge dir.
    -->

    <!--
    To use non XDoclet listeners, create a listeners.xml file that
    contains the additional listeners and place it in your
    project's merge dir.
    -->

   <servlet>
      <servlet-name>DemoServlet</servlet-name>
      <display-name>Demo Servlet</display-name>
      <description><![CDATA[Model]]></description>
      <servlet-class>demoapp.servlet.ModelServlet</servlet-class>

   </servlet>

  <!--
  To use non XDoclet servlets, create a servlets.xml file that
  contains the additional servlets (eg Struts) and place it in your
  project's merge dir.  Don't include servlet-mappings in this file,
  include them in a file called servlet-mappings.xml and put that in
  the same directory.
  -->

   <servlet-mapping>
      <servlet-name>DemoServlet</servlet-name>
      <url-pattern>/demo/DemoServlet</url-pattern>
   </servlet-mapping>

   <!--
   To specify mime mappings, create a file named mime-mappings.xml, put it in your project's mergedir.
   Organize mime-mappings.xml following this DTD slice:

   <!ELEMENT mime-mapping (extension, mime-type)>
   -->

   <!--
   To specify error pages, create a file named error-pages.xml, put it in your project's mergedir.
   Organize error-pages.xml following this DTD slice:

   <!ELEMENT error-page ((error-code | exception-type), location)>
   -->

  <!--
  To add taglibs by xml, create a file called taglibs.xml and place it
  in your merge dir.
  -->

   <!--
   To set up security settings for your web app, create a file named web-security.xml, put it in your project's mergedir.
   Organize web-security.xml following this DTD slice:

   <!ELEMENT security-constraint (display-name?, web-resource-collection+, auth-constraint?, user-data-constraint?)>
   <!ELEMENT web-resource-collection (web-resource-name, description?, url-pattern*, http-method*)>
   <!ELEMENT web-resource-name (#PCDATA)>
   <!ELEMENT url-pattern (#PCDATA)>
   <!ELEMENT http-method (#PCDATA)>
   <!ELEMENT user-data-constraint (description?, transport-guarantee)>
   <!ELEMENT transport-guarantee (#PCDATA)>

   <!ELEMENT login-config (auth-method?, realm-name?, form-login-config?)>
   <!ELEMENT auth-method (#PCDATA)>
   <!ELEMENT realm-name (#PCDATA)>
   <!ELEMENT form-login-config (form-login-page, form-error-page)>
   <!ELEMENT form-login-page (#PCDATA)>
   <!ELEMENT form-error-page (#PCDATA)>
   -->

   <ejb-ref >
      <description><![CDATA[Reference to the Registar EJB]]></description>
      <ejb-ref-name>ejb/Registar</ejb-ref-name>
      <ejb-ref-type>Session</ejb-ref-type>
      <home>demoapp.interfaces.RegistarHome</home>
      <remote>demoapp.interfaces.Registar</remote>
   </ejb-ref>

</web-app>
package demoapp.servlet;

import java.util.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
import demoapp.interfaces.*;
import demoapp.jb.*;

/**
 * @web.servlet
 *      name="DemoServlet"
 *      display-name="Demo Servlet"
 *      description="Model"
 * 
 * @web.servlet-mapping
 *      url-pattern="/demo/DemoServlet"
 * 
 * @web.ejb-ref
 *      name="ejb/Registar"
 *      type="Session"
 *      home="demoapp.interfaces.RegistarHome"
 *      remote="demoapp.interfaces.Registar"
 *      description="Reference to the Registar EJB"
 * 
 * @jboss.ejb-ref-jndi
 *      ref-name="ejb/Registar"
 *      jndi-name="ejb/Registar"
 */

public class ModelServlet extends HttpServlet {

  private RegistarHome home = null;

  public void init(ServletConfig conf) throws ServletException  {
    try {
        Context context = new InitialContext();
        Object ref = context.lookup("ejb/Registar");
        home = (RegistarHome) PortableRemoteObject.narrow(ref, RegistarHome.class);
    } catch (Exception e) {
        throw new ServletException("Lookup of ejb/Registar failed");
    }
  }

  public void doPost (HttpServletRequest req, HttpServletResponse res)
      throws ServletException, IOException {

    // do someting
  }
}

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to