在没有POST或GET的情况下运行Servlet

时间:2011-10-03 02:14:57

标签: java jsp servlets

我是servlets的新手,并希望通过将所有“代码”保存在servlet中,并将html / bean保存在jsp页面中来遵循Model2范例。但是,有没有办法在不使用表单提交的情况下访问jsp页面时运行servlet。例如,我有一个登录页面。如果用户登录然后以某种方式返回到登录页面,我想检查他们的会话的存在并自动将他们移动到他们的欢迎页面。这是一个真实世界的例子,但似乎在不必提交表单的情况下运行代码就会派上用场。

2 个答案:

答案 0 :(得分:6)

您不必提交表单来调用servlet。您所要做的就是让浏览器点击映射到servlet的url。当提交表单,单击链接,调用xhr,使用命令行中的curl或wget等时,可能会发生这种情况。

另外,在servlet中保留所有代码并不是一个好的设计。您的servlet应该处理传入的请求,调用在单独的类中实现的业务逻辑(为了良好的模块化和测试目的),并返回相应的响应。

答案 1 :(得分:0)

如果我没记错的话,在Model2中,用户永远不会导航到(JSP)页面 - 只有控制器(servlet)。尝试从视图(页面)直接访问较低层代码(servlet)违反了MVC / Model2。

相关问题