今天和大家分享下  Spring MVC  入门教程

首先还是从 HelloWorld  web 工程开始

--------------------------

1.首先创建一个Maven Web工程(此处 略啦)

2.增加项目依赖jar

此jar包版本用户可以自行决定。在pom文件增加即可

例如:我这里使用的版本为 3.0.5版本

<properties>

<spring.version>3.0.5.RELEASE</spring.version>

</properties>

         <!-- spring jars -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>

3. 编写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>Spring Web MVC Application HelloWorld</display-name> <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/MVCHelloWord-servlet.xml</param-value>
</context-param> <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <servlet>
<servlet-name>MVCHelloWord</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>MVCHelloWord</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list> </web-app>

说明:

1. context-param 节点:

此节点中配置的是需要加载的配置文件路径  按照上面的示例  应用程序会去加载  WEB-INF  目录下  MVCHelloWorld  配置文件

2 servlet节点:

和普通的J2EE工程中的Servlet没有本质区别 只是 servlet-class 中使用的是Spring提供的Class 而已

注:

  servlet 中 servlet-name 名称 和 context-param 中 param-name的名字是有关系的。

  servlet-name 名字 是 param-name名字的前缀 ,而 param-name中还要增加    -servlet

4.编写 MVCHelloWorld-servlet.xml 配置文件

此文件放置路径在 之前的 web.xml 中已经明确定义

 <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
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"> <context:component-scan base-package="net.cc.controller" /> <bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/page/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean> </beans>

bean 中配置的是访问的资源 前缀、后缀 信息。

prefix 表示前缀,资源都在 WEB-INF 下 page 中

suffix 表示后缀,资源后缀 都是   .jsp  结尾

5. 编写 Java 代码

新建  net.cc.controller 包  并新建类:

 package net.cc.controller;

 import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; /**
* @author test
* @create 2014-8-15下午01:48:43
* @version 1.0
*/
@Controller
@RequestMapping("/welcome")
public class HelloController { @RequestMapping(method = RequestMethod.GET)
public String printWelcoem(ModelMap model) { model.addAttribute("message", "Hello World!");
return "hello";
}
}

HelloController 类 与一般Java类没有什么区别,不需要实现或继承Spring中类

@Controller  表示此类是一个控制器

@RequestMapping  表示 /welcome  用户访问此路径时 会进入此类

printWelcome类中 只是给model中 增加一个信息   key是 message     value是 Hello World     并return 一个hello

这个 hello最终会变成  hello.jsp   因为在之前的配置文件中已经确定了 后缀都是  .jsp 结尾   所以 用户需要编写一个   hello.jsp文件

这个  hello.jsp文件 放置的目录也已经在之前的配置文件中定义好。 在  WEB-INF 下 page 中  用户在此目录下创建  hello.jsp 文件即可

当用户想在 界面上获取 控制器中的内容 可以用   ${}   即可

按照上面的代码示例, 如果想在 hello 界面上 获取信息  可使用  ${message}  即可打印出 Hello World

----------------------------------------------------

至此  HelloWorld 工程编写完成  用户可直接部署到 Tomcat 等皆可

访问路径   http://IP:port/工程名称/welcome

--------------------------------------------------------------------------------------------------------

如果有描述不正确的地方  还请各位指出~~   谢谢  

