Spring篇--03 Spring MVC之建立第一个spring项目

Spring篇--02 Spring IOC

一、Spring MVC

1.spring mvc是什么

是一个mvc框架,用来简化基于mvc框架的web应用开发

2.五大组件

1)DiapatcherServlet

接受请求,依据HandlerMapping的配置调用相应的模型来处理

2)HandlerMapping

包含了请求路径与模型的对应关系

3)Controller(处理器)

负责处理业务逻辑

4)ModelAndView

封装了处理结果

注:处理结果除了数据之外,还可能有视图名

5)ViewResolver(视图解析器)

DispatcherServlet依据ViewResolver的解析,调用真正的视图对象来生成相应的页面

3.五大组件的关系

 

a.DispatcherServlet收到请求之后,依据HandlerMapping的配置,调用相应的Controller来处理

b.Controller将处理结果封装成ModelAndView对象,然后返回给DispatcherServlet。

c.DispatcherServlet依据ViewResolver的解析,调用相应的视图对象(比如某个jsp)来生成相应的页面

4.编程步骤

step1:导包

建立maven项目,导入依赖包

<dependencies>
	 <dependency>
	  <groupId>org.springframework</groupId>
	  <artifactId>spring-webmvc</artifactId>
	  <version>4.1.8.RELEASE</version>
	</dependency>

	 <dependency>
	 	<groupId>junit</groupId>
	 	<artifactId>junit</artifactId>
	 	<version>3.8.1</version>
	 </dependency>
  </dependencies>

step2:添加配置文件

在src/main/resource下面新建一个spring_mvc.xml文件

step3:配置DispatcherServlet

在web.xml文件中

 <servlet>
  	<servlet-name>springmvc</servlet-name>
  	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  	 <!-- DispatcherServlet在初始化方法里面,会读取该初始化参数的值来获取spring
  	 配置文件的位置,然后启动spring容器 -->
  	 <init-param>
  		<param-name>contextConfigLocation</param-name>
  		<param-value>classpath:spring_mvc.xml</param-value>
   </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
  	<servlet-name>springmvc</servlet-name>
  	<url-pattern>*.do</url-pattern>
  </servlet-mapping>

step4:Controller(处理器)

 在src/main/java下建立controller包下新建一个HelloController控制器

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 HelloController implements Controller{

	public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
		System.out.println("handleRequest()");
		/*
		 * ModelAndView有两个构造器:
		 * (1)ModelAndView(String viewName),viewName是视图名
		 * (2)ModelAndView(String viewName,Map data),Map用于封装处理数据
		 */
		return new ModelAndView("hello");
	}

}

step5:配置HandlerMapping

在spring_mvc.xml文件中

<!-- 配置HandlerMapping -->
	<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="mappings"> 
			<props>
				<prop key="/hello.do">helloController</prop>
			</props>
		</property>
	</bean>
	<!-- 配置处理器 -->
	<bean id="helloController" class="controller.HelloController"/>
	

step6:配置视图解析器ViewResolver

在spring_mvc.xml文件中

<!-- 配置视图解析器ViewResolver -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/"/>
		<property name="suffix" value=".jsp"/>
	</bean>

5.运行流程

 

 

猜你喜欢

转载自blog.csdn.net/Mind_programmonkey/article/details/80035760
今日推荐