SpringMVC 如何访问web-inf下的页面

<mvc:view-controller path=""/>标签的作用

  对应WEB-INF目录下面的JSP页面,我们知道是不能直接使用URL访问到。需要通过转发的方式,而我们一般都是在控制器中做转发映射,对应一些我们不需要其他操作的JSP页面,我们可以使用<mvc:view-controller path=""/>来配置,这样就可以不用再控制器中再去做转发映射

没有使用<mvc:view-controller path=""/>

看看success.jsp页面的目录结果

一般我们需要配置一个spring配置文件中配置一个视图解析器

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
     <property name="prefix" value="/WEB-INF/"/>
     <property name="suffix" value=".jsp"></property>
</bean>

然后在配置一个控制器

@Controller
public class UserController {
    @RequestMapping("/toSuccess")
    public String update(){
         return "success";
     }
     
 }

  这里使用http://localhost:8080/springmvc-1/toSuccess 可以正确得到页面

使用<mvc:view-controller path=""/>

在springmvc配置文件中配置

1 <mvc:view-controller path="/login/success"/>

path是JSP页面相对WEB-INF的路径

下面我们使用http://localhost:8080/springmvc-1/login/success来访问,同样可以得到正确页面

下面我们再次访问之前的那个url:http://localhost:8080/springmvc-1/toSuccess。结果出现404错误

 

也就是说我们配置了<mvc:view-controller path="/login/success"/>后原来通过控制器来映射的url无法访问到页面了。

其实还用一种办法。我们实际开发中通常要在spring配置文件中添加一句代码

<mvc:annotation-driven></mvc:annotation-driven>

添加后我们在才访问http://localhost:8080/springmvc-1/toSuccess

页面就正常。

对应<mvc:annotation-driven>标签我们后面再讲解

猜你喜欢

转载自blog.csdn.net/xqhys/article/details/81380314
今日推荐