Spring MVC入门

Spring MVC入门文档

1、Spring mvc介绍

1.1、Spring mvc是什么?

Spring web mvcStruts2属于表现层的框架就是从请求中接收传入的参数,将处理后的结果数据返回给页面展示它是Spring框架的一部分,我们可以从Spring的整体结构中看得出来

            

1.2Spring MVC处理流程

  

 

2Spring MVC的入门程序

2.1、 搭建环境

本教程Jdkjdk1.8

MyEclipsemars

Tomcatapache-tomcat-6.0.35

spring 的官方API 文档中,给出所有包的作用概述,现列举常用的包及相关作用:

org.springframework.aop-3.0.5.RELEASE.jar :与Aop 编程相关的包

org.springframework.beans-3.0.5.RELEASE.jar :提供了简捷操作bean 的接口

org.springframework.context-3.0.5.RELEASE.jar :构建在beans 包基础上,用来处理资源文件及国际

化。

org.springframework.core-3.0.5.RELEASE.jar spring 核心包

org.springframework.web-3.0.5.RELEASE.jar web 核心包,提供了web 层接口

org.springframework.web.servlet-3.0.5.RELEASE.jar web 层的一个具体实现包,

DispatcherServlet也位于此包中。

2.2、编写HelloSpringMVC 实例

步骤一、建立名为helloSpringMVC,并导入上面列出的jar 包。

 

步骤二、编写web.xml 配置文件,代码如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" 

xmlns="http://java.sun.com/xml/ns/javaee" 

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

  <display-name></display-name>

  <welcome-file-list>

    <welcome-file>index.jsp</welcome-file>

  </welcome-file-list>

 

   <servlet>

      <servlet-name>CoreDispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <init-param>

      <param-name>contextConfigLocation</param-name>

      <param-value>/WEB-INF/spring-mvc.xml</param-value>

    </init-param>

    <load-on-startup>1</load-on-startup>

  </servlet>

  <servlet-mapping>

    <servlet-name>CoreDispatcherServlet</servlet-name>

    <url-pattern>*.do</url-pattern>

  </servlet-mapping>

</web-app>

注:DispatcherServlet 就是一个Servlet ,也是对请求进行转发的核心Servlet 。在这里即所

.do 的请求将首先被DispatcherServlet 处理,而DispatcherServlet 它要作的工作就是对请求进行分发(也即是说把请求转发给具体的Controller)。

 

步骤三、建立 spring-mvc.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:context="http://www.springframework.org/schema/context"

  xsi:schemaLocation="

http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context.xsd">

 

    <context:component-scan base-package="com.haiyi.control" />

 

<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">

<property name="prefix" value="/WEB-INF/view" />

</bean>

</beans>

步骤四、完成 HelloAction.java 的编写,代码如下:

package com.haiyi.control;

 

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.servlet.ModelAndView;

 

@Controller

  public class HelloAction {

  @RequestMapping("/hello3")

public ModelAndView say(String msg){

ModelAndView mv = new ModelAndView();

mv.setViewName("/main/hello.jsp");

mv.addObject("msg", "haiyisoft " + msg);

return mv;

}

}

访问路径:http://localhost:8080/helloSpringMVC/hello3.do?msg=hello

 

2、简析spring mvc 工作原理

3.1、 简析spring mvc 工作原理

1 )启动服务器,根据web.xml 的配置加载前端控制器(也称总控制器) DispatcherServlet 。在加载时、会完成一系列的初始化动作。

2 )根据servlet 的映射请求(上面的helloSpringMVC 实例中针对.do 请求),并参照“控制器配置文件”(即spring-mvc这样的配置)文件,把具体的请求分发给特定的后端控制器进行处理(比如上例会分发给HelloWorld 控制器进行处理)

3 )后端控制器调用相应的逻辑层代码,完成处理并返回视图对象( ModelAndView )给前端处理器。

4 )前端控制器根据后端控制器返回的 ModelAndView 对象,返回一个相应的页面给客户端。

小结 :这种Front Controller 模式常应用在主流的web 框架中,比如典型的struts1.x 框架.FrontController 模式:所有请求先交给一个前端处理器(总控处理器)处理,然后前端处理器会参照一些配置文件再把具体的请求交给相应的后端处理器。后端处理器调用逻辑层代码,并根据逻辑返回相应的视图对象给前端控制器。然后前端控制器再根据视图对象返回具体的页面给客户端(提示:和spring mvc一样,在struts1.x 中前端控制器是Servlet, 而在struts2 中前端控制器是Filter )。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值