Spring MVC入门讲解

一、Springmvc是什么?

 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,

将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。

          

    二、Spring MVC 架构图:

        

1、DispacherServlet前端控制器

负责用户请求和响应,是一个中央控制器(调度),调用HandlerMapping查找Handler,调用HandlerAdapter处理器适配器执行Handler,调用ViewResolver视图解析器去解析视图,有了DispacherServlet有利于框架扩展,减少了各各组件之间耦合性。

2、HandlerMapping处理器映射器

负责查找Handler(常用action),通过xml配置方式或注解方式将Handler类和request请求Handler链接地址进行对应配置。

3、HandlerAdapter处理器适配器

Springmvc提供了很多种适配器,注解适配器支持注解开发、原始servlet适配器(HanderRequestAdapter)支持原始servlet的执行。

负责执行Handler,适配器是按照一定的规则去执行Handler,调用Handler返回的结果是ModelAndView,ModelAndView将Model和view封装起来(模型数据和视图)

4、ViewResolver视图解析器

负责进行视图解析,返回View,框架执行很多类型的View(jstlView、pdfView。。。)

三、案列

我们来撰写第一个入门小案列:

我们首先要准备jar包,然而jar包的地址我已经给你们准备好了:http://pan.baidu.com/s/1eRAaG2A

接下来我们把项目搭建起来:

然后我们编写web.xml文件,在这个文件的<web-app>节点下添加如下代码:

  <servlet>
      <servlet-name>spring</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
      <servlet-name>spring</servlet-name>
      <url-pattern>/</url-pattern>
  </servlet-mapping>

这几行代码中,servlet节点的servlet-name是你springMVC配置文件的名字,而配置文件这样命名:servletName-servlet.xml

<url-pattern>/</url-pattern>代表分发所有请求!然后我们在去配置SpringMVC的配置文件具体代码如下:
<?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:mvc="http://www.springframework.org/schema/mvc"
    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
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
    <context:component-scan base-package="org.springframework.samples.petclinic.web"/>
	<!-- 这行代码代表的是用哪个URL地址,访问哪个类! name就是URL class就是你输入这个URL地址后要访问的类  -->
	<bean name="/first" class="cn.happy.controller.Login" /> -->
	<!-- 视图解析器:负责进行视图解析,返回View -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<!--
		 前缀(prefix)和后缀(suffix),和我们返回的View组合,进而找到一个屋里视图!
		组合后的形式:http://localhost:8080/项目名/WEB-INF/jsp/View名.jsp
		-->
		<property name="prefix" value="/WEB-INF/jsp/"  />
		<property name="suffix" value=".jsp"  />
	</bean>
</beans>

 我们写完SpringMVC的配置文件之后,就该去编写类了:

package cn.happy.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class Login extends AbstractController {

	@Override
	protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
			HttpServletResponse arg1) throws Exception {
		//我们来打印一句话,然后返回一个视图名
		System.out.println("Hello,Spring MVC!");
		return new ModelAndView("success");
	}
}

然后我们返回去编写WEB-INF->jsp->success.jsp页面

        

成功页面: 上面是我们的第一种方式,第二种方式是是用注解的方式来实现,我们接下来改一下我们的配置文件,在文件里添加两行代码:
<context:component-scan base-package="cn.happy.controller" />
<mvc:annotation-driven/>
第一行代码的意思是类在哪个包下,第二行代码是扫描我这个包下的所有类,接下来我们编写我们Hellocontroller类:
package cn.happy.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

//这个注解是让我们的类可以实现调度请求
@Controller
public class HelloController {

	//这个注解是我们访问时候的URL地址
	@RequestMapping(value="/hello")
	public String hello(String name){
		//方法中的name参数是可以被SpringMVC自动装配的,
		System.out.println("通过非注解模式");
		return "success";
	}
}

 


到这里我们的SpringMVC入门小案例已经写完了,各位大大看完记得点赞哦!
时间: 2024-10-23 13:40:02

Spring MVC入门讲解的相关文章

Spring MVC入门教程(二)

