The key part of your setup is below:


#uri mappings
#[uri:/examples/*]
#worker=ajp13:localhost:8009
 
[uri:/archief/*]
worker=ajp13:localhost:8009

What you have there is no mapping for /examples, and a new mapping for /archief.

All that does is tell Apache, via mod_jk2, to send URLs ending in /archief/* to Tomcat.

It is up to you to tell Tomcat what to do with those requests being sent by Apache...Apache cannot control Tomcat (for the purposes of this discussion, anyway). In order to make these requests work, you must declare a Context with a path of "/archief" in server.xml or in a file called archief.xml (see the auto-deploy option in the Tomcat docs). Then, in your archief application's web.xml file, you will need to either explicitly map every servlet, or use the invoker servlet (which is what the examples webapp does but it is not recommended for security reasons).

Everything has to match. If you map the URL /archief in your .properties file, but then in your server.xml have a Context with a path of "/hwe" nothing will work.

You also need the correct dir structure under your Hosts appBase directory (like CATALINA_HOME/webapps/examples).

Basically, EVERYWHERE you see the word "examples" in a default server.xml and in a default installation tree, you must do the SAME for any of your own webapps. You can just do a search/replace on the word "examples", or you can setup additional configuration directives using your own webapp and parameter values as needed.

John
 
On Thu, 3 Apr 2003 12:36:54 +0200, Woude, Alexander van der <[EMAIL PROTECTED]> wrote:


.properties files:

jk2.properties contains 2 working lines:

        handler.list=apr,channelSocket,channelUnix,request
        channelSocket.port=8009

{apache_home}\conf\workers2.properties:
        #--- workers2.properties
        # Shared memory handling
        [shm]
        file=/usr/local/apache/logs/shm.file
        size=1048576

        # socketchannel, host and port
        [channel.socket:localhost:8009]
        port=8009
        host=127.0.0.1

        #Define the worker
        [ajp13:localhost:8009]
        channel=channel.socket:localhost:8009

        #uri mappings
        #[uri:/examples/*]
        #worker=ajp13:localhost:8009

        [uri:/archief/*]
        worker=ajp13:localhost:8009

server.xml and web.xml are at the bottom of this mail

Greetings
Alexander

-----Original Message-----
From: John Turner [mailto:[EMAIL PROTECTED]
Sent: woensdag 2 april 2003 18:07
To: Tomcat Users List
Subject: Re: Problems deploying webapps on tomcat and apache



OK, so you are using JK2.

What are the contents of your .properties files?

Do you use JkUriSet in httpd.conf? If not, you must have .properties files that map the /examples URL to Tomcat. Duplicate that mapping for whatever other webapp you intend to use.

John

On Wed, 2 Apr 2003 17:56:05 +0200, Woude, Alexander van der <[EMAIL PROTECTED]> wrote:

Hola Maximiliano,

I work with the coyote jk2 connector. In my Httpd.conf I load it.

I haven't got any JkMount in it, but still it can execute the tomcat examples with
http://localhost/examples/servlet/


Why aren't the examples mounted and do I have to mount archive??

Don't worry about your english. It is great. My mother tongue is Dutch :))


You can allways answer in spanish because I speak it a little, and I am fluent in italian. So we will understand each other I imagine :))


Adios
Alexander


-----Original Message----- From: Maximiliano Palacios [mailto:[EMAIL PROTECTED] Sent: woensdag 2 april 2003 17:50 To: [EMAIL PROTECTED] Subject: RE: Problems deploying webapps on tomcat and apache


If you setup a connector, for example org.apache.coyote.tomcat4.CoyoteConnector, that connect your tomcat to apache you can call your web application without the 8080 port. http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/jk2.html

Here is an url to get more information on JkMount directive and other
associated directives.
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/jk/aphowto.html

By the way, you have to decide which version of connector to tomcat do you
want to use. Now exist a new connector called Coyote JK 2, the name of the
older is JK.


I hope that i help you,

Best regards
Maximiliano Palacios

PS: Sorry about my poor english, my native language is spanish ;)

Hello Maximiliano,

I get the error from both tomcat and apache.
Both urls give the 404
http://localhost:8080/archive/hwe
http://localhost/archive/hwe

Without the port 8080 I call apache, don't I?

Could you tell me more about the JkMount? Where do I place it, and maybe
an example?


Thanks a lot
Alexander van der Woude

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]
Sent: woensdag 2 april 2003 17:09
To: [EMAIL PROTECTED]
Subject: RE: Problems deploying webapps on tomcat and apache


Hi,


In first place you don't have to put /hwe/LoginServlet in your url, only
put http://localhost:8080/archive/hwe because hwe in your web.xml maps
to LoginServlet.


In second place your 404 error came from apache http server or tomcat
server. If came from tomcat maybe you have to put in the httpd.conf the
JkMount directive, for example JkMount /archive/* your_worker

Best regards,
Maximiliano Palacios


That didn't change a thing.

Actually this remark made me aware of the url-mapping.
If I wanna call http://localhost:8080/archive/hwe/LoginServlet
shouldn't the url-pattern be the following:
<url-pattern>/hwe/*</url-pattern> ???




-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: woensdag 2 april 2003 13:55 To: [EMAIL PROTECTED] Subject: RE: Problems deploying webapps on tomcat and apache


and do try http://localhost:8080/archive/hwe


Thanks
Guru

-----Original Message-----
From: Woude, Alexander van der
[mailto:[EMAIL PROTECTED]
Sent: 02 April 2003 12:49
To: [EMAIL PROTECTED]
Subject: Problems deploying webapps on tomcat and apache



Hello all,

I set up apache 2.0.43  to use tomcat 4.1.18 as a servlet container.
I use
Redhat 8.0 as OS.

I got the examples working fine. I can reach them through both
http://localhost/ and http://localhost:8080.
Now I am trying to deploy my own application, with little succes.

Under the webapps directory I created the following structure:

/webapps
        /Archive
                /WEB-INF
                        /classes
                                LoginServlet
                                and more servlets, classes etc
                        /lib
                                Connector-mysql-3_0_6.jar

web.xml


Calling my Archieve with
http://localhost:8080/archive/servlet/LoginServlet gives a 404:
requested resource not available.
Calling my Archieve with
http://localhost/archive/servlet/LoginServlet
does the same thing.

What am I doing wrong???


Below are my server.xml and web.xml.

I added a context for the application in server.xml

<!-- Tomcat Root Context -->
<!--
<Context path="" docBase="ROOT" debug="0"/>
-->
        <!-- Define new context for Archive Web -->
<Context path="/archive" docBase="archive" debug="2"
reloadable="true" crossContext="true">
<Logger className="org.apache.catalina.logger.FileLogger"
                     prefix="localhost_archive_log." suffix=".txt"
timestamp="true"/>
<!--
        <Enviroment name="maxExceptions" value="java.lang.Integer"
                      value="15"/>

          <Parameter name="context.param.name" value="context.param.value"
                     override="false"/>
          -->
        </Context>


My web.xml is like this:


<?xml version="1.0" encoding="ISO-8859-1"?>

<!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>

<display-name>Tomcat Examples</display-name>
<description>
Tomcat Example servlets and JSP pages.
</description>

<!-- Define example application events listeners -->
<listener>
<listener-class>listeners.ContextListener</listener-class>
</listener>
<listener>
<listener-class>listeners.SessionListener</listener-class>
</listener>

<!-- Define servlets included in archive -->

<servlet>
<servlet-name>LoginServlet</servlet-name>
<servlet-class>LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/hwe</url-pattern>
</servlet-mapping>

</web-app>

----------------------


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

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


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




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



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




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


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








-- Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

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



Reply via email to