In spring MVC, in forward and redirect Spring MVC, when we return to the logical view, the framework parses the specific view through viewresolver and renders it to the browser. Assuming that the logical view is named Hello, through configuration, we
Configure a viewresolver as follows:
<beanclass="Org.springframework.web.servlet.view.InternalResourceViewResolver"> <description>If the logic tries to name"Hello", so Viewresolver will parse into/web-inf/jsp/hello.jsp</description> <property name="Order"Value="Ten"/> <property name="prefix"Value="/web-inf/jsp/"/> <property name="suffix"Value=". JSP"/> </bean>
In fact, the framework is forwarded to the/web-inf/jsp/hello.jsp by means of forward. If the logical view name is/hello, it is actually forwarded to/web-inf/jsp/hello.jsp, that is,/web-inf/jsp//hello.jsp is equivalent to/web-inf/jsp/hello.jsp.
Now there is a problem, if/hello is a controller mapping, I want to forward to this controller, how to do? We can use the forward prefix to achieve the purpose of forwarding to other resources:
Public String handle () { // return "Forward:/hello" = + forwards to controller capable of matching/hello return "Hello" + is actually forwarding, except that the framework will find the view corresponding to the logical views and render // return "/hello" and the same re Turn "Hello" return"forward:/hello"; }
Similarly, if we want to redirect to a resource, we can achieve the purpose of redirecting to other resources by redirect the prefix:
Public String handle () { // redirect to/hello resource return'redirect:/ Hello"; }
Forward and redirect in Spring MVC