创建SpringMVC项目
1. SpringMVC注解说明
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项目相关推荐
- 介绍一个懒人创建springmvc项目的方法(二)
PS: 我是一个懒人,我懒得搭建项目连pom都不想去找,连web.xml都不想配置.所以就会想着找一些简便的办法,来适应我这种懒人. ---------------------------- 本人介绍 ...
- myeclipse需要配置服务器得项目是,【SpringMVC】使用Myeclipse创建SpringMVC项目【超详细教程】...
之前一直是使用Eclipse创建Web项目,用IDEA和MyEclipse的创建SpringMVC项目的时候时不时会遇到一些问题,这里把这个过程记录一下,希望能帮助到那些有需要的朋友.我是用的是MyE ...
- IDEA + Maven创建SpringMVC项目和XML配置
IDEA + Maven +SpringMVC + XML配置 1. 运行出默认 index.jsp 页面 1.1 构建Maven项目 1.2 设置pom.xml 1.3 设置Spring MVC框架 ...
- java帮助文档mye_【SpringMVC】使用Myeclipse创建SpringMVC项目【超详细教程】
之前一直是使用Eclipse创建Web项目,用IDEA和MyEclipse的创建SpringMVC项目的时候时不时会遇到一些问题,这里把这个过程记录一下,希望能帮助到那些有需要的朋友.我是用的是MyE ...
- 【SpringMVC学习笔记】03 使用maven创建springMVC项目
2018.5.30 1.创建maven项目 项目结构: 第一个√为简单创建maven项目,可跳过选择是否为web项目的选项 2.因为不是web项目,所有pom.xml文件中,war包的标签会 ...
- SpringMvc入门学习(IDEA创建SpringMVC项目)
了解SpringMvc之前先看看Mvc的工作原理 1.MVC工作原理 M:Model(完成业务逻辑 Service/dao/entity/) V:View(完成界面渲染 jsp/html) C:Con ...
- 创建SpringMVC项目的基本步骤
新建一个空的Maven项目作为父项目,删掉src 为这个父项目添加相关依赖 spring,servlet,jsp,jstl- <dependencies><dependency> ...
- 学习SpringMVC笔记——Intellij IDEA创建SpringMVC项目
选择Spring→勾选SpringMVC→选择Download(让IDEA帮我们下载需要的jar包,可能会有点慢) 生成的一个项目(左),把lib文件夹移动到WEB-INF文件夹下(右) 配置文 ...
- idea创建springmvc项目
文章目录 1. 创建项目 2.配置 3. 加载tomcat 4. 完成 5. 启动项目 6. 效果图 7. 修改访问路径 1. 创建项目 2.配置 3. 加载tomcat 4. 完成 5. 启动项目 ...
- idea创建第一个SpringMVC项目
这几天一直想用idea重新学一下Spring,重温一下Spring的知识,今天我想用idea创建一个SpringMVC项目. 一,首先新建一个Spring项目,勾选如下 点击Next 填写projec ...
最新文章
- 四月青少年编程组队学习(Python一级)Task02
- Ajax异步调用Web服务的例子
- int _tmain(int argc, _TCHAR* argv[])
- hive的Specified key was too long; max key length is 767 bytes问题解决
- 金士顿sd卡恢复软件_手机上使用SD内存卡会让手机性能变差?
- Android 性能优化——绘制优化
- [C++11]弱引用智能指针weak_ptr初始化和相关的操作函数
- 【算法设计与分析】02 货郎问题与计算复杂性理论
- WSS2.0 SP2升级到WSS3.0步骤
- mysql8.0 i ha,centos7 mysql8.0 RPM软件包方式安装
- Pandas:删除行、列---DataFram.drop()
- PDF目录的自动生成
- 单片机编程语言——C语言(2)
- TYVJ P1002 谁拿了最多奖学金 Label:模拟 水
- Google BETA版本测试介绍
- python百度地图热力图_利用百度地图API绘制微信好友分布热力图
- C# 命名空间中不存在类型或命名空间名System.XXX
- 微信小程序-将时间转换成几秒前 几分钟前 几小时前 几天前等时间格式
- AUTOSAR I-PDU的理解以及I-PDU的Callout
- C程序设计-清览题库