步骤:详细步骤都在代码中,包括视图定位的方法
原理:
- 用户访问 /index
- 根据web.xml中的配置 所有的访问都会经过DispatcherServlet
- 根据 根据配置文件springmvc-servlet.xml ,访问路径/index
会进入IndexController类 - 在IndexController中指定跳转到页面index.jsp,并传递message数据
- 在index.jsp中显示message信息
一、配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- 配置Spring MVC的入口 DispatcherServlet,把所有的请求都提交到该Servlet -->
<!-- 注意:<servlet-name>springmvc</servlet-name> -->
<!-- springmvc这个名字在下一步会用到 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
二、配置springmvc-servlet.xml文件
<?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="viewResovler" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/page/"/>
<property name="suffix" value=".jsp"></property>
<!-- 结束(其作用是把视图约定在 /WEB-INF/page/*.jsp 这个位置)-->
</bean>
<!-- 在WEB-INF目录下创建 springmvc-servlet.xml -->
<!-- springmvc-servlet.xml 与上一步中的 -->
<!-- <servlet-name>springmvc</servlet-name> -->
<!-- springmvc对应 -->
<!-- 这是Spring MVC的 映射配置文件 -->
<!-- 表示访问路径/index会交给id=indexController的bean处理 -->
<!-- id=indexController的bean配置为类:IndexController -->
<bean id="simpleUrlHandlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/index">indexController</prop>
</props>
</property>
</bean>
<bean id="indexController" class="controller.IndexController"></bean>
</beans>
编写java代码
package controller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class IndexController implements Controller {
public ModelAndView handleRequest(HttpServletRequest requset, HttpServletResponse response) throws Exception {
// TODO 自动生成的方法存根
// 控制类 IndexController实现接口Controller ,提供方法handleRequest处理请求
// SpringMVC通过 ModelAndView 对象把模型和视图结合在一起
//ModelAndView mav = new ModelAndView("index.jsp");
// 视图定位方法
ModelAndView mav = new ModelAndView("index");
mav.addObject("message", "Hello SpringMVC");
return mav;
}
}
四、编写index.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<h1>${message}</h1>
</body>
</html>