今天和大家分享下 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 入门教程示例 (一)的更多相关文章
-
spring mvc入门教程 转载自【http://elf8848.iteye.com/blog/875830】
目录 一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...
-
spring MVC入门教程
写一个spring mvc后台传值到前台的一个小例子. 分为以下几个步骤: 1.创建web项目. 导入项目包.具体有如下: spring-aop-4.0.4.RELEASE.jar spring-be ...
-
【转】spring MVC入门示例(hello world demo)
部分内容来自网络:<第二章 Spring MVC入门 —— 跟开涛学SpringMVC > 1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web M ...
-
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 ...
-
Spring Boot入门教程1、使用Spring Boot构建第一个Web应用程序
一.前言 什么是Spring Boot?Spring Boot就是一个让你使用Spring构建应用时减少配置的一个框架.约定优于配置,一定程度上提高了开发效率.https://zhuanlan.zhi ...
-
Spring MVC新手教程(二)
第一篇文章宏观讲了Spring MVC概念,以及分享了一个高速入门的样例. 这篇文章主要来谈谈Spring MVC的配置文件. 首先来谈谈web.xml: web项目启动时自己主动载入到内存中的信息, ...
-
Spring Boot入门教程2-1、使用Spring Boot+MyBatis访问数据库(CURD)注解版
一.前言 什么是MyBatis?MyBatis是目前Java平台最为流行的ORM框架https://baike.baidu.com/item/MyBatis/2824918 本篇开发环境1.操作系统: ...
-
Spring Boot 入门教程
Spring Boot 入门教程,包含且不仅限于使用Spring Boot构建API.使用Thymeleaf模板引擎以及Freemarker模板引擎渲染视图.使用MyBatis操作数据库等等.本教程示 ...
-
Spring Cloud 入门教程(二): 配置管理
使用Config Server,您可以在所有环境中管理应用程序的外部属性.客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring ...
随机推荐
-
【知识积累】BufferedImage类实现图片的切分
一.引言 如何实现图片分割?若有园友用到这个模块,使用Java的BufferedImage类来实现,图片切分也可以作为一个小工具积累起来,以备不时之需. 二.代码清单 package com.lees ...
-
看看,这就是微软的“万物互联”系统 window10 IOT
今天在深圳 WinHEC2015 大会上,微软正式发布了其基于 Windows 10 开发的,专门用于一系列物联网设备的操作系统:Windows 10 IoT for Smart Devices(是的 ...
-
Spring For Android初体验
Spring For Android是Spring框架的一个扩展,其主要目的在乎简化Android本地应用的开发,这其中包括了你可以使用该项目提供的 RestTemplate来为你的Android客户 ...
-
在工程中添加pch文件
在Xcode6之前,新建一个工程的时候,系统会帮我们自动新建一个以工程名为名字的pch (precompile header)文件,在开发过程中,可以将那些整个工程都广泛使用的头文件包含在该文件下,编 ...
-
xcode6下使用autolayout+sizeclass实践
历史车轮滚滚向前,将autolayout配合sizeclass做布局的方式推上了主流,虽然有点晚,但最终还是进行了一次完整的实践,特此记录一下: 因为网上已经有很多博客介绍了autolayout配合s ...
-
crawler_网络爬虫中编码的正确处理与乱码的解决策略
转载: http://hi.baidu.com/erliang20088/item/9156132bdaeae8949c63d134 最近一个月一直在对nutch1.6版进行中等层次的二次开发,本来是 ...
-
c# 反射得到实体类的字段名称和值,DataTable转List<;T>;
/// <summary> /// 反射得到实体类的字段名称和值 /// var dict = GetProperties(model); /// </summary> /// ...
-
Day12 (黑客成长日记) 函数
一.递归函数: 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. #计算阶乘: def fact(n): if n == 1: return 1 return n ...
-
EasyUI动画效果
1.jQuery动画效果 a)基本效果 >show(speed),显示 >hide(speed),隐藏 >toggle(speed),切换 b)滑动的效果 >slideUp(s ...
-
spark学习之路1--用IDEA编写第一个基于java的程序打包,放standalone集群,client和cluster模式上运行
1,首先确保hadoop和spark已经运行.(如果是基于yarn,hdfs的需要启动hadoop,否则hadoop不需要启动). 2.打开idea,创建maven工程.编辑pom.xml文件.增加d ...