我是网络开发的新手,所以请忍受我的误解。
我们有以下示例:
用户想要执行以下操作:登录,注销,添加2个号码,撰写评论。
根据我目前的知识,我将创建4个Controller类,如:
loginController,logoutController, ArithmethicController, TextController.
在这些控制器中,我会想要所有必需的映射,但是:
像添加2个数字,写评论...... 这样的事情必须由其他类如AdditionClass, WriteTextToSourceClass, UserAuthClass
完成吗?
此外,AdditionClass, WriteTextToSourceClass, UserAuthClass
可能应该扩展HttpServlet。
我有什么不知道的是,我不知道这个Servlet
事情在哪里发挥作用,如果我已经将控制器之间的工作分开了,那么它真正使用/负责的是什么,那么我还有什么工作要做呢? servlets在这里?
答案 0 :(得分:1)
Spring使用您在Dispatcher Servlet
中定义的web.xml
。多亏了这一点,您可以专注于创建控制器。 @Controller
意味着Spring会找到你的映射。
在你的例子中只有4种方法,拥有多个控制器似乎有点过分。然而,在Java中,通常将任务尽可能划分为OO是一种好的做法。您提到的实际工作通常在@Service
类中进行,而不是扩展Servlet。所以忘记创建自己的Servlet,只使用控制器,服务和Daos(对于CRUD操作,模型即)。
:
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
这些教程确实帮助我开始:https://www.gontu.org/spring-framework-tutorials/