Skip to main content
 首页 » 编程设计

jakarta-ee之网络应用程序版本到底是什么它有什么影响

2024年11月01日20leader

在 java web 应用程序中,有一个名为 web.xml 的文件,它有一个版本控制。

这究竟是什么?它是干什么用的?

Here是 web.xml 的 SO wiki。但这并不能真正解释我太多。

It allows you to define, declare and configure the Servlet API based implementations in your web application, such as servlets, filters and listeners.



示例 web.xml 版本控制:
<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"> 

有人可以用简单的例子来解释这一点吗?

请您参考如下方法:

Web.xml是您定义 Web 应用程序配置的中心位置。例如,您可以在那里指定:

  • servlet 映射,即哪个 URL 路径引用哪个 Java 类(例如,当用户键入 http://something.com/Koray 时,您可以将该请求指向 KorayServlet.java 类,您可以在其中保留 servlet 的实现)
  • 授权参数,例如该用户 Tugay 有权访问 http://something.com/Koray/pictures ,但不是到 http://something.com/Koray/documents
  • 所有其他安全设置,例如当有人试图打开 http://something.com/Restricted ,你将他重定向到 https ://something.com/Restricted,即它必须使用 SSL
  • 您网站的欢迎页面(例如,当用户输入 http://something.com/Koray 您将他重定向到 http://something.com/Koray/index.html )

  • 我还建议研究 Servlet 3.0 规范,其中许多参数可以通过注释设置。

    版本控制

    版本控制是指您的 web.xml 的语法的 XML 模式版本。文件必须服从。更重要的是,它还指示您的应用程序实现的 Servlet 规范的版本。 Servlet 3.0 兼容的示例 web.xml应该开始:
    <web-app version="3.0" 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"> 
    

    大多数 IDE 会自动生成 web.xml 的那部分.如果由于某种原因要手动更改它,请注意匹配 web-app 和 xsd 的版本。
    web.xml的具体例子, 看:
  • web.xml Versioning
  • The deployment descriptor: web.xml
  • Sample Web XML application files