Jen*_* S. 11 java web-applications jetty servlet-3.0
我正在部署一个在web.xml中声明并部署为.war文件的Web应用程序.
我正在Jetty 9.1.x上部署(但我认为这个问题不是特定于容器的).
我的web.xml文件很旧,并声明自己是一个Servlet 2.4应用程序:
<web-app version="2.4" id="my_app"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
Run Code Online (Sandbox Code Playgroud)
我的配置实际上声明了一些仅Servlet 3.0的功能,比如默认的错误页面.这些功能不会根据架构进行验证,但功能似乎可以正常工作.
由于我使用3.0功能,我想将声明更改为正确:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
Run Code Online (Sandbox Code Playgroud)
但我害怕这样做,因为我不明白Jetty的区别.
更改声明是否会影响Jetty的运行时行为?Jetty对待2.4应用程序的方式与3.0应用程序不同吗?
您应该能够简单地将架构声明从2.4交换到3.0。
最初,我开始通过在2.4和2.5diff之间进行实验以及比较2.5和3.0来证明这一点。
我确信2.4和2.5之间的差异只是相加的,并且名称空间已从 转变j2ee为javaee。
然而3.0的 xsd 架构比其他两个版本的 1/3 小。不确定在这种情况下如何进行(欢迎任何想法!)
您可以从这里下载所有模式并自己进行比较:
以下是描述该标准每个新版本的新增文章:
如果您阅读,文章中提到的web.xml描述符的更改是微小的。
我要做的只是列出原始文件中的所有元素,并确认它们确实存在于描述3.0 模式web.xml的文档中。
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
9538 次 |
| 最近记录: |