技术标签: 必学技术栈 postman servlet 测试工具
目录
1.首先需要我们去注册Postman 一个账号: 这个比较简单,输入邮箱,添加账号名和密码即可。
2.登录
3.进入Postman
package com.hong.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
/**
* Created with IntelliJ IDEA.
*
* @Author: 海绵hong
* @Date: 2022/10/26/10:31
* @Description:
*/
@RequestMapping(value = "/user")
@Controller //UserHandler就是一个处理器/控制器,注入到容器
public class UserHandler {
/**
* 解读
* 1. method=RequestMethod.POST: 表示请求buy目标方法必须是 post
* 2. RequestMethod 四个常用选项 POST, GET, PUT, DELETE[后面我们会详解]
* 3. SpringMVC 控制器默认支持GET和POST两种方式
* <p>
* 4. buy()方法请求的url: http://ip:port/工程路径/user/buy
* 5. @PostMapping(value = "/buy")等价 @RequestMapping(value = "/buy",method = RequestMethod.POST)
* @return
*/
//@RequestMapping(value = "/buy",method = RequestMethod.POST)
@PostMapping(value = "/buy")
public String buy() {
System.out.println("购买商品~");
return "success";
}
/**
* 解读
* 1. params="bookId" 表示请求该目标方法时,必须给一个bookId参数, 值没有限定
* 2. search(String bookId): 表示请求目标方法时, 携带的bookId=100, 就会将请求携带的 bookId对应的
* 值 100, 赋给 String bookId
* 3. params = "bookId=100" 表示必须给一个bookId参数, 而且值必须是100
*
* @return
*/
@RequestMapping(value = "/find", params = "bookId=100", method = RequestMethod.GET)
public String search(String bookId) {
System.out.println("查询书籍 bookId= " + bookId);
return "success";
}
/**
* 要求: 可以配置 /user/message/aa, /user/message/aa/bb/cc
* 1. @RequestMapping(value = "/message/**") /** 可以匹配多层路径
*/
@RequestMapping(value = "/message/**")
public String im() {
System.out.println("发送消息");
return "success";
}
//要求: 我们希望目标方法获取到 username 和 userid, value="/xx/{username}" - @PathVariable("username")..
//前端页面: <a href="user/reg/kristina/300">占位符的演示</a>
//(value = "/reg/{username}/{userid}"): 表示kristina->{username} 300=>{userid}
@RequestMapping(value = "/reg/{username}/{userid}")
public String register(@PathVariable("username") String name,
@PathVariable("userid") String id) {
System.out.println("接收到参数--" + "username= " + name + "--" + "usreid= " + id);
return "success";
}
@RequestMapping(value = "/hi")
public String hi() {
System.out.println("hi");
return "success";
}
//@RequestMapping(value = "/hi")
//public String hi2() {
// System.out.println("hi");
// return "success";
//}
/**
* hello3(String email): 如果我们的请求参数有 email=xx, 就会将传递的值,赋给String email
* ,要求名称保持一致, 如果不一致,那么接收不到数据, 而是null
* @param email
* @return
*/
@GetMapping(value = "/hello3")
public String hello3(String email) {
System.out.println("hello3 " + email);
return "success";
}
}
<%--
User:海绵hong
Date: 2022/10/26
Time: 10:33
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>购买商品</title>
</head>
<body>
<h1>购买商品</h1>
<%--解读
1. action="user/buy" 对应 url http://localhost:8080/工程路径/user/buy
--%>
<form action="user/buy" method="post">
购买人:<input type="text" name="username"><br>
够买量:<input type="text" name="nums"><br>
<input type="submit" value="购买">
</form>
<hr><h1>演示params的使用</h1>
<a href="user/find?bookId=200">查询书籍</a>
<hr><h1>演示Ant风格的请求资源方式 </h1>
<a href="user/message/aa">发送消息1</a><br>
<a href="user/message/aa/bb/cc">发送消息2</a><br>
<hr><h1>占位符的演示</h1>
<a href="user/reg/kristina/300">占位符的演示</a>
<h1>电脑信息</h1>
<form action="computer/info" method="post">
品牌:<input type="text" name="brand"><br>
价格:<input type="text" name="price"><br>
数量:<input type="text" name="nums"><br>
<input type="submit" value="提交">
</form>
</body>
</html>
<%--
User:海绵hong
Date: 2022/10/26
Time: 10:34
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>操作成功</title>
</head>
<body>
<h1>恭喜, 操作成功~</h1>
</body>
</html>
@RequestMapping(value = "/user")
@Controller //UserHandler 就是一个处理器/控制器,注入到容器
public class UserHandler {
@RequestMapping(value = "/buy",method = RequestMethod.GET)
public String buy() {
System.out.println("购买商品");
return "success";
}
}
@RequestMapping(value = "/user")
@Controller //UserHandler 就是一个处理器/控制器,注入到容器
@RequestMapping(value
=
"/find", params
=
"bookId=100", method
=
RequestMethod.GET)
public String search(String bookId) {
System.out.println("查询书籍 bookId= " + bookId);
return "success";
}
}
@RequestMapping(value = "/user")
@Controller //UserHandler 就是一个处理器/控制器,注入到容器
@RequestMapping(value = "/message/**")
public String im() {
System.out.println("发送消息");
return "success";
}
}
@RequestMapping(value = "/user")
@Controller //UserHandler 就是一个处理器/控制器,注入到容器
@RequestMapping(value = "/reg/{username}/{userid}")
public String register(@PathVariable("username") String name,
@PathVariable("userid") String id) {
System.out.println("接收到参数--" + "username= " + name + "--" + "usreid= " + id);
return "success";
}
@RequestMapping(value = "/user")
@Controller //UserHandler 就是一个处理器/控制器,注入到容器
@GetMapping(value = "/hello3")
public String hello3(String email) {
System.out.println("hello3 " + email);
return "success";
}
3. 因为是 Post 请求,在 Body 选项页填写 Json 数据/Furn 数据
4. 点击 Send ,如果成功,会看到返回 success 的信息, 查看 Mysql ,会看到增加新的记录
文章浏览阅读3.2k次,点赞54次,收藏78次。在实现网络爬虫的爬取工作时,就必须使用网络请求,只有进行了网络请求才可以对响应结果中的数据进行提取,urllib模块是python自带的网络请求模块,无需安装,导入即可使用。下面将介绍如果使用python中的urllib模块实现网络请求_with open 保存图片
文章浏览阅读1.2k次。最近在做关于安卓安全方面的东西,需要对底层进行注入,在看雪论坛上看了不少资料,查阅了相关书籍了解了一下,需要用到JNI。利用JNI可以实现Java和底层的C/C++模块相互沟通(NDK的框架用到了该外观设计模式,Facade Pattern) 其具体步骤如下:(1)创建一个包含native本地方法的类;(2)利用javah工具生成C/C++语言的头文件;(3)创建.c源文件,使用C/C++实_jnivlzm
文章浏览阅读485次,点赞9次,收藏6次。RSA算法进行 数据加解密 与 数字签名;_哈希算法与rsa算法
文章浏览阅读3.2k次。HTML、CSS、JS实现轮播图效果:包含分页按钮及切换箭头_html轮播图添加左右箭头
文章浏览阅读707次。Shader定义:官方的定义是这样的: Shader是返回水平跨度颜色的对象的基类,绘图期间。 Shader的子类安装在Paint调用中,paint.setShader(着色器)。 之后的任何对象(除了位图之外)都是使用该绘制绘制将从着色器获取其颜色。它有五个子类,分别是:SweepGradient、LinearGradient、BitmapShader、Compose..._android sweepgradient
文章浏览阅读530次。222_通信emm substate
文章浏览阅读1.6k次。 Intellij idea找不到misc.xml文件,关闭当前项目IDE,重新打开idea, File -> import project,即可重新生成该文件_error:internal error: (java.io.filenotfoundexception)
文章浏览阅读129次。洛谷2814极度细(毒)节(瘤)的字符串处理,以及最后一步弄错。。。。。(水了70分?)【代码~】 #include<bits/stdc++.h>using namespace std;const int MAXN=5e4+10;map<string,int> name;map<int,string> id;map<string...
文章浏览阅读123次。使用JasperReport+iReport进行WEB开发 一、JasperReport和iReport简介: 1、JasperReport简介 JasperReport是一个强大、灵活的报表生成工具,是开放源代码组织sf.net中的...
文章浏览阅读3k次,点赞5次,收藏18次。初入数据结构的哈希表(Hash Table)这次我们来总结一下关于哈希表的知识,首先我们要了解什么是哈希表,哈希函数的构造思路有哪些?怎么解决哈希冲突?最后再去分析一下哈希查找算法。哈希表的概念 前提小知识什么是哈希表?哈希表的四个概念关键字、值、哈希函数、哈希地址、哈希表之间的关系?什么是哈希冲突常见的哈希函数构造方法 怎么样才是好的哈希函数?常见构建哈希函数的六个方法...
文章浏览阅读584次。VS报错 error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义链接报错:错误 33 error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义 E:\客户问题\w_王鹏\EventLibTest_TibrvAlternative_Mult_error lnk2005: _dllmain@12 已经在 msvcrtd.lib(dll_dllmain_stub.obj) 中定义
文章浏览阅读645次。SOAP (Simple Object Access Protocol) 顾名思义,是一个严格定义的信息交换协议,用于在Web Service中把远程调用和返回封装成机器可读的格式化数据。事实上SOAP数据使用XML数据格式,定义了一整套复杂的标签,以描述调用的远程过程、参数、返回值和出错信息等等。而且随着需要的增长,又不得增加协议以支持安全性,这使SOAP变得异常庞大,背离了简单的初衷。另一方面,各个服务器都可以基于这个协议推出自己的API,即使它们提供的服务及其相似,定义的API也不尽相同,这又导致.._soap是指什么