我刚刚开始学习Spring,我很困惑。
我刚刚创建了一个新的春季遗产项目'在STS。 HomeController和home.jsp都在那里。
当我在服务器上运行它时,它首先通过HomeController,然后到达home.jsp。
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
return "home";
}
是什么让我的项目在开始时通过HomeController?我应该查看任何xml文件吗?
值=" /"在@RequestMapping中意思是什么?
在home.jsp,我按了一个按钮去了结果.jsp'。来自' result.jsp'我想回到home.jsp。但它不起作用。我该怎么办?
<input type="button" value="뒤로 " onclick="javascript:location.href='/views/home.jsp'">
为什么这个按钮不起作用?这两个JSP文件在同一个地方。
答案 0 :(得分:1)
您的应用已部署到某个应用服务器,例如tomcat。请求&lt; app server&gt; /&lt; context root&gt;应用服务器使用适当的上下文根来处理.war。到你的应用程序。您的应用程序使用Spring MVC,因此来自.war文件的Spring的RequestMappingHandlerMapping bean最初处理请求并找到将处理此请求的方法。它通过将请求中的路径与使用@RequestMapping注释的每个方法的值进行比较来实现。
home()方法的注释@RequestMapping(value =&#34; /&#34;)表示请求&lt; app server&gt; /&lt; context root&gt;将由您的家庭()&#39;处理方法
来自JSP的任何请求都将返回到Spring MVC,它将尝试将其映射到适当的控制器方法,即通过@RequestMapping使用相对于上下文根的适当路径注释的方法。因此,如果你的result.jsp只链接到&#34; /&#34;,它应该带你到home()方法然后到home.jsp。