Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [servlet-dev] [jsp-dev] What is jakarta.servlet.jsp.resources?
  • From: Mark Thomas <markt@xxxxxxxxxx>
  • Date: Tue, 7 Jul 2020 10:13:51 +0100
  • Autocrypt: addr=markt@xxxxxxxxxx; prefer-encrypt=mutual; keydata= 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
  • Delivered-to: servlet-dev@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/servlet-dev>
  • List-help: <mailto:servlet-dev-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/servlet-dev>, <mailto:servlet-dev-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/servlet-dev>, <mailto:servlet-dev-request@eclipse.org?subject=unsubscribe>
  • User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0

All,

Ping. It would be helpful if other JSP and/or Servlet committers could
comment on the inclusion of the relevant schemas in the API JARs.

Thanks,

Mark


On 17/06/2020 13:42, Kevin Sutter wrote:
> Excellent background work, Mark.  Thank you!  I think we need to expand
> the scope of this discussion to other Spec Projects, namely Servlet and
> Platform.  I realize there is some overlap in the reps on these mailing
> lists, but we need a wider audience for this discussion.  It sounds like
> we have an issue (or two) that was introduced somewhere around Java EE 5
> or 6, and the resolution has been up to each implementation to figure
> out...  What started off as a "simple" question about whether
> javax.servlet.jsp.resources->jakarta.servlet.jsp.resources should be
> part of the Transformer rule set is now uncovering a potential issue
> with both JSP and Servlet API jar files.  We need more participation
> from the people intimately involved in these projects from years past.
>  Thanks.
> 
> ---------------------------------------------------
> Kevin Sutter
> STSM, MicroProfile and Jakarta EE architect @ IBM
> e-mail:  sutter@xxxxxxxxxx     Twitter:  @kwsutter
> phone: tl-553-3620 (office), 507-253-3620 (office)    
> LinkedIn: https://www.linkedin.com/in/kevinwsutter
> 
> 
> 
> From:        Mark Thomas <markt@xxxxxxxxxx>
> To:        jsp-dev@xxxxxxxxxxx
> Date:        06/17/2020 05:42
> Subject:        [EXTERNAL] Re: [jsp-dev] What is
> jakarta.servlet.jsp.resources?
> Sent by:        jsp-dev-bounces@xxxxxxxxxxx
> ------------------------------------------------------------------------
> 
> 
> 
> Hi all,
> 
> I am not convinced that the removal of these packages was deliberate.
> 
> Maven Central
> =============
> 
> First of all, looking at the API JARs from Maven Central
> 
> For Servlet they were removed between Servlet 2.5 (Java EE 5) and
> Servlet 3.0 (Java EE 6). I have a complete copy of the EG archive for
> Servlet 3.0 and there is no mention of removing schema or the resources
> package.
> 
> For JSP they were removed between JSP 2.1 and JSP 2.1.1 (both Java EE
> 6). Note that JSP 2.1 was released at the time of Java EE 6 (July 2006)
> whereas 2.1.1 was released 2 years later (September 2008) with no
> accompanying record of that release that I can find at jcp.org
> 
> If the removal was deliberate, I would have expected them to be removed
> at the same point and as part of the release associated with a Java EE
> release.
> 
> 
> SCM history
> ===========
> 
> Secondly, looking at the source code history
> 
> The Jakarta Server Pages repo is no help as no history was imported.
> 
> Looking at:
> https://github.com/javaee/javaee-jsp-api
> 
> I see that the JSP API was added with this commit:
> https://github.com/javaee/javaee-jsp-api/commit/f5a7855ba8949f78ec8dd750d0d2d40dffc52ca6
> 
> My read of the history of that repo is that it started off as
> Glassfish's JSP implementation (forked from Apache Tomcat) and with the
> commit above became the repo for the JSP implementation and API.
> 
> 
> Looking at:
> https://github.com/javaee/servlet-spec
> 
> That repo only goes back as far as Servlet 3.0. The resources package
> was not included when the repo was created.
> 
> Looking at:
> https://github.com/javaee/glassfish
> 
> The files are present in the initial import at:
> v2/servlet-api/src/jsr245/src/share/dtd/jspxml_2_0.dtd
> 
> The build system looks like it is in transition. Ant, Maven and Jelly
> are all used. As far as I can tell the schema files were still part of
> the API JARs created.
> 
> Commit 168ce449c4ea0826842ab4129e83c4a700750970 restructures the
> Glassfish source code and places a subset of the schemas in two locations:
> appserver/deployment/dtds/src/main/resources/glassfish/lib/dtds
> appserver/deployment/schemas/src/main/resources/glassfish/lib/schemass
> 
> 
> User Requirements
> =================
> 
> jspxml.dtd and jspxml.xsd are required to enable validation of JSP
> documents to the schema. I'd expect them to be part of the JSP API jar.
> 
> The other XML schema files are required to validate web.xml files, TLD
> files, etc. I'd expect them to be included in the Servlet JAR.
> 
> 
> Conclusion
> ==========
> 
> Given that:
> 
> - the resources packages and the contained schema were removed from
>  the Servlet and JSP APIs in different Java EE versions;
> 
> - the package was removed from the JSP API jar without any associated
>  maintenance release;
> 
> - the schema were removed in Servlet 3.0 yet there is no discussion
>  at all of this change in the Servlet EG archive for 3.0;
> 
> - that the removal of the schema appears to be the result of a
>  reorganisation of the Glassfish source tree;
> 
> - that the schema are part of the specs and are required in order to
>  validate various spec related XML documents;
> 
> it is my conclusion that these packages and their associated resources
> were removed in error and should be restored.
> 
> Further, we need to obtain (or find) copies of jspxml.xsd and jspxml.dtd
> for the JSP API.
> 
> Mark
> 
> 
> 
> On 16/06/2020 23:16, Kevin Sutter wrote:
>> Hi Joakim,
>> Jakarta EE 8 (and Java EE 8 and Java EE 7) API jar files didn't include
>> the j*.servlet.resources or j*.servlet.jsp.resources packages.  I would
>> hesitate on changing this content at this point.  Including these
>> resources might be an "implementation-specific" action.
>> 
>> ---------------------------------------------------
>> Kevin Sutter
>> STSM, MicroProfile and Jakarta EE architect @ IBM
>> e-mail:  sutter@xxxxxxxxxx     Twitter:  @kwsutter
>> phone: tl-553-3620 (office), 507-253-3620 (office)    
>> LinkedIn: https://www.linkedin.com/in/kevinwsutter
>> 
>> 
>> 
>> From:        Joakim Erdfelt <joakim.erdfelt@xxxxxxxxx>
>> To:        jsp developer discussions <jsp-dev@xxxxxxxxxxx>
>> Date:        06/16/2020 16:05
>> Subject:        [EXTERNAL] Re: [jsp-dev] What is
>> jakarta.servlet.jsp.resources?
>> Sent by:        jsp-dev-bounces@xxxxxxxxxxx
>> ------------------------------------------------------------------------
>> 
>> 
>> 
>> Speaking as an Eclipse Jetty committer....
>> 
>> We would prefer that the xsd, schemas, dtd (yes even the old school
>> dtds) are all included in the appropriate API jars.
>> This includes jakarta.servlet (with its jakarta.servlet.resources), and
>> jakarta.servlet.jsp with its (with its jakarta.servlet.jsp.resources)
>> 
>> This eases many use cases, including the JPMS one (Eclipse Jetty 10 on
>> Jakarta EE 8 and Eclipse Jetty 11 on Jakarta EE 9 both support a proper
>> JPMS environment).
>> 
>> - Joakim
>> 
>> On Tue, Jun 16, 2020 at 2:49 PM Kevin Sutter <_sutter@xxxxxx.com_
>> <mailto:sutter@xxxxxxxxxx>> wrote:
>> Thanks, Mark.  IBM Notes is notorious at making these type of "internet
>> style" notes unreadable, but I will try my best...  :-)
>> _
>> __jsp-dev-bounces@eclipse.org_ <mailto:jsp-dev-bounces@xxxxxxxxxxx>wrote
>> on 06/16/2020 13:38:19:
>> 
>>> From: Mark Thomas <_markt@apache.org_ <mailto:markt@xxxxxxxxxx>>
>>> To: jsp developer discussions <_jsp-dev@eclipse.org_ <mailto:jsp-dev@xxxxxxxxxxx>>
>>> Date: 06/16/2020 13:38
>>> Subject: [EXTERNAL] Re: [jsp-dev] What is jakarta.servlet.jsp.resources?
>>> Sent by: _jsp-dev-bounces@eclipse.org_ <mailto:jsp-dev-bounces@xxxxxxxxxxx>
>>> 
>>> On 16/06/2020 18:36, Kevin Sutter wrote:
>>> > Hi,
>>> > Does anybody know the origin of this package --
>>> > jakarta.servlet.jsp.resources?  It's not part of the source repo for
>>> > jsp-api, but it's coming up as a question for the Transformer.
>>> > _INVALID URI REMOVED_
>>> u=https-3A__github.com_eclipse_transformer_pull_52-23discussion-5Fr440933519&d=DwIF-
>>> g&c=jf_iaSHvJObTbx-
>>> siA1ZOg&r=R9dtOS3afYnRUmu_zogmh0VnVYl2tse_V7QBUA9yr_4&m=MeMg0Vj4tzNuyPAjRpzvqBifomI7YYzmoPi60D99jTo&s=xQkBlvLEI1sfwDHxlI7MuTeksynzMN_f68qtBe_jEzA&e=
>>> > 
>>> > Is this a valid package for JSP?
>>> 
>>> Historically, yes. It is present in the JSP 2.0 JAR file:
>>> _INVALID URI REMOVED_
>>> u=https-3A__repo1.maven.org_maven2_javax_servlet_jsp_jsp-2Dapi_2.
>>> 0_jsp-2Dapi-2D2.0.jar&d=DwIF-g&c=jf_iaSHvJObTbx-
>>> siA1ZOg&r=R9dtOS3afYnRUmu_zogmh0VnVYl2tse_V7QBUA9yr_4&m=MeMg0Vj4tzNuyPAjRpzvqBifomI7YYzmoPi60D99jTo&s=yvAtLsqLf5ohLd_V1AJ4SRnydB3p-
>>> ecjTpUgTdQZqO4&e= 
>>> 
>>> where it contains:
>>> jsp_2_.xsd
>>> jspxml.dtd
>>> jspxml.xsd
>>> web-jsptaglibrary_1_1.dtd
>>> web-jsptaglibrary_1_2.dtd
>>> web-jsptaglibrary_2_0.xsd
>>> 
>>> The same files are present in 2.1
>>> _INVALID URI REMOVED_
>>> u=https-3A__repo1.maven.org_maven2_javax_servlet_jsp_jsp-2Dapi_2.
>>> 1_jsp-2Dapi-2D2.1.jar&d=DwIF-g&c=jf_iaSHvJObTbx-
>>> siA1ZOg&r=R9dtOS3afYnRUmu_zogmh0VnVYl2tse_V7QBUA9yr_4&m=MeMg0Vj4tzNuyPAjRpzvqBifomI7YYzmoPi60D99jTo&s=f4SuOYjF24DB3NcDn6gD-
>>> JT3KK9N-DuPmwSiH5MjsKc&e= 
>>> 
>>> The appear to have been removed in 2.1.1 onwards.
>> 
>> Right.  This is what we (IBM) found as well.  We have them in our 2.2
>> and prior bundles, but they were removed in 2.3 and now in 3.0.
>> 
>>> 
>>> >  Or, is this an implementation-specific package?
>>> 
>>> No.
>>> 
>>> >  Although we're not supposed to be adding to the defined APIs
>>> > for Java EE or Jakarta EE...  Just trying to figure out the answer.  Thanks!
>>> 
>>> If I had to guess, I say most of those files were legitimately moved to
>>> the Servlet API JAR because, without them, Servlet implementations are
>>> unable to correctly validate XML schema that reference them.
>>> 
>>> However, I'd expect the following files to still be present in that package:
>>> 
>>> jspxml.dtd
>>> jspxml.xsd
>>> 
>>> I don't know where they were moved to. In fact, I asked about those very
>>> files a few hours ago as I'd like to update the JSP spec document to
>>> reference a Jakarta version of jspxml.xsd (https://
>>> _urldefense.proofpoint.com/v2/url_
>> <http://urldefense.proofpoint.com/v2/url>?
>>> u=http-3A__java.sun.com_JSP_Page&d=DwIF-g&c=jf_iaSHvJObTbx-
>>> siA1ZOg&r=R9dtOS3afYnRUmu_zogmh0VnVYl2tse_V7QBUA9yr_4&m=MeMg0Vj4tzNuyPAjRpzvqBifomI7YYzmoPi60D99jTo&s=-4H3QRAd23GgrstRS6CDcHXiuulDDTFNKOX-
>>> toqvHzg&e= )
>> 
>> Are these dtd/xsd files still required for JSP 2.3 and beyond?  Or, are
>> the XML files validated using some alternative schema?
>> The Jakarta EE 9 schemas are defined here:
>>  _https://jakarta.ee/xml/ns/jakartaee/_
>> The Java EE 8/Jakarta EE 8 schemas are defined here:
>>  _http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html#8_
>> 
>> These two files (jspxml.dtd and jspxml.xsd) are not defined in either
>> location.  And, since we have stated that Jakarta EE 9 only
>> needs to support Jakarta EE 9 and Jakarta EE 8 schemas, are these other
>> two schemas still required?  Or, did we misss something with
>> the Java EE 8/Jakarta EE 8 definitions?
>> 
>>> 
>>> Finally, Tomcat has the package in question and those files as a result
>>> of the time it was the reference implementation for JSP. While the
>>> Tomcat project moved the schemas to Servlet that Servlet needed, it left
>>> jspxml.dtd and jspxml.xsd in place.
>> 
>> Okay, so that would explain why the Tomitribe team is attempting to
>> update the Transformer rules to include that package.
>> Technically, I guess it doesn't hurt to include it in the Transformer
>> rules.  But, it did cause confusion for me since I got
>> pinged that our Jakarta EE 9 API jar file (and your JSP 3.0 API jar
>> file) had an error because we didn't include this
>> jakarta.servlet.jsp.resources package...
>> 
>> It's sounding like this jakarta.servlet.jsp.resources package should not
>> be defined with the official rule set for the Transformer
>> project.  And, if a given implementation (Tomcat, Jetty, Open Liberty,
>> etc) does require this package to be converted, then it
>> should be part of the implementation's rule set.
>> 
>> -- Kevin
>> 
>>> 
>>> Mark
>>> _______________________________________________
>>> jsp-dev mailing list
>>> _jsp-dev@eclipse.org_ <mailto:jsp-dev@xxxxxxxxxxx>
>>> To unsubscribe from this list, visit _https://www.eclipse.org/_
>>> mailman/listinfo/jsp-dev
>>> 
>> 
>> _______________________________________________
>> jsp-dev mailing list_
>> __jsp-dev@eclipse.org_ <mailto:jsp-dev@xxxxxxxxxxx>
>> To unsubscribe from this list, visit
>> _https://www.eclipse.org/mailman/listinfo/jsp-dev________________________________________________
>> jsp-dev mailing list
>> jsp-dev@xxxxxxxxxxx
>> To unsubscribe from this list, visit
>> https://www.eclipse.org/mailman/listinfo/jsp-dev
>> 
>> 
>> 
>> 
>> _______________________________________________
>> jsp-dev mailing list
>> jsp-dev@xxxxxxxxxxx
>> To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jsp-dev
>> 
> 
> _______________________________________________
> jsp-dev mailing list
> jsp-dev@xxxxxxxxxxx
> To unsubscribe from this list, visit
> https://www.eclipse.org/mailman/listinfo/jsp-dev
> 
> 
> 
> 
> 
> _______________________________________________
> servlet-dev mailing list
> servlet-dev@xxxxxxxxxxx
> To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/servlet-dev
> 



Back to the top