java初学者mvc项目_Java一个入门级MVC基于Spring Boot项目

首先根据上一篇文章内容创建一个Spring Boot项目,如图所示:

a0a1cc7a77b2290451ab6a25325f9317.png

一,创建Controller并返回数据

在src/main/java/项目文件夹下面创建package,继续里面可以创建模块的package,然后可以右键创建Class,命名为helloController,然后就可以写控制器代码了。

packagexxh.springbootmvc.xxhdemo1.helloController;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;importjavax.servlet.http.HttpServletRequest;

@RestController

@RequestMapping("/v1/hello")public classhelloController {

@RequestMapping("/world")publicString world() {return "Hello World !!!你好世界";

}

}

例如,如上代码就是最简单的一个返回字符串的Controller,如图:

fd317252b4b9e7a6d7fcd51384f54b52.png

如果要指定请求方式,接收URL参数,并根据参数返回数据,可以增加增加一个处理:

@RequestMapping(value = "/getworld", method =RequestMethod.GET)public MVHelloWord getWorld(@RequestParam(value = "id", required = true) intid, HttpServletRequest request) {

MVHelloWord entity= null;if (123 ==id) {

entity= new MVHelloWord(123, "诸葛亮");

}else{

entity= new MVHelloWord(0, "不认识");

}returnentity;

}

效果如图:

fe8f3b582864b3c8ffebc7f427e14658.png

注意:因为控制器前面加了标注@RestController,所以默认以接口形式返回json数据application/json,标注@RequestMapping就制定了改页面/接口的名称,调用方法RequestMethod等规则,标注@RequestParam指明了接收的参数规则,或者通过HttpServletRequest对象来接收请求信息效果是一样的。

然后MVHelloWord这个自己创建的模型,下面提到。

如果URL参数里面的id不等于123则输出的内容就不一样了。

二,创建Model

与创建Controller一样,在模块package里创建一个Class,不加任何标注的Class就是一个普通的类,当做Model你可以在里面写自己的属性。比如:

private int id;

private String name;

然后选中他们,右键找到Generate生成构造函数和get,set方法:

4077f3f32bad6d75e8d6e1c0514e4773.png

最终生成的代码:

packagexxh.springbootmvc.xxhdemo1.helloController;/*这是一个Model*/

public classMVHelloWord {public intgetId() {returnid;

}public void setId(int id) { this.id =id; }publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}/*私有属性*/

private intid;privateString name;public MVHelloWord(intid, String name) {this.id =id;this.name =name;

}

@OverridepublicString toString() {return "MVHelloWord{" +

"id=" + id +

", name='" + name + '\'' +

'}';

}

}

这样一个最简单的Model就创建好了。

三,返回json

当我们在控制器前面加标注@RestController,@RequestMapping,并且在方法里返回Model时,Spring Boot将默认给我们返回json数据。

四,返回视图

返回视图稍微麻烦点,其中就是我们要引入thymeleaf框架。首先在项目结构文件中找到pom.xml,这是项目的引入配置文件。插件包需要在这里引入才能被加载出来。

打开pom.xml后找到:

org.springframework.boot

spring-boot-starter-web

这是web项目默认的插件,将它复制并粘贴一份,将artifactId改成spring-boot-starter-thymeleaf,保存。也可以将下面的代码直接复制进去:

org.springframework.boot

spring-boot-starter-thymeleaf

idea工具会自动帮助加载插件框架。

然后在项目结构文件中找到application.properties,这是应用程序(项目)的关键属性配置文件。一些自定义配置或变量都可以写在这里。

例如:设置项目的端口,设置视图的根路径和视图文件的后缀名:

#设置项目的端口

server.port=8888#设置视图的根路径和视图文件的后缀名

spring.thymeleaf.prefix=classpath:/templates/spring.thymeleaf.suffix=.html

这样设置就可以在resources/templates/目录下创建后缀名为.html的视图文件了。

点击templates右键新建HTML文件,按照W3C标准创建html代码即可。

注意:html标签加协议  xmlns:th="http://www.thymeleaf.org"  ,然后页面才可以用th引用从Controller传过来的Model实体。

Controller代码:

packagexxh.springbootmvc.xxhdemo1.helloController;importorg.springframework.stereotype.Controller;importorg.springframework.ui.Model;importorg.springframework.web.bind.annotation.RequestMapping;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;/*标注是控制器*/@Controller

@RequestMapping("/v1/hello2")public classhello2Controller {

@RequestMapping("/world")publicString world(HttpServletRequest request,HttpServletResponse response) {

System.out.print("Hello World!!!");

MVHelloWord entity= new MVHelloWord(123, "诸葛亮");

request.setAttribute("myEntity",entity); //请求返回实体变量名及实体对象

return "a"; //这是视图名称 或 路径/视图名称

}

}

视图a.html代码:

我的第一个视图页面

下面显示实体信息:

myEntity:
id=
name=

ID:

name:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值