Spring MVC 入门教程示例 (一)

时间:2022-07-22 02:23:56

今天和大家分享下  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&colon;&sol;&sol;elf8848&period;iteye&period;com&sol;blog&sol;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入门示例&lpar;hello world demo&rpar;

    部分内容来自网络:<第二章 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&plus;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 入门教程&lpar;二&rpar;: 配置管理

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

随机推荐

  1. 【知识积累】BufferedImage类实现图片的切分

    一.引言 如何实现图片分割?若有园友用到这个模块,使用Java的BufferedImage类来实现,图片切分也可以作为一个小工具积累起来,以备不时之需. 二.代码清单 package com.lees ...

  2. 看看,这就是微软的&OpenCurlyDoubleQuote;万物互联”系统 window10 IOT

    今天在深圳 WinHEC2015 大会上,微软正式发布了其基于 Windows 10 开发的,专门用于一系列物联网设备的操作系统:Windows 10 IoT for Smart Devices(是的 ...

  3. Spring For Android初体验

    Spring For Android是Spring框架的一个扩展,其主要目的在乎简化Android本地应用的开发,这其中包括了你可以使用该项目提供的 RestTemplate来为你的Android客户 ...

  4. 在工程中添加pch文件

    在Xcode6之前,新建一个工程的时候,系统会帮我们自动新建一个以工程名为名字的pch (precompile header)文件,在开发过程中,可以将那些整个工程都广泛使用的头文件包含在该文件下,编 ...

  5. xcode6下使用autolayout&plus;sizeclass实践

    历史车轮滚滚向前,将autolayout配合sizeclass做布局的方式推上了主流,虽然有点晚,但最终还是进行了一次完整的实践,特此记录一下: 因为网上已经有很多博客介绍了autolayout配合s ...

  6. crawler&lowbar;网络爬虫中编码的正确处理与乱码的解决策略

    转载: http://hi.baidu.com/erliang20088/item/9156132bdaeae8949c63d134 最近一个月一直在对nutch1.6版进行中等层次的二次开发,本来是 ...

  7. c&num; 反射得到实体类的字段名称和值,DataTable转List&lt&semi;T&gt&semi;

    /// <summary> /// 反射得到实体类的字段名称和值 /// var dict = GetProperties(model); /// </summary> /// ...

  8. Day12 &lpar;黑客成长日记&rpar; 函数

    一.递归函数: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. #计算阶乘: def fact(n): if n == 1: return 1 return n ...

  9. EasyUI动画效果

    1.jQuery动画效果 a)基本效果 >show(speed),显示 >hide(speed),隐藏 >toggle(speed),切换 b)滑动的效果 >slideUp(s ...

  10. spark学习之路1--用IDEA编写第一个基于java的程序打包,放standalone集群,client和cluster模式上运行

    1,首先确保hadoop和spark已经运行.(如果是基于yarn,hdfs的需要启动hadoop,否则hadoop不需要启动). 2.打开idea,创建maven工程.编辑pom.xml文件.增加d ...