Java 是否在包中存储servlet?
我正在使用servlet开发一个web应用程序,我刚刚读了一本关于servlet的书 因为大多数servlet都存储在一个包中 我想知道,如果我不使用软件包怎么办?在web.xml文件I代码中:Java 是否在包中存储servlet?,java,jsp,tomcat,servlets,Java,Jsp,Tomcat,Servlets,我正在使用servlet开发一个web应用程序,我刚刚读了一本关于servlet的书 因为大多数servlet都存储在一个包中 我想知道,如果我不使用软件包怎么办?在web.xml文件I代码中: <servlet> <servlet-name> MyServlet</servlet-name> <servlet-class>MyServlet</servlet-class> <load-on-startup
<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>
MyServlet
MyServlet
0
MyServlet
/MyServlet
而不是使用一个包来写这个
<servlet-class>foo.myproject.MyServlet</servlet-class>
foo.myproject.MyServlet
我的问题是,是否有任何理由将我的servlet放在包中?即使您没有指定包,您仍然在“默认”包中。将servlet放入包中的原因与任何其他Java类相同。这样做的目的是避免命名冲突,并在逻辑上为域划分类 您的servlet与其他类一样,我将遵循与其他类相同的实践。e、 g.
com.x.y.ShoppingCartServlet
,或类似产品。您可以对包进行细分,以将业务逻辑与部署/容器机制分离(例如,com.x.y.servlets.ShoppingCart
),但这与Java中通常使用包的方式没有什么不同
您的完整包名必须在部署描述符中指定。与任何其他POJO一样,servlet也应该根据其提供的功能进行打包。这是组织代码的好方法。在生产环境中,多个程序员可能正在为同一台服务器开发servlet。因此,将所有servlet放在顶级servlet目录中会导致大量难以管理的目录,并且当两个开发人员意外地选择相同的servlet名称时,会有名称冲突的风险。软件包是这个问题的自然解决方案。使用包会改变servlet的创建方式、编译方式和调用方式
从技术角度来看,servlet和其他任何类都一样。因此,它的规则是相同的:)您可以自己测试它并查看结果。嗯,我做不到。它转到默认包。然后您已经有了答案。您不能拥有没有包的类,因此您的语句无效。确实是。我被那本书弄糊涂了,书上写着“大多数servlet…”。还有其他人没有吗?(我当时想)谢谢你!