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]