Spring MVC 入门教程示例 (一)的更多相关文章

  1. spring mvc入门教程 转载自【http://elf8848.iteye.com/blog/875830】

    目录  一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...

  2. spring MVC入门教程

    写一个spring mvc后台传值到前台的一个小例子. 分为以下几个步骤: 1.创建web项目. 导入项目包.具体有如下: spring-aop-4.0.4.RELEASE.jar spring-be ...

  3. 【转】spring MVC入门示例(hello world demo)

    部分内容来自网络:<第二章 Spring MVC入门 —— 跟开涛学SpringMVC > 1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web M ...

  4. Java - Struts框架教程 Hibernate框架教程 Spring框架入门教程(新版) sping mvc spring boot spring cloud Mybatis

    https://www.zhihu.com/question/21142149 http://how2j.cn/k/hibernate/hibernate-tutorial/31.html?tid=6 ...

  5. Spring Boot入门教程1、使用Spring Boot构建第一个Web应用程序

    一.前言 什么是Spring Boot?Spring Boot就是一个让你使用Spring构建应用时减少配置的一个框架.约定优于配置,一定程度上提高了开发效率.https://zhuanlan.zhi ...

  6. Spring MVC新手教程(二)

    第一篇文章宏观讲了Spring MVC概念,以及分享了一个高速入门的样例. 这篇文章主要来谈谈Spring MVC的配置文件. 首先来谈谈web.xml: web项目启动时自己主动载入到内存中的信息, ...

  7. Spring Boot入门教程2-1、使用Spring Boot+MyBatis访问数据库(CURD)注解版

    一.前言 什么是MyBatis?MyBatis是目前Java平台最为流行的ORM框架https://baike.baidu.com/item/MyBatis/2824918 本篇开发环境1.操作系统: ...

  8. Spring Boot 入门教程

    Spring Boot 入门教程,包含且不仅限于使用Spring Boot构建API.使用Thymeleaf模板引擎以及Freemarker模板引擎渲染视图.使用MyBatis操作数据库等等.本教程示 ...

  9. Spring Cloud 入门教程(二): 配置管理

    使用Config Server,您可以在所有环境中管理应用程序的外部属性.客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring ...

随机推荐

  1. jQuery 遍历each()的使用方法

    .each()是一个for循环的包装迭代器.each()通过回调的方式处理,并且会有2个固定的实参,索引与元素(从0开始计数).each()回调方法中的this指向当前迭代的dom元素 遍历方法: & ...

  2. PHP session回收机制

    由于PHP的工作机制,它并没有一个daemon线程,来定时地扫描session信息并判断其是否失效.当一个有效请求发生时,PHP会根据全局变量 session.gc_probability/sessi ...

  3. C#导出GridView数据到Excel文件类

    using System; using System.Web; using System.Web.UI; using System.IO; using System.Web.UI.WebControl ...

  4. MVC MVVM Knockout 常遇问题总结

    1.模板绑定(使用插件jquery.tmpl) var ViewModel={Product:ko.observable()} <div data-bind="template:{na ...

  5. Partitioner没有被调用的情况

    map的输出,通过分区函数决定要发往哪个reducer. 有2种情况,我们自定义的Partitioner不会被调用 1) reducer个数为0 这种情况,没有reducer,不需要分区 2) red ...

  6. linux下的mount命令的用法详解

    挂接命令(mount) 首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的. 命令格式:mount [-t vfstype] [-o option ...

  7. django-url调度器-中级篇

    在初级篇中,我们接触了: 1.url 的简单编写 2.两种传参的方式 3.捕获的参数总是字符串 4.为视图设置默认参数 …… 在中级篇中将更进一步. 包含其它的URLconfs 当网站非常大的时候,将 ...

  8. Why java main function is declared as static type?

    一个暂且说的过去的解释 The method is static because otherwise there would be ambiguity: which constructor shoul ...

  9. "Programming"和"Programming"是同一个"Programming"吗?

    什么意思? C语言没有专门的字符串类型,但是,它同样可以处理字符串.本文不是讨论字符串的使用,而是讨论C字符串之间的关系.如题,在C语言代码中,如果定义#define STR = "Prog ...

  10. node.js 在 Express4.0 框架使用 Connect-Busboy 实现文件上传

    node.js下四种post提交数据的方式 今天说分享的是其中一种,就是上传文件. Express 4.0 以后,将功能原子化,高内聚,低耦合,独立出了很多中间件 今天主要分享文件上传 对于conne ...