Borut,

thanks again. You were correct, it was lazy initialization. Pretty
much at this point I got the spring part working.

I've encountered yet another issue with mapping requests from apache2
web server to tomcat. It seems to have something to do with SSL, as I
don't have this issue for http.

The situation looks as follows:
The docBase for my app is /usr/local/jsp/
I've placed my spring test JSP in /usr/local/jsp/testSpring/testSpring.jsp

apache2/httpd.conf has the following mod_jk mappings:
JkMount /servlet/* worker1
JkMount /*.jsp worker1
JkMount /jsp/* worker1

When I invoke this JSP directly through tomcat, or through apache
httpd server but over http, it works fine:
http://server.domain.com:8080/jsp/testSpring/testSpring.htm
http://server.domain.com/jsp/testSpring/testSpring.htm

When I invoke this JSP through apache httpd over https, it's actually
looking for the static htm file. It doesn't go through tomcat at all.
https://server.domain.com/jsp/testSpring/testSpring.htm

Not Found
The requested URL /jsp/testSpring/testSpring.htm was not found on this server.

Would you be able to point me in the right direction? I searched
through some of the ssl config files, but I didn't find anything that
would prevent /jsp/**/*.htm requests from being sent to tomcat.

Thanks,
aurir_

On Fri, Mar 11, 2011 at 9:30 AM, Borut Hadžialić
<borut.hadzia...@gmail.com> wrote:
> Do not put anything in $TOMCAT_HOME/conf/web.xml - leave that file as
> it is when you unpack a fresh Tomcat distribution.
>
> Why the servlet is not being loaded?  - not 100% about this, but I
> would first check if it is maybe being lazy loaded/initialized. After
> your tomcat starts up, try to browse http://localhost:8080/test.htm -
> that http request will be mapped to your spring servlet, and it will
> trigger the initialization of your spring servlet (if that was the
> problem in the first place, but i think it is).
>
> The exception you were getting meant that your DispatcherServlet
> couldn't find and load its configuration file at startup.
> A DispatcherServlet's configuration file is by default
> /WEB-INF/<servlet-name>-servlet.xml'. <servlet-name> is 'spring' in
> your case - that is how you named it inside web.xml:
>
> <servlet>
>        <servlet-name>spring</servlet-name>
>     ....
> </servlet>
>
> So your DispatcherServlet instance that you named 'spring' tried to
> load the file /WEB-INF/spring-servlet.xml, which wasn't there and you
> got the exception:
> java.io.FileNotFoundException: Could not open ServletContext resource
> [/WEB-INF/spring-servlet.xml]
>
> Make sure you have 'spring' DispatcherServlet's configuration in a
> file /WEB-INF/spring-servlet.xml, or use some other file with
> configuration like this:
>
> <servlet>
>        <servlet-name>spring</servlet-name>
>        <servlet-class>
>            org.springframework.web.servlet.DispatcherServlet
>        </servlet-class>
>  <init-param>
>    <param-name>contextConfigLocation</param-name>
>    <param-value>/WEB-INF/foo/bar-servlet.xml</param-value>
>  </init-param>
>        <load-on-startup>1</load-on-startup>
>    </servlet>
>
> On Fri, Mar 11, 2011 at 4:08 PM, Aureliusz R. <aremp...@gmail.com> wrote:
>> Borut,
>>
>> your instructions were spot on. I was able to track down my docBase
>> folder (it was specified in $TOMCAT_HOME/conf/servlet.xml <context>,
>> and I verified that it's the correct location by adding some context
>> parameters to the web.xml in my docBase, and then retrieving them from
>> a JSP.
>>
>> Now I have another problem though. For some reason, my
>> DispatcherSetvlet (for the spring framework) is not being loaded at
>> all. I tried placing the piece of XML below in the
>> $TOMCAT_HOME/conf/web.xml and my docBase/WEB-INF/web.xml. I also
>> specified invalid fully qualified name for my DispatcherServlet to get
>> some kind of exception, but I don't get anything. Is there anything
>> that would prevent this servlet from being loaded?
>>
>>
>>    <servlet-mapping>
>>        <servlet-name>spring</servlet-name>
>>        <url-pattern>*.htm</url-pattern>
>>    </servlet-mapping>
>>
>>  It's ridiculous because some time ago when I placed it in
>> $TOMCAT_HOME/conf/web.xml I was getting the exception below, and
>> that's the reason why I wanted to know where my docBase is in the
>> first place. Now that I know where it is, the DispatcherServlet
>> doesn't seem to be loaded at all. Is there anything that would prevent
>> this servlet from being loaded?
>>
>> org.springframework.beans.factory.BeanDefinitionSt oreException:
>> IOException parsing XML document from ServletContext resource
>> [/WEB-INF/spring-servlet.xml]; nested exception is
>> java.io.FileNotFoundException: Could not open ServletContext resource
>> [/WEB-INF/spring-servlet.xml]
>>
>> Thanks,
>> Aurir_
>>
>> On Tue, Mar 8, 2011 at 2:47 AM, Borut Hadžialić
>> <borut.hadzia...@gmail.com> wrote:
>>> The piece of xml you posted looks like something from
>>> $TOMCAT_HOME/conf/web.xml file. This file contains some default
>>> configuration that is applied to all web applications and you usually
>>> don't change it.
>>>
>>> What you need to find is the /WEB-INF directory of your web
>>> application. /WEB-INF directory resides in the root directory of your
>>> web application. This directory is also called Context Root / Document
>>> Base - its the directory that contains all files of your app. You
>>> usually put spring config files in the /WEB-INF directory of your web
>>> application.
>>>
>>>
>>> It doesn't matter where individual applications are on the disk (where
>>> their Context Root / Document Base directories are). Applications can
>>> be in $TOMCAT_HOME/webapps, or in some other directories anywhere on
>>> the filesystem.
>>>
>>> To figure out where your application's Context Root / Document Base is
>>> you can do this:
>>> 1. use find to search for WEB-INF directories on your filesystem
>>> 2. find your Tomcat's instance conf directory ($TOMCAT_HOME/conf) and
>>> go trough the config files there: first look at server.xml - look for
>>> <Host> elements and see if it has a appBase attribute defined. Then
>>> check if the <Host> element has any <Context> child elements. If it
>>> does, their docBase attribute points to document base of an
>>> application.
>>> If you don't find it there, look for subdirectories in conf directory
>>> - for example there might be subdirectories Catalina/localhost that
>>> contain individual application xml config files. Those files also
>>> contain <Context> elements - look for their docBase attribute.
>>>
>>> On Tue, Mar 8, 2011 at 4:47 AM, Aureliusz R. <aremp...@gmail.com> wrote:
>>>> I know this is not a typical tomcat question but please bear with me.
>>>> All Spring integrations call for placing configuration xmls in
>>>> /WEB-INF/ of an application. The tomcat that I'm forced to work with
>>>> has a weird configuration where there are no applications under
>>>> $TOMCAT_HOME/webapps folder. There is one folder where all of the
>>>> servlets go, and the invoker servlet is mapped to it:
>>>>
>>>> <servlet-mapping>
>>>>  <servlet-name>invoker</servlet-name>
>>>>  <url-pattern>/servlets/*</url-pattern>
>>>> </servlet-mapping>
>>>>
>>>> My question is, how do I know where the context (default context?) in
>>>> such a situation is, so that I could place my spring configuration
>>>> files in there? Is spring usage even possible with such configuration?
>>>>
>>>> Thanks
>>>> Aurir_
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Why?
>>> Because YES!
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
>> For additional commands, e-mail: users-h...@tomcat.apache.org
>>
>>
>
>
>
> --
> Why?
> Because YES!
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to