第一篇文章宏观讲了Spring MVC概念,以及分享了一个快速入门的例子(文章链接). 这篇文章主要来谈谈Spring MVC的配置文件. 首先来谈谈web.xml: web项目启动时自动加载到内存中的信息,比如服务器配置参数,<listener>监听器,<filter>过滤器,<servlet>等.再如,如果在项目中使用了spring框架,则必须定义ContextLoaderListener,那么在启动Web容器时,会自动装配Spring applicationCon

spring MVC入门示例(hello world demo)

1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框 架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的. Spring Web MVC也是服务到工作者模式的实现,但进行可优化.前端控制器是DispatcherServlet:应用控制器其实拆为处理器映射器(Handler M

Spring MVC 入门实例

概述: springmvc 框架围绕DispatcherServlet这个核心展开,DispatcherServlet是Spring MVC的总控制,它负责截获请求并将其分派给相应的处理器处理.SpringMVC框架包括注解驱动控制器.请求及响应的信息处理.视图解析.本地化解析.上传文件解析.异常处理以及表单标签绑定等内容. SpringMVC是主要基于MODEL2实现的技术框架,Model2是经典的MVC(model.view.control)模型在web应用中的变体,这个改变主要源于HTTP

Spring MVC 入门示例讲解

MVC框架是什么 Dispatcher Servlet(Spring控制器) Spring入门示例 运行时依赖库 web.xml和spring-servlet.xml文件配置 请求控制器EmployeeController.java 视图模型EmployeeVO.java Dao类 业务层类 视图employeeListDisplay.jsp MVC框架是什么 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式.它主要通过分离模型.视图及控制器在应用程序中的角色将业务

spring mvc入门教程(快速入门,深入分析)

目录 一.前言 二.spring mvc 核心类与接口 三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 六.springMVC-mvc.xml 配置文件片段讲解 七.spring mvc 如何访问到静态的文件,如jpg,js,css 八.spring mvc 请求如何映射到具体的Action中的方法 九.spring mvc 中的拦截器: 十.spring mvc 如何使用拦截器 十一.sprin

【转载】Spring MVC入门

转自:http://www.importnew.com/15141.html MVC框架是什么 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的设计模式.它主要通过分离模型.视图及控制器在应用程序中的角色将业务逻辑从界面中解耦.通常,模型负责封装应用程序数据在视图层展示.视图仅仅只是展示这些数据,不包含任何业务逻辑.控制器负责接收来自用户的请求,并调用后台服务(manager或者dao)来处理业务逻辑.处理后,后台业务层可能会返回了一些数据在视图层展示.控制器收集这些数据及

Spring MVC 入门 - 框架搭建

感觉网上从环境搭建讲起的教程不多,好多示例也比较复杂,而且也没个图啥的,所以就上一个简单易懂的版本. 有多简单捏?从eclipse建立工程开始,结束后作出一个可以响应请求的Servlet. 在这个文章里面,我们需要 - 建立一个eclipse工程: 编写两个xml: 编写两个jsp页面: 编写一个Java文件. 准备工作 - Eclipse J2EE版本: Tomcat 一只: 注:所有斜体字代表-文件名,类名,变量名等可替换内容. 第一步: 使用Eclipse建立动态网页工程. 输入项目名字,

Spring MVC入门(4.1版本)

(第一版,2014年12月27日) Web MVC框架中除了最流行的Struts,还有Spring MVC,相对来说Spring MVC更加灵活.简便,如果你只是开发一个小型的web应用,我认为Spring MVC是更好的选择. 下面我就以一个简单的例子来说明Spring MVC的基本用法.(示例程序我已上传至gitcafe,https://gitcafe.com/xt/SpringMVC_Study) 首先下载相关的jar包: spring:http://maven.springframewo

Spring MVC入门教程(一)

直接干货 model 考虑给用户展示什么,关注支撑业务的信息构成,构建成模型: control 调用业务逻辑产生合适的数据以及传递数据给视图用于呈献: view 如何对数据进行布局,以一种优美的方式展示给用户: MVC核心思想:业务数据抽取和业务数据呈献相分离. 看看Spring MVC官网给的图:http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html Spring'sweb MVC f