Spring MVC做为SpringFrameWork的后续产品,Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构
Spring 的 Web MVC 框架是围绕 DispatcherServlet
设计的,它把请求分派给处理程序,同时带有可配置的处理程序映射、视图解析、本地语言、主题解析以及上载文件支持。
下面看一下Spring mvc 的简单配置入门:
首先新建一个Web项目,引入Spring相关jar包,这里在我们可以忽略spring与Struts2集成的jar包,引入Spring mvc相关jar包.相关jar包如下:这里需要注意,需要引入servlet-api.jar包
DispatcherServlet是spring mvc 的一个前端控制器,当一个请求过来时转给DispatcherServlet处理
首先我们在web.xml中声明DispatcherServlet处理请求:
- <?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">
- <servlet>
- <servlet-name>springMVC</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <!-- 设置servlet的启动级别 -->
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>springMVC</servlet-name>
- <url-pattern>/</url-pattern>
- </servlet-mapping>
- </web-app>
DispatcherServlet在初始化的过程中需要一个配置文件来产生文件中的各种Bean,默认情况下,配置文件是放在WEB-INF下,其命名是有约定的,是我们在web.xml中声明的DispatcherServlet名称-servlet.xml ,本例中其名称为:springMVC-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:context="http://www.springframework.org/schema/context"
- xmlns:mvc="http://www.springframework.org/schema/mvc"
- 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">
- <bean
- class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="prefix" value="/" />
- <property name="suffix" value=".jsp" />
- </bean>
- </beans>
Controller处理完成后会交给InternalResourceViewResolver处理,InternalResourceViewResolver用于支持Servlet、JSP视图解析.属性名为prefix的作用是指定视图文件的位置,属性名为suffix是作用是视图文件的类型,例如当我们prefix指定为:/mvc时 ,当传进来的逻辑视图名为hello它就会找mvc/hello.jsp.
然后我们新建一个控制器
- package gd.hz.springmvc.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 HelloWorld implements Controller {
- public ModelAndView handleRequest(HttpServletRequest request ,
- HttpServletResponse response) throws Exception {
- return new ModelAndView("hello");
- }
- }
控制器必须实现Controller接口,注意不选错了Controller,注意一下包全称.后面我还会讲其它的处理方法.
方法handleRequest,处理过来的请求,并转到相关页面.new ModelAndView("hello")返回逻辑视图名称为hello,所以根据上面的配置,它会到WebRoot下找hello.jsp页面.
新建hello.jsp页面
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Hello SpringMVC</title>
- </head>
- <body>
- 你好:Spring MVC
- </body>
- </html>
在springMVC-servlet.xml声明视图访问路径:
- <bean name="/mvc/hello" class="gd.hz.springmvc.controller.HelloWorld"></bean>
输入url进行测试:http://localhost/SpringHelloWorld/mvc/hello
相关推荐
这个"spring MVC简单示例"是为了帮助初学者理解Spring MVC的基本工作原理和配置,通过实践这个例子,你可以了解到如何创建一个简单的Controller、配置视图解析器并建立一个基本的请求处理流程。随着对Spring MVC的...
这个"Spring MVC 简单Demo"旨在帮助初学者理解如何设置和运行一个基本的Spring MVC项目。下面,我们将深入探讨Spring MVC的核心概念、工作原理以及如何创建一个简单的示例。 1. **Spring MVC 概述** Spring MVC是...
Spring MVC 是一个强大的Java web...通过这个简单的例子,初学者可以全面地了解Spring MVC的工作原理和流程,为更深入的Web开发打下基础。实践中遇到的问题和解决方法也会加深对Spring MVC的理解,有助于提升开发技能。
Spring MVC简单易用,可以快速提高开发效率,且性能优秀,社区活跃,文档丰富。由于支持注解配置,使得框架更加易用。相较于Struts2,Spring MVC避免了一些可能导致性能下降的特性,如值栈、OGNL表达式等。 二、...
另外,Spring Boot的出现简化了Spring MVC的配置,通过自动配置和起步依赖,使得搭建Spring MVC项目变得更加简单。 除此之外,Spring MVC还支持数据绑定、验证、本地化、主题、异常处理等功能。例如,使用@...
- `Spring MVC + Mybatis+Spring实现的个人博客系统`: 这个可能是博客系统的源代码,包括控制器、服务、DAO、实体类以及配置文件等。 **6. 开发流程** 开发此类系统时,一般会经历以下几个步骤:设计数据库模型,...
这个简单的登录注册系统展示了Spring框架的强大功能,以及如何与其他技术如Spring MVC、Spring JDBC和MySQL协同工作,为开发者提供了一个完整的后端解决方案。通过深入理解并实践这些知识点,开发者能够构建更复杂的...
这篇博客“spring MVC配置,六步简单搞定”可能介绍了如何快速且有效地设置Spring MVC项目。下面将详细阐述Spring MVC配置的六个关键步骤,以及与之相关的知识点。 **步骤1:引入Spring MVC依赖** 在开始Spring MVC...
- **配置**:通常通过Java配置或XML配置来设置Spring MVC的组件,如定义映射路径、拦截器等。 - **MVC模式**:Model代表业务数据,View负责渲染视图,Controller处理用户请求并协调Model和View。 2. **Spring ...
这个简单的Demo将向我们展示如何使用Spring MVC创建一个基本的Web应用。在这个过程中,我们将涉及控制器、视图解析器、模型数据以及HTTP请求处理等核心概念。 首先,我们需要在项目中引入Spring MVC的依赖。这通常...
Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。Spring MVC的设计目标是提供一个清晰的组件化架构,使得开发者可以独立地开发和测试控制器、...
- 配置Spring MVC:在Spring的配置文件中,我们需要定义DispatcherServlet、视图解析器和处理器映射器等。 - 集成MyBatis:引入MyBatis的依赖,配置SqlSessionFactoryBean,创建MapperScannerConfigurer扫描Mapper...
下面是一个简单的Spring MVC单元测试示例: ```java import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure....
在Spring MVC项目中,需要配置Spring的web.xml,定义DispatcherServlet以及加载Spring MVC的配置文件。此外,还需要创建Spring MVC的配置文件,比如`spring-mvc.xml`,里面包含了HandlerMapping、ViewResolver等...
在本教程中,我们将深入探讨Spring MVC的基本概念、配置、以及如何创建一个简单的示例。 首先,Spring MVC的核心概念包括DispatcherServlet、Controller、Model、View和ViewResolver。DispatcherServlet是Spring ...
在Spring MVC配置文件中,我们需要设置视图解析器、映射处理器、数据绑定等。 7. **创建RESTful控制器**:创建一个Java类,使用`@RestController`注解,并添加处理请求的方法。例如,创建一个返回JSON的GET请求: ...
4. **配置Spring MVC**:在Spring MVC的配置文件中,设置`WebServiceMessageReceiver`和`WebServiceTemplate`,并定义一个`@Controller`来处理HTTP请求,将请求转发到Web服务。 5. **客户端调用**:在Spring MVC...
Spring MVC提供了方便的文件上传和下载功能,开发者可以通过简单的API来实现复杂的文件操作。 **6. 异常处理** 通过自定义异常处理器,Spring MVC允许优雅地处理运行时异常,提供了统一的错误页面和异常信息。 **7...