1. SpringMVC注解说明

在SpringMVC,数据模型是一张简单的地图,它封装Model或者ModelAndView的类中。它可以从数据库、文件或服务器等上获取。它让你明确如何获取数据和把它放到视图中。这种方式就是通过Spring的数据库中获取:Spring Data JPA、Spring Data MongnoDB等。读者可以从http://projects.spring.io/spring-data这里获取Spring Data的信息。

1)        SpringMVC的控制层主要是通过使用@Controller的注解来操作。在WEB的申请中,控制的角色将会以HTTP请求来响应。对应的类文件注解了 @Controller ,Spring会抓取,并且给出将要响应的转变操作。

2)        注册@RequestMapping注解,控制器将会以不同的HTTP方式来请求,如:GET或POST的方式,和他们请求的URL地址。控制器会以是直接用返回响应的结果,还是返回要新的视图页面。

3)        如果直接用RESful请求,那么将会通过HTTP响应JSON或XML格式的显示。我们使用的注解是 @ResponseBody。在web的申请中,通常会连接JavaScript的框架,像Backbone.js、AngularJS、或React。

2. 使用Thymeleaf框架

我们都知道,视图是会使用某种语言的模板,它会驾驶在数据之间。我们常用的视图显示模板是JSP、FreeMarker、或Thymeleaf。在我们接下来学习中,我们使用的是Thymeleaf.

Thymeleaf是一个模板引擎,它的优点中有友好的语言(它的语言有点像Html)和更容易去扩展。如下是提供可扩展的应用。

读者可以通过网址http://www.thymeleaf.org/doc/tutorials/2.1/thymeleafspring.html 学习Thymeleaf的相关知识。

3.第一个应用

下面我们将通过一个应用的程序来实现SpringMVC的注解功能,和Thymeleaf的应用。在应用的程序最后会显示Hello thymeleaf的页面。

1)        相信通过前面的章节,读者已经知道了如何创建一个SprinMVCV的项目,和如何使用Gradle来管理我们的架包。对应的我们也要添加Thymeleaf相关的架包。在build.gradle的文件中添加。

dependencies {
compile 'org.springframework.boot:spring-boot-starter-web'
compile 'org.springframework.boot:spring-boot-starter-thymeleaf'
testCompile 'org.springframework.boot:spring-boot-starter-test'
}

2)        我们现在在我们的应用中添加第一个页面。它应该在本地的src/main/resources/templates的路径下,我们将这个文件取名为:resultPage.html.

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head lang="en">
<meta charset="UTF-8"/>
<title>Hello thymeleaf</title>
</head>
<body>
<span th:text="|Hello thymeleaf|">Hello html</span>
</body>
</html>

在上面的代码中,我们看到子th:text的值是在两条竖线之间,这个意味着所有的值都将联系起来。也就是显示竖线的所有文字。

Thymeleaf对于web设计来说有很在的好处,在它的模板中,每一件事都是动态的,如果没有请求到对应的服务器,那么显示的值是可以回滚的。也就是说,我们的每一个请求都会连接到http://www.thymeleaf.org中寻找对应的资源。就像上面的“Hello html”,如果没有连接到资源库,那么就会显示,只要连接到了资源库,则会显示“Hello thymeleaf”。如果你用浏览器直接打开,那么也会显示“Hello html”.

3)        最后,我们在本地的src/main/java下添加下面的代码,这个类要求加入注解@Controller,当然请求的映射@RequestMapping().

 package masterSpringMVC.controller;@Controller
public class HelloController {@RequestMapping("/")public String hello() {return "resultPage";}
}

4)        让我们开始应用程序,访问:http://localhost:8080.你将会看到:

4.视图获取数据

接着我们上面的例子,我们显示是Hellothymeleaf。然而,如果我们要显示是从Controll中获取呢?也就是后台逻辑处理的情况,应该怎么调用。

1)        我们修改resultPage.html的代码如下:

 <!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head lang="en">
<meta charset="UTF-8"/>
<title>Hello thymeleaf</title>
</head>
<body>
<span th:text="${message}">Hello html</span>
</body>
</html>

2)        修改HelloController代码。

 @Controller
public class HelloController {
@RequestMapping("/")
public String hello(Model model) {
model.addAttribute("message", "Hello from the controller");
return "resultPage";
}
}

3)        你将会看到的结果如下。

5.获取请求参数

我们已经有能力去从服务器上获取数据到视图页面。然而,我们应该怎么去获取用户民输入的请求参数呢?这里有很多方法,可是最简单的方法,就是通过URL来获取参数。

再次修改我们的HelloController的类。

@Controller
public class HelloController {
@RequestMapping("/")
public String hello(@RequestParam("name") String userName, Model
model) {
model.addAttribute("message", "Hello, " + userName);
return "resultPage";
}
}

我们这个时候在浏览器上输入的地址是:localhost:8080/?name=Geoffroy。你将会看到的结果如下:

从上面的访问可以看出,我们的请求参数是固定,也就是说如果你直接访问localhost:8080,那么页面将会报错。为了解决这个问题,我们可能添加@RequestParam代码。我们可以添加两个属性值:required和defaultValue。代码如下:

