是否是选择要运行的控制器的URL映射的唯一方法?

时间:2016-08-14 08:31:37

标签: java spring spring-mvc

在SpringMVC应用程序中,第一步可能是将URL映射到一个Controller(而不是Jsp页面)以使用GET方法显示HomePage,不是吗?在我的特色应用程序中填写表单后,同一个控制器获取信息,进行一些验证并返回一个逻辑视图名称到InternalViewResolver以显示第二页。

我的问题是:当用户点击第二页中的图标或按钮时,如何选择下一个控制器来运行?还是一个URL映射?或者其他什么方式?

谢谢! 肯尼斯

2 个答案:

答案 0 :(得分:2)

简短的回答是,是的。无论您使用ajax请求还是表单提交,您都需要一个具有相应映射URL的控制器,它将根据您的控制器所包含的代码进一步处理您的请求。

答案 1 :(得分:0)

  

当用户单击第二页中的图标或按钮时,如何选择下一个控制器运行?还是一个URL映射?或者其他什么方式?

是的,因为Spring MVC使用的是url模式,它本身就是一种简洁而简单的映射网址集的方法。

当您在您的视图页面中单击图像或链接时,您允许Controller和DispatcherServlet接收用户的请求,并在该调度请求之后接收到控制器。然后,MappingHandler将通过遵循HttpServletRequest机制选择哪个是正确的URL请求客户端请求。

public interface HandlerMapping {
  HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception;
}

此控制器将完成处理请求/查看页面的实际工作。

请注意:URL模式本身遵循简单的方法来运行正确的URL,方法是分析模式中的每个字符,这些字符必须与URL路径中的相应字符完全匹配,但有两个例外。

在Spring MVC中,您可以执行此操作

<a href="${pageContext.servletContext.contextPath}/othersite"> Other site </a>

<spring:url value="/othersite"/>

然后URL模式将由控制器本身匹配。