Sorry for formatting - it's supposed to be markdown - I should stick to
text/plain...

The point is - always ensure that:
 - "default servlet" is registered (so it can sendError(404) which can lead
to invocation of error servlet)
 - servlet controller starts the context (jetty, undertow, tomcat) if
servlet/filter/welcome-page is added and it's not web application

btw - do you know how to start
https://github.com/ops4j/org.ops4j.pax.web/commits/pax-web-6.0.x ? May I
ask for account on this instance?

regards
Grzegorz

2017-05-23 21:24 GMT+02:00 'Achim Nierbeck' via OPS4J <
[email protected]>:

> Hi,
>
> hmm ... it's already a bit late here.
> So I might be missing the crucial point (formating is also a bit strange
> :) )
> but it looks ok from here :)
>
> regards, Achim
>
>
> 2017-05-23 21:15 GMT+02:00 Grzegorz Grzybek <[email protected]>:
>
>> Thanks
>>
>> So the fix is [here](https://github.com/ops4
>> j/org.ops4j.pax.web/commit/5d5afb4d8da8e6528bc0c22c89c2488ba51df660)
>>
>> And here's the description:
>> * HttpServiceStarted **always** does:
>> ```java
>> if (model.getFilter/Servlet/WelcomePage() != null &&
>> !isWebAppWebContainerContext(contextModel)) {
>> ...
>>     serverController.getContext(contextModel).start();
>> ...
>> }
>> ```
>> which means that if your registering _resources_ outside of
>> RegisterWebAppVisitorXX, then pax-web doesn't know when you stop adding new
>> servlets/filters/etc.
>> * ResourceModel.java has `equals()` method than prevents adding it more
>> than once
>> *when creating a handler, undertow's Context ensures that there's Servlet
>> created from ResourceModel - to simulate what both RegisterWebAppVisitorHC
>> and RegisterWebAppVisitorWS do - which is 
>> `webContainer.registerResources("/",
>> "default", httpContext);`
>> * pax-web-undertow **always** destroys handler if ... it's started and
>> you're adding new servlets/filters/welcome-pages - it'll be recreated on
>> new request
>> * when undertow.ServerControllerImpl creates
>> `org.ops4j.pax.web.service.undertow.internal.Context` for the first time
>> - it **always** adds there `ResourceModel` (*default servlet*) - even if
>> pax-web-extender-war installs new web application, overriden
>> `ResourceModel.equals()` will prevent double registration.
>>
>> regards
>> Grzegorz Grzybek
>>
>>
>> 2017-05-23 20:40 GMT+02:00 'Achim Nierbeck' via OPS4J <
>> [email protected]>:
>>
>>> Hi Grzegorz,
>>>
>>> hmm taken into account that a std. container also does have a default
>>> servlet available it sounds good.
>>> Just need to make sure the current behaviour if no serviceable content
>>> is deployed the container remain silent ;)
>>>
>>> regards, Achim
>>>
>>>
>>> 2017-05-23 10:31 GMT+02:00 Grzegorz Grzybek <[email protected]>:
>>>
>>>> Hello
>>>>
>>>> I'm working on pax-web-undertow in particular, but I have general issue
>>>> with error pages, welcome files and similar resources.
>>>>
>>>> There's for example https://ops4j1.jira.com/browse/PAXWEB-1032
>>>> "Strange handling of welcome files".
>>>>
>>>> It's better with pax-web-extender-war, because the unit of deployment
>>>> is analogous to web.xml file which, even if empty (no servlets, filters,
>>>> error pages, ...) is handled effectively by RegisterWebAppVisitorWC or
>>>> RegisterWebAppVisitorHS.
>>>> The first one does: webContainer.registerResources("/", "default",
>>>> httpContext);
>>>> The second one does: httpService.registerResources("/", "",
>>>> httpContext);
>>>> Regardless of what is found in the deployment descriptor (or in
>>>> org.ops4j.pax.web.extender.war.internal.model.WebApp)
>>>>
>>>> What do you think if we change the implementation, so "default" servlet
>>>> is *always* registered?
>>>>
>>>> For example with Undertow, without default servlet there's no ...
>>>> servlet to handle the request where no path matches, so no *servlet
>>>> resource* can send 404 error, so error pages can't be invoked. There's
>>>> simple low-level HttpHandler that simply sends 404 without involving error
>>>> pages (and anything from servlet specs in general).
>>>>
>>>> I'll experiment with having *default servlet* by default.
>>>>
>>>> regards
>>>> Grzegorz Grzybek
>>>>
>>>> --
>>>> --
>>>> ------------------
>>>> OPS4J - http://www.ops4j.org - [email protected]
>>>>
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "OPS4J" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> Apache Member
>>> Apache Karaf <http://karaf.apache.org/> Committer & PMC
>>> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer
>>> & Project Lead
>>> blog <http://notizblog.nierbeck.de/>
>>> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>>>
>>> Software Architect / Project Manager / Scrum Master
>>>
>>> --
>>> --
>>> ------------------
>>> OPS4J - http://www.ops4j.org - [email protected]
>>>
>>> ---
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "OPS4J" group.
>>> To unsubscribe from this topic, visit https://groups.google.com/d/to
>>> pic/ops4j/ZyvJGOf91-Q/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
>> --
>> ------------------
>> OPS4J - http://www.ops4j.org - [email protected]
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "OPS4J" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
>
> Apache Member
> Apache Karaf <http://karaf.apache.org/> Committer & PMC
> OPS4J Pax Web <http://wiki.ops4j.org/display/paxweb/Pax+Web/> Committer &
> Project Lead
> blog <http://notizblog.nierbeck.de/>
> Co-Author of Apache Karaf Cookbook <http://bit.ly/1ps9rkS>
>
> Software Architect / Project Manager / Scrum Master
>
> --
> --
> ------------------
> OPS4J - http://www.ops4j.org - [email protected]
>
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "OPS4J" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/
> topic/ops4j/ZyvJGOf91-Q/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
------------------
OPS4J - http://www.ops4j.org - [email protected]

--- 
You received this message because you are subscribed to the Google Groups 
"OPS4J" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to