@Controller
public class HelloController {
@RequestMapping("/")
public String hello(@RequestParam(defaultValue = "world") String
name, Model model) {
model.addAttribute("message", "Hello, " + name);
return "resultPage";
}
}

源码下载:git@github.com:owenwilliam/masterSpringMVC.git

创建SpringMVC项目相关推荐

  1. 介绍一个懒人创建springmvc项目的方法(二)

    PS: 我是一个懒人,我懒得搭建项目连pom都不想去找,连web.xml都不想配置.所以就会想着找一些简便的办法,来适应我这种懒人. ---------------------------- 本人介绍 ...

  2. myeclipse需要配置服务器得项目是,【SpringMVC】使用Myeclipse创建SpringMVC项目【超详细教程】...

    之前一直是使用Eclipse创建Web项目,用IDEA和MyEclipse的创建SpringMVC项目的时候时不时会遇到一些问题,这里把这个过程记录一下,希望能帮助到那些有需要的朋友.我是用的是MyE ...

  3. IDEA + Maven创建SpringMVC项目和XML配置

    IDEA + Maven +SpringMVC + XML配置 1. 运行出默认 index.jsp 页面 1.1 构建Maven项目 1.2 设置pom.xml 1.3 设置Spring MVC框架 ...

  4. java帮助文档mye_【SpringMVC】使用Myeclipse创建SpringMVC项目【超详细教程】

    之前一直是使用Eclipse创建Web项目,用IDEA和MyEclipse的创建SpringMVC项目的时候时不时会遇到一些问题,这里把这个过程记录一下,希望能帮助到那些有需要的朋友.我是用的是MyE ...

  5. 【SpringMVC学习笔记】03 使用maven创建springMVC项目

    2018.5.30 1.创建maven项目 项目结构: 第一个√为简单创建maven项目,可跳过选择是否为web项目的选项      2.因为不是web项目,所有pom.xml文件中,war包的标签会 ...

  6. SpringMvc入门学习(IDEA创建SpringMVC项目)

    了解SpringMvc之前先看看Mvc的工作原理 1.MVC工作原理 M:Model(完成业务逻辑 Service/dao/entity/) V:View(完成界面渲染 jsp/html) C:Con ...

  7. 创建SpringMVC项目的基本步骤

    新建一个空的Maven项目作为父项目,删掉src 为这个父项目添加相关依赖 spring,servlet,jsp,jstl- <dependencies><dependency> ...

  8. 学习SpringMVC笔记——Intellij IDEA创建SpringMVC项目

    选择Spring→勾选SpringMVC→选择Download(让IDEA帮我们下载需要的jar包,可能会有点慢) 生成的一个项目(左),把lib文件夹移动到WEB-INF文件夹下(右)    配置文 ...

  9. idea创建springmvc项目

    文章目录 1. 创建项目 2.配置 3. 加载tomcat 4. 完成 5. 启动项目 6. 效果图 7. 修改访问路径 1. 创建项目 2.配置 3. 加载tomcat 4. 完成 5. 启动项目 ...

  10. idea创建第一个SpringMVC项目

    这几天一直想用idea重新学一下Spring,重温一下Spring的知识,今天我想用idea创建一个SpringMVC项目. 一,首先新建一个Spring项目,勾选如下 点击Next 填写projec ...

最新文章

  1. 四月青少年编程组队学习(Python一级)Task02
  2. Ajax异步调用Web服务的例子
  3. int _tmain(int argc, _TCHAR* argv[])
  4. hive的Specified key was too long; max key length is 767 bytes问题解决
  5. 金士顿sd卡恢复软件_手机上使用SD内存卡会让手机性能变差?
  6. Android 性能优化——绘制优化
  7. [C++11]弱引用智能指针weak_ptr初始化和相关的操作函数
  8. 【算法设计与分析】02 货郎问题与计算复杂性理论
  9. WSS2.0 SP2升级到WSS3.0步骤
  10. mysql8.0 i ha,centos7 mysql8.0 RPM软件包方式安装
  11. Pandas:删除行、列---DataFram.drop()
  12. PDF目录的自动生成
  13. 单片机编程语言——C语言(2)
  14. TYVJ P1002 谁拿了最多奖学金 Label:模拟 水
  15. Google BETA版本测试介绍
  16. python百度地图热力图_利用百度地图API绘制微信好友分布热力图
  17. C# 命名空间中不存在类型或命名空间名System.XXX
  18. 微信小程序-将时间转换成几秒前 几分钟前 几小时前 几天前等时间格式
  19. AUTOSAR I-PDU的理解以及I-PDU的Callout
  20. C程序设计-清览题库

热门文章

  1. AngularJS 的常用特性(四)
  2. BZOJ(本校) 3046 简单数学问题 - 线段树
  3. 程序运行中(BSS段、数据段、代码段、堆栈)
  4. HCL之SSH的配置与应用
  5. java 多线程之间通信_java多线程之间的通信
  6. 计算机网络网络层之IP(2)——IP分片
  7. 三十一、K8s供应链安全2 - 镜像的检测及优化与yaml文件安全
  8. Security+ 学习笔记29 虚拟化
  9. 社交产品方法论(八):数据分析的二三事
  10. 浅谈对称加密和非对称加密