一、Spring MVC
1、同样还是导入相应的jar包,将用到的jar包,导入到项目的WebContent/WEB-INF/lib目录下。
2、web.xml文件
在WEB-INF目录下创建一个web.xml文件,用来配置Spring MVC的入口DispatcherServlet(类似structs2配置的StructsPrepareAndExecuteFilter过滤器),目的就是把所有的请求都提交给DispatcherServlet处理。
注:<servlet-name>springmvc</servlet-name>servlet名字的配置,方便配置springmvc的servlet.xml名字对应,springmvc-servelt.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"> <servlet> <servlet-name>springmvc</servlet-name> <!--配置springMVC的分发器--> <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>
3、创建springmvc-servlet.xml
在WEB-INF目录下创建springmvc-servlet.xml,文件名与web.xml的
标签<servlet-name>springmvc</servlet-name>配置的名字对应。
springmvc-servlet.xml是Spring MVC的映射配置文件,当有访问的路径为/index,它会把请求交给id=indexController的bean处理这个请求,这个类是IndexController
<?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="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/index">indexController</prop> </props> </property> </bean> <bean id="indexController" class="com.demo.controller.IndexController"></bean> </beans>
4、创建控制器类IndexController
控制器IndexController实现接口Controller,提供方法handleRequest来处理请求。然后Spring MVC会通过ModelAndView对象把模型model和视图view结合在一起。
package com.demo.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{ pubic ModelAndView handleRequest(HttpServeltRequest request,HttpServletResponse response) throws Exception{ ModelAndView mav=new ModelAndView("index.jsp"); mav.addObject("name","I love you!");//模型数据是product,内容是I love you return mav; } }
5、创建index.jsp
在WebContent目录下创建一个index.jsp,然后通过EL表达式获取name的内容
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false"%> <h1>${name}</h1>
6、原理总结:
6.1、当用户访问/index
6.2、根据web.xml中配置,所有的访问都会经过DispatcherServlet处理,然后进入SpringMVC处理流程。
6.3、根据配置文件springmvc-servlet.xml,访问路径/index,然后进入到IndexController控制器类。
6.4、在IndexController控制器中指定跳转页面到index.jsp。并传递name的数据
6.5、在index.jsp显示name的数据。