目录

  • 简介
  • 安装Maven
  • Maven测试
  • SpringBoot
  • 绑定语句的POST请求
  • Postman与JavaBean


简介

传统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还不是很好用,我们需要对它进行相关的配置。

配置步骤:

  1. 下载 Maven压缩包
  2. 修改conf配置文件settings.xml磁盘路径
    在55行加入:
<localRepository>D:/apache-maven-3.8.2/repo</localRepository>

springboot和servlet性能 springboot和servlet区别_java-ee


3. 在EclipseEE中选中配置文件路径

springboot和servlet性能 springboot和servlet区别_单元测试_02

Maven测试

  1. 新建Maven项目

生成文件组织形式

springboot和servlet性能 springboot和servlet区别_maven_03

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和servlet性能 springboot和servlet区别_java-ee_04

运行SpringBoot
在网页中输入 : localhost:8080/User/info

springboot和servlet性能 springboot和servlet区别_User_05

绑定语句的POST请求

由于浏览器的网址输入框只接受GET请求,如果我们使用控制器绑定语句@PostMapping。

springboot和servlet性能 springboot和servlet区别_maven_06


运行SpringBoot

在网页中输入 : localhost:8080/User/info ,会提示错误:

springboot和servlet性能 springboot和servlet区别_spring_07


浏览器输入方式的缺点:

中文参数容易乱码
无法提交post请求

Postman 是一个很强大的API调试,Http请求的工具,当你还准备记事本傻傻的去手写From表单的时候,请试试Postman,
个人分享链接 提取码:wjka

使用方法:

springboot和servlet性能 springboot和servlet区别_maven_08


springboot和servlet性能 springboot和servlet区别_spring_09


springboot和servlet性能 springboot和servlet区别_java-ee_10


springboot和servlet性能 springboot和servlet区别_User_11

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中提交数据:

springboot和servlet性能 springboot和servlet区别_单元测试_12