SpringMVC简单入门 源码jar包下载和文件上传

1.Spring MVC简介


该项目的源码下载,springMVC和spring的jar包,请到 manyjar.com 下载。
下载方式1:点击下载
下载方式2:百度搜索manyjar(manyjar官网), 搜索springMVCUnit进行下载

Spring MVC基于java实现WEB MVC设计模式的的请求驱动类型的轻量级Web框架,将web层进行职责解耦,简化web开发。

SpringMVC框架通过实现Model-View-Controller模式来将数据、业务与展现进行分离。

Spring MVC和Struts、Struts2类似的框架。

SpringMVC 和天生和Spring框架可以无缝集成(IOC容器、AOP容器)。

Spring MVC的设计是围绕DispatcherServlet展开的,DispatcherServlet负责将请求派发到特定的handler。通过可配置的handler mappings、view resolution、locale以及theme resolution来处理请求并且转到对应的视图,提供了强大的约定大于配置的契约式编程。

如下Web MVC的标准架构

技术分享

Spring MVC请求处理的整体流程如图:

技术分享


2 SprinngMVC 开发简介

该项目的源码下载,springMVC和spring的jar包,请到 manyjar.com 下载。
下载方式1:点击下载
下载方式2:百度搜索manyjar(manyjar官网), 搜索springMVCUnit进行下载

2.1 Spring3.x中定义一个控制器类,必须以@Controller注解标记。

2.2 使用@RequestMapping注解将方法映射到一些请求上,以便让该方法处理那些请求。

2.3 视图可以拿到显示的数据。方法参数对于视图来说也是可以拿到的。比如说,如果处理方法以Map为参数,视图可以通过key拿到map对应的value。


3 SpringMVC版本的helloworld

该项目的源码下载,springMVC和spring的jar包,请到 manyjar.com 下载。
下载方式1:点击下载
下载方式2:百度搜索manyjar(manyjar官网), 搜索springMVCUnit进行下载

接下来我们用Spring MVC开发一个最最简单的Web应用。首先创建一个Dynamic Web Project。

我将Spring dist目录下的所有jar包放到WEB-INF/lib目录下。

3.1   springMVC和spring的jar包,下载地址 www.manyjar.com  或者  搜索springMVCUnit

3.2   在web.xml文件中添加如下片段:

配置DispatcherServlet,springMVC的配置文件名为:spring-mvc.xml

技术分享


配置spring的ContextLoaderListener,spring的配置文件名 :beans.xml
技术分享

3.3  开发一个简单的控制器类HelloController:

package springmvc.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
 
@Controller
public class HelloController {
     
    @RequestMapping(value="/hello",method=RequestMethod.GET)
    public String sayHello(
         Model model,
         Map<Object, Object> resultMap,
         @RequestParam(value="sayHello",required=false)String  sayHello ){ 

         model.addAttribute("msg", "Hello, World!");
         resultMap.put("myKey", "This is  from resultMap");
         //前端传值过来
         System.out.println(sayHello);
         return "hello";
    }
}

首先通过@Controller注解标示这个类是一个控制器,接下来通过@RequestMapping注解为制定方法sayHello处理哪些请求,在这个例子中,sayHello方法仅仅处理GET类型的/hello请求。

sayHello方法接收一个org.springframework.ui.Model类型的参数model,SpringMVC会自动将请求参数封装进model中,我们可以简单的把model理解为一个Map。我们在方法中从model中取出参数person的值并且打印出来,接下来往model中添加一个属性msg,值为"Hello,World!",然后返回视图名称hello。

接下来我们需要在Spring MVC配置文件中配置一个视图解析器,配置在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"
    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">
 
    <!-- 默认的注解映射的支持 -->
    <mvc:annotation-driven />
    <!--启用自动扫描  -->
    <context:component-scan base-package="springmvc.controller" />
   
     <!-- 内部资源视图解析器 prefix + logicName + suffix /WEB-INF/jsps/ + index + .jsp -->
     <bean id="internalResourceViewResolver"
     class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 前缀 -->
        <property name="prefix" value="/WEB-INF/jsps/" />
        <!-- 后缀 -->
        <property name="suffix" value=".jsp" />
     </bean>
</beans>

技术分享

前面没什么好说的,但是注意添加了mvc名称空间,接下来启用了spring的自动扫描,并且设置了默认的注解映射支持。这里需要重点解释的是配置文件中的那个bean。它的类型是是Spring MVC中最常用的一种视图解析器,当然还有很多其他的类型,由于这篇博客的重点在于简单的介绍Spring MVC,因此不重点介绍,后续博文会补充。prefix属性是指视图前缀,suffix是视图后缀,这里配置的是.jsp,我们在控制器的方法sayHello中返回的是hello,再结合这里的配置,对应的完整的视图是:/WEB-INF/jsp/hello.jsp。接下来我们完成这个视图,我们只是简单的取出我们放的信息msg:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>hello</title>
</head>
<body>
    1 : ${msg } <br>
    2 : ${myKey }
</body>
</html>

接下来部署应用,我们访问http://localhost:8080/springmvcnew/hello?sayHello=helloController  会显示视图的内容,并且取出了msg的内容:

控制台输出:helloController

浏览器输出:

技术分享


4  springMVC的图片上传

该项目的源码下载,springMVC和spring的jar包,请到 manyjar.com 下载。
下载方式1:点击下载
下载方式2:百度搜索manyjar(manyjar官网), 搜索springMVCUnit进行下载

配置CommonsMultipartResolver处理类,spring-mvc.xml文件内容如下:

技术分享

编写控制器PersonController.java

技术分享

编写页面jPersonCreate.jsp

技术分享


接下来部署应用,我们访问http://localhost:8080/springmvcnew/tocreate  就可以访问添加用户信息页面。

技术分享

浏览器展示如下

技术分享


至此,springMVC的简单工程就做完了。基础简单的springMVC开发简介!希望一起学习进步...


参考了博客园http://www.cnblogs.com/wawlian/archive/2012/11/17/2775435.html



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。