我正在使用servlet开发一个Web应用程序,我只读了一本关于servlet的书
由于大多数servlet都存储在一个包中..
我想知道,如果我不使用套餐怎么办?在web.xml文件中我编码:
<servlet>
<servlet-name> MyServlet</servlet-name>
<servlet-class>MyServlet</servlet-class>
<load-on-startup> 0 </load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/MyServlet</url-pattern>
</servlet-mapping>
而不是使用包并写这个
<servlet-class>foo.myproject.MyServlet</servlet-class>
我的问题是,有什么理由把我的servlet放在包中吗?
答案 0 :(得分:4)
您的servlet是一个类似于任何其他类的类,我会遵循与其他类相同的实践。例如com.x.y.ShoppingCartServlet
或类似的。您可以将软件包细分为单独的业务逻辑与部署/容器机制(例如com.x.y.servlets.ShoppingCart
),但同样,这与Java中通常使用软件包的方式没有什么不同。
您的完整软件包名称必须在部署描述符中指定。
答案 1 :(得分:3)
即使您没有指定包,您仍然在“默认”包中。将servlet放入包中的原因与任何其他Java类相同。您这样做是为了避免命名冲突并在逻辑上划分您的域的类。
答案 2 :(得分:1)
在生产环境中,多个程序员可能正在为同一服务器开发servlet。因此,将所有servlet放在顶级servlet目录中会导致大量难以管理的目录,并且当两个开发人员意外选择相同的servlet名称时,会出现名称冲突。包是这个问题的自然解决方案。使用包会导致servlet的创建方式,编译方式以及调用方式的变化。
从技术角度来看,servlet就像任何其他类一样。所以规则是相同的:)
答案 3 :(得分:0)
与任何其他POJO一样,servlet也应根据它们提供的功能进行打包。这是组织代码的好方法。