1.1. spring mvc一个简短的引论
1.1.1. MVC:Model-View-Control
框架属性C完成该层的主要工作:包裹web对数据对象的请求、调用业务逻辑层来处理数据对象、应的视图给用户。
1.1.2. 简要概述spring mvc
Spring C 层框架的核心是 DispatcherServlet,它的作用是将请求分发给不同的后端处理器。也即 使用了一种被称为FrontController 的模式(后面对此模式有简要说明)。
Spring 的C 层框架使用了后端控制器来、映射处理器和视图解析器来共同完毕C 层框架的主要工作。而且spring 的C 层框架还真正地把业务层处理的数据结果和对应的视图拼成一个对象。即我们后面会经经常使用到的ModelAndView 对象。
1.2. Spring MVC入门案例
1.2.1. 新建webproject
1.2.2. 引入spring jar包和log4j包
文件文件夹结构
1.2.3. 配置web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>HelloSpringMVC</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
<!-- 配置spring mvc 的核心servlet --> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <!-- 指定spring mvc 配置文件的路径 默觉得 /WEB-INF/<[servlet-name]-servlet.xml> 比如此处为/WEB-INF/spring-servlet.xml 以下配置的也就是默认值 --> <param-value>/WEB-INF/spring-servlet.xml</param-value> </init-param> <!-- 配置随server启动自己主动初始化 --> <load-on-startup>1</load-on-startup>
</servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <!-- 过滤全部后缀名为.do的请求 --> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app> |
1.2.4. 新建一个实现了Controller接口的控制器
package com.morris.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 HelloController implements Controller { public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { ModelAndView mav = new ModelAndView("hello.jsp"); mav.addObject("message", "Hello World"); return mav; } } |
1.2.5. 配置spring-servlet.xml文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">
<bean id="simpleUrlHandlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/hello.do">helloControl</prop> <!-- 说明:hello.do的请求将给名为helloControl的bean进行处理。 --> </props> </property> </bean> <bean id="helloControl" class="com.morris.controller.HelloController"></bean> </beans> |
1.2.6. 測试
启动tomcat,在浏览器输入:http://localhost:8080/HelloSpringMVC/hello.do
出现例如以下的界面
版权声明:本文博主原创文章。博客,未经同意不得转载。