Java自学之SpringMVC:视图定位
学习目的:在Servlet的学习中,我们知道,要想访问WEB-INF文件夹的资源是不能直接访问到的,只能使用forward,不能用redirect。通过SpringMVC的视图定位,也能访问到该目录下的资源。
Part 1
基于Java自学之springMVC:Hello Spring MVC一文中的项目,修改springmvc-servlet.xml配置文件,新增下面的配置信息。该调配置是把视图约定在/WEB-INF/page/*.jsp这个位置,其中“*”代表下面要访问的路径,如/index。
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/page/" />
<property name="suffix" value=".jsp" />
</bean>
修改完成如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/page/" />
<property name="suffix" value=".jsp" />
</bean>
<bean id="simpleUrlHandlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/index">indexController</prop>
<prop key="/hello">helloController</prop>
</props>
</property>
</bean>
<bean id="indexController" class="controller.IndexController"></bean>
<bean id="helloController" class="controller.HelloController"></bean>
</beans>
Part 2
修改IndexController类,如下:
package controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
//import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class IndexController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mav = new ModelAndView("index");
mav.addObject("message", "Hello Spring MVC");
return mav;
}
}
Part 3
在WEB-INF下新建一个文件夹,命名为page吧,把原来位于WebContent目录下的index.jsp移动到新建的page中。
Part 4
将项目部署在Tomcat上,并启动Tomcat服务器。在浏览器地址栏输入http://localhost:8080/springMVC/index,页面成功显示出信息。达成学习目的。

浙公网安备 33010602011771号