Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaEE部署描述符:什么';servlet名称的好处是什么?_Java_Servlets_Jakarta Ee - Fatal编程技术网

JavaEE部署描述符:什么';servlet名称的好处是什么?

JavaEE部署描述符:什么';servlet名称的好处是什么?,java,servlets,jakarta-ee,Java,Servlets,Jakarta Ee,在部署描述符中,必须定义一个“servlet名称”,该名称稍后用于将servlet映射到某个URL扩展 课堂讲稿中使用的示例: <servlet> <servlet-name>Servlet1</servlet-name> <servlet-class>TestServlet</servlet-class> </servlet> <servlet-mapping> <se

在部署描述符中,必须定义一个“servlet名称”,该名称稍后用于将servlet映射到某个URL扩展

课堂讲稿中使用的示例:

<servlet> 
    <servlet-name>Servlet1</servlet-name> 
    <servlet-class>TestServlet</servlet-class> 
</servlet> 

<servlet-mapping> 
    <servlet-name>Servlet1</servlet-name> 
    <url-pattern>/Servlet1</url-pattern> 
</servlet-mapping>

Servlet1
TestServlet
Servlet1
/Servlet1
我不明白的是:

为什么不将servlet类的相对路径(相对于web应用程序文件夹)直接映射到URL模式呢

为什么不像

<servlet-mapping> 
    <servlet-class>/sources/TestServlet</servlet-class> 
    <url-pattern>/Servlet1</url-pattern> 
</servlet-mapping>

/源代码/测试servlet
/Servlet1
。。。就这样

为什么要绕道一些“servlet名称”?


定义“servlet名称”的特殊好处是什么?

不使用此类名称的一些原因

<servlet-mapping> 
    <servlet-class>/sources/TestServlet</servlet-class> 
    <url-pattern>/Servlet1</url-pattern> 
</servlet-mapping>

/源代码/测试servlet
/Servlet1
是:

  • 威胁防护
  • 抽象
在可部署war文件中没有“web应用程序文件夹”这样的东西。您将开发环境中的内容与要部署在web服务器上的war文件的标准结构相混淆。