简介
传统Servlet开发流程为
- 开发Servlet代码
- 配置web.xml
- 部署到容器(tomcat)
- 访问
缺点: - 一个Servlet只能做一件事情(改进需要增加参数)
- web.xml内容过于繁多(Servlet3.0有改进)
- 依赖容器,不利于单元测试(HttpServletRequest和HttpServletResponse需要由容器初始化)
- 表单参数获取较麻烦
使用Spring Boot可以解决Servlet相关问题。
- Spring Boot是一个基于Java的开源框架,用于创建微服务。它由Pivotal Team开发,用于构建独立的生产就绪Spring应用。可以认为Spring Boot是一个基于Spring框架的项目模板,用于简化Spring应用开发。
Spring Boot优点:
- 使编码变得简单
- 使配置变得简单
- 使部署变得简单
- 使监控变得简单
使用框架时我们需要下载一些第三方的jar包,我们可以通过百度去查找这个类似属于哪个jar包。但是我们如果不知道自己使用的jar包属于哪个版本就会导致不兼容问题。而且开发中尝尝会使用很多jar包,就会很麻烦。
安装Maven
-
Maven是一款非常优秀的项目管理和构建工具;重要的是它可以管理项目的依赖包;能够自动的清理,编译,测试和生成报告,再到打包和部署。而完成这些只需要一条简单的命令。
-
管理项目的依赖包
-
自动打包和部署
我们无需自己去安装Maven插件,Eclipse javaEE已经安装了Maven。
如果没有则在Eclipse菜单Help>Eclipse marketplace搜索安装。
然而自动安装的Maven还不是很好用,我们需要对它进行相关的配置。
配置步骤:
- 下载 Maven压缩包
- 修改conf配置文件settings.xml磁盘路径
在55行加入:
<localRepository>D:/apache-maven-3.8.2/repo</localRepository>
3. 在EclipseEE中选中配置文件路径
Maven测试
- 新建Maven项目
生成文件组织形式
2.再pom.xml中添加依赖测试Maven是否可以正常配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.0</version>
<relativePath />
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
加入依赖后,如果Eclipse不自动更新依赖,在项目上点右键 > Maven > Update Project…
添加成功则效果如下
SpringBoot
- 加入依赖解决每写一次代码需要重启程序的问题:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
编写SPringBoot启动入口代码
package com.test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
*
* SpringBoot启动入口
*
*/
@SpringBootApplication
public class Application {
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
编写控制器代码:
控制器绑定语句
@RequestMapping用于方法上
@RequestMapping用于控制器类上
@RequestMapping匹配多个路径
@RequestMapping限定请求方法
@GetMapping和@PostMapping
package com.test.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/User")
public class UserController {
@ResponseBody
@RequestMapping("/info")
public String User() {
return "HelloWord";
}
}
运行SpringBoot
在网页中输入 : localhost:8080/User/info
绑定语句的POST请求
由于浏览器的网址输入框只接受GET请求,如果我们使用控制器绑定语句@PostMapping。
运行SpringBoot
在网页中输入 : localhost:8080/User/info ,会提示错误:
浏览器输入方式的缺点:
中文参数容易乱码
无法提交post请求
Postman 是一个很强大的API调试,Http请求的工具,当你还准备记事本傻傻的去手写From表单的时候,请试试Postman,
个人分享链接
提取码:wjka
使用方法:
Postman与JavaBean
JavaBean代码:
package com.test.bean;
public class User {
private String userName;
private Integer age;
private String phone;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
控制器代码:
package com.test.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.test.bean.User;
//@RestController
@Controller
@RequestMapping("/User")
public class UserController {
@ResponseBody
@PostMapping("/info")
public User Us(User user) {
return user;
}
}
在Postman中提交数据: