http请求(restful请求)

通过HTTP请求调用restful接口 package test.demo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.Malform... 阅读详情

Controller

package com.mvca.controller;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
@RequestMapping("/rest")
public class TestRestController {
    Logger log = Logger.getLogger(TestRestController.class);
    @RequestMapping(value = "jsp", method = RequestMethod.GET)
    public String toJsp() throws IOException {
        return "rest";
    }
    @RequestMapping(method = RequestMethod.GET)
    public void get(HttpServletResponse resp, @RequestParam Map map) throws IOException {
        PrintWriter out = resp.getWriter();
        out.print("GET" + map);
    }
    @RequestMapping(method = RequestMethod.DELETE)
    public void delete(HttpServletResponse resp, @RequestParam Map map) throws IOException {
        PrintWriter out = resp.getWriter();
        out.print("DELETE,@Map:" + map);
    }
    @RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
    public void delete(HttpServletResponse resp, @RequestParam Map map, @PathVariable int id) throws IOException {
        PrintWriter out = resp.getWriter();
        out.print("DELETE/{id},@Map:" + map +",@PathVariable:"+ id);
    }
    @RequestMapping(method = RequestMethod.PUT)
    public void put(HttpServletResponse resp, @RequestParam Map map) throws IOException {
        PrintWriter out = resp.getWriter();
        out.print("PUT" + map);
    }
    @RequestMapping(method = RequestMethod.POST)
    public void post(HttpServletResponse resp, @RequestParam Map map) throws IOException {
        PrintWriter out = resp.getWriter();
        out.print("POST" + map);
    }
}

 web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>mva</display-name>
  <welcome-file-list>   
    <welcome-file>fld</welcome-file>  
  </welcome-file-list>
  
 <context-param>
     <param-name>log4jConfigLocation</param-name>
     <param-value>/WEB-INF/log4j.properties</param-value>
 </context-param>
 <listener>
     <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
 </listener>
  <filter>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
  
  <servlet>
  <servlet-name>wh</servlet-name>

  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
 
  <load-on-startup>1</load-on-startup>
  </servlet>      
  <servlet-mapping>
  <servlet-name>wh</servlet-name>
  
  <url-pattern>/</url-pattern>
  <url-pattern>/fld</url-pattern>
  </servlet-mapping>
  
</web-app>

jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" 
    src="${pageContext.request.contextPath}/static/js/jquery-3.5.1.js"></script>
</head>
<body>

    <div id="http"></div>
    <form action="${pageContext.request.contextPath}/rest"
        method="post">
        <select name="_method"
            onchange="if(this.value=='GET') { this.parentNode.method='get';} else {  this.parentNode.method='post'; } ">
            <option value="GET">get</option>
            <option value="POST" selected="selected">post</option>
            <option value="PUT">put</option>
            <option value="DELETE">delete</option>
        </select> <input name="msg" value="msg"> <input
            type="submit" value="rest">
    </form>

</body>
<script type="text/javascript">
    $.ajax({
        type:'get',
        url : "${pageContext.request.contextPath}/rest",
        data : {
             msg : "getmsg"
        },
        success : function(res) {
            $("#http").append("<br>"+res + "&nbsp; using $.ajax  GET<br>");
        }

    });

    $.ajax({
        type:'post',
        url : "${pageContext.request.contextPath}/rest",
        data : {
            msg : "postmsg"
        },
        success : function(res) {
            $("#http").append("<br>"+res + "&nbsp; using $.ajax POST<br>");
        }

    });

    $.ajax({
        type:'post',
        url : "${pageContext.request.contextPath}/rest",
        data : {
            _method : "PUT",
            msg : "putmsg"
        },
        success : function(res) {
            $("#http").append("<br>"+res + "&nbsp; using $.ajax  _PUT<br>");
        },
        error:function(res){
            alert(res)
        }

    });

    $.ajax({
        type : "POST",
        url : "${pageContext.request.contextPath}/rest/110",
        data : {
            _method : "DELETE",
            msg : "delmsg110"
        },
        success : function(res) {
            $("#http").append("<br>"+res + "&nbsp; using $.ajax  _DELETE<br>");

        }

    });
    
    $.ajax({
        type : "POST",
        url : "${pageContext.request.contextPath}/rest",
        data : {
            _method : "DELETE",
            msg : "delete "
        },
        success : function(res) {
            $("#http").append("<br>"+res + "&nbsp; using $.ajax  _DELETE<br>");

        }

    });
</script>
</html>

 

基于MacOS本地部署OpenClaw+Ollama技术要点 本文基于MacOS系统下本地部署OpenClaw+Ollama的实操经验,梳理部署全流程中的核心技术要点、环境配置规范、故障排查方法及落地优化方案,聚焦“本地AI模型联动OpenClaw技能调度”的核心需求,为同类本地部署场景提供可复用的技术参考,规避常见部署风险,确保系统稳定运行。 阅读详情

相关推荐

Redis+QMT实战:如何用Stream模式实现聚宽策略的毫秒级跟单(附完整代码)

本文详细介绍了如何利用Redis Stream模式构建一个低延迟、高可靠的量化交易信号中继系统,实现从聚宽策略到本地QMT的毫秒级跟单。通过对比传统方案,解析了Redis Stream在消息持久化、消费组和显式确认方面的核心优势,并提供了完整的架构设计思路与核心代码实现,帮助量化开发者解决云端策略信号稳定传递至本地实盘的难题。

weixin_29280657的博客 476

【SpringBoot】 五、Restful规范(HTTP请求)

下面我们通过使用Spring MVC来实现一组对User对象操作的RESTful API,配合注释详细说明在Spring MVC中如何映射HTTP请求、如何传参 定义User实体 @Data public class User { private Long id; private String name; private Integer age; public Long getId() { return id; } ...

piano_diano的博客 415

CPLD新手必看:安路EF2系列配置与烧录的避坑指南(含完整流程)

本文为CPLD新手提供了安路EF2系列芯片从硬件设计到软件烧录的完整避坑指南。重点解析了电源系统、时钟复位、JTAG接口等关键电路设计要点,并详细介绍了使用TD软件进行工程创建、代码编写、引脚分配及程序烧录的全流程,帮助开发者快速上手并规避常见问题。

weixin_29217235的博客 349

JavaWeb开发之HttpServletResponse接口和常用方法 (跟着龙哥学JavaWeb)

fengxinziyangyang的专栏 624

概率论—期末复习速成笔记(自用)

概率论期末复习

a200327的博客 2万+

windows 应用爬虫: exe自动操作

之前写了那么多关于手机和网页爬取,今天就写一期关于exe的爬取,exe的爬取其实也是类似的,一个方式是抓包,还有一个模拟人工界面获取元素数据。抓包肯定是最直接,数据也是最全的, 有些数据不一定会显示在界面上,或者必须通过一定交付方式,才能显示到页面(比如移动鼠标到具体元素上)。本文依旧采用python方式,先说说怎么通过界面方式驱动应用点击和数据获取。

youbingchen的博客 888

最全Javaweb Servlet核心接口学习记录(4)—HttpServletResponse接口,复盘一个月再战拿下P7offer

1、看视频进行系统学习这几年的Crud经历,让我明白自己真的算是菜鸡中的战斗机,也正因为Crud,导致自己技术比较零散,也不够深入不够系统,所以重新进行学习是很有必要的。我差的是系统知识,差的结构框架和思路,所以通过视频来学习,效果更好,也更全面。关于视频学习,个人可以推荐去B站进行学习,B站上有很多学习视频,唯一的缺点就是免费的容易过时。2、读源码,看实战笔记,学习大神思路“编程语言是程序员的表达的方式,而架构是程序员对世界的认知”。所以,程序员要想快速认知并学习架构,读源码是必不可少的。

2401_84102759的博客 764

VSCode 搭建C/C++编程环境 2025新版图文安装教程(VSCode安装 + C/C++环境搭建 + 运行测试 + 背景图设置)

100%搭建成功,VSCode 搭建C++编程环境 2025新版图文安装教程(VSCode安装+C++环境搭建+运行测试+背景图设置)

Code_流苏:在代码中寻诗意,在实践中觅真知 2974

HTTP接口调用和RESTful调用的区别

HTTP接口调用是一种基于HTTP协议的远程调用方式,可以通过URL进行调用,适用于不同编程语言之间的调用。而RESTful调用是一种基于REST架构风格的远程调用方式,是HTTP接口调用的一种特殊实现,只是HTTP接口调用不一定要遵循RESTful的设计原则。RESTful是HTTP接口调用的一种特殊实现,遵循REST架构风格的规范,能够提供更加标准化、统一化、可读性和易用性的API设计。RESTful调用相对于HTTP接口调用来说,具有更加清晰明了、易于理解和维护的API设计,扩展性和灵活性也更强。

欢迎。 1万+

华为OD机考2025C卷 - 精准核酸检测(Java & Python& JS & C++ & C语言)

华为OD机考2025C卷 - 精准核酸检测,提供在线OJ Java & Python& JS & C++ & C

算法大师! 2881

2025年CSP-X初赛真题及答案解析(江西)(完善程序第1题)

2025年CSP-X初赛真题及答案解析(江西)(完善程序第1题)

王老师青少年编程 713

基于java restful web services jersey的pojo对象如何获取HttpServletRequest对象

      当你在jsp页面通过JS方式调用restful web services服务提供的某个方法时,往往需要在方法中获取request,response等对象,例如,假如你希望在方法中判断用户输入的验证码与你保存到session中的值是否一致,那么你就必须要获取request对象。那jersey是如何满足这一需求的呢?很简单,只要通过@Context标注就可以实现,具体就是在你需要调用的方法...

博客已迁移至http://www.laokboke.com 485

基于Simulink的超级电容与锂电池混合储能协调控制仿真

摘要:本文介绍基于Simulink的光伏-混合储能系统(HESS)建模与仿真方法,通过超级电容和锂电池的协同控制实现功率平抑。系统采用直流耦合架构,利用一阶低通滤波法将总功率分解为低频(锂电池承担)和高频分量(超级电容承担),并设计SOC自平衡机制维持超级电容工作点。仿真结果表明,该方案可使锂电池电流波动降低62%,光伏功率波动率降至7.5%,有效延长电池寿命。文章详细展示了从主电路搭建、功率分配到闭环控制的完整实现步骤,为新能源系统储能优化提供实用参考。

amy_mhd的博客 136

【java细节】Java用HttpURLConnection实现Http、restful请求

Restful请求RESTful的关键是定义可表示流程元素/资源的对象。在REST中,每一个对象都是通过URL来表示的,对象用户负责将状态信息打包进每一条消息内,以便对象的处理总是无状态的。除去restful的状态特性,即将资源以名称来显示,而非用一串无意义的数来显示。 非rest:http://geek.youkuaiyun.com/news/detail/82314 Rest:https://api.e

IShadow 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Retrofit-基于Restful的HTTP网络请求框架

一.简介 特别注意: 准确来说,Retrofit 是一个 RESTful 的 HTTP 网络请求框架的封装。 原因:网络请求的工作本质上是 OkHttp 完成,而 Retrofit 仅负责 网络请求接口的封装 App应用程序通过 Retrofit 请求网络,实际上是使用 Retrofit 接口层封装请求参数、Header、Url 等信息,之后由 OkHttp 完成后续的请求操作 在服务端返回数据之后,OkHttp 将原始的结果交给 Retrofit,Retrofit根据用户的需求对结果进

fjnu_se的博客 554

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

HTTP请求/响应规范、RESTful API设计

商品(Products):代表商城中的各类商品。用户(Users):表示注册的用户。订单(Orders):记录用户的购买订单。

2401_88554745的博客 886

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

restful请求ajax,HTTP请求封装:Ajax与RESTful API

一、HTTP请求HTTP即超文本传输协议,用以进行HTML 文件、 图片文件、 查询结果等的网络传输。一个完整的HTTP请求包括:请求行、请求头、空行和请求数据(请求数据可以为空)HTTP1.1标准请求方式有:GET, POST, PUT, HEAD, DELETE, CONNECT, TRACE, OPTIONS请求行和请求头里包含URL、Request Method、Accept、Cookie...

weixin_39669133的博客 795

RESTful API常用的HTTP请求方法

GET:获取资源 例如图片、css文件、js文件等,在RESTful API中,一般用来获取数据,例如列表,详情等。对应CRUD中的R,即查找操作。 POST:传输实体主体 例如提交表单信息,在RESTful API中,一般用来提交数据,例如表单等。对应CRUD中的C,即创建操作。 PUT:传输文件 在RESTful API中,一般用做修改数据。对应CRUD中的U,即修改操作。 DELETE:删除文件 与PUT相反,在RESTful API中,一般用做删除数据。对应CRUD中的D,即删除操作。 HEAD:获

willemwei023的博客 5762

HTTP请求通用Restful风格工具类

HTTP请求工具类 一、创建测试方法 /** * 模拟请求his测试类 * * @Author: DengChang * @Date: 2020/8/25 11:07 */ @RestController @RequestMapping("rest") @Api (tags = "测试接口") public class HttpRestController { @Autowired private HttpRestUtil httpRestUtil; /**

dengC的博客 843

SAP接口方式之HTTP请求发布Restful服务

SAP接口方式之Restful

woniu_maggie的博客 1665

RESTful与HTTP各请求方法学习记录

REST定义与RESTful REST全称Representational State Transfer,直译即表现层状态转移,根据名称较难理解其含义,它并非某种技术框架,而是一种设计API的模式。REST定义了一系列设计API的约束规范,符合REST约束风格和原则的应用程序或设计就是RESTful。REST的主要设计原则有: 1、将网络上的所有事物抽象为资源,并且每个资源都有一个唯一资源标识符。 2、代表资源的url中仅包含名词,不包含动作。 3、对资源的操作类型体现在HTTP请求方法中,如POST、GE

panda9527z的博客 949

android http post请求 restful,Http发送基于认证的Restful请求

最近做项目需要使用HttpClient发送Restful请求,其中我们访问的网站是需要进行用户名和密码认证的,http认证的方式不一样,我们使用HttpClient发送请求的方式也不一样。在介绍HttpClient认证方式之前,先介绍一下HttpClient发送Restful请求。1.什么是Restful请求简单的说,就是我们访问的资源(可以是一个uri)是一个名词,用http的动词delete,...

weixin_32304077的博客 500

Restful风格和http请求风格的差别

qiqu的博客 816

Axios HTTP 请求 RESTful 风格编码模板(GET、POST、PUT、DELETE)

Axios 是一个基于 Promise 的 HTTP 客户端,用于发送 HTTP 请求和处理 HTTP 响应。

weixin_52173250的博客 694

RESTful中不同HTTP请求类型的含义

原文地址:http://javarevisited.blogspot.com/2016/04/what-is-purpose-of-http-request-types-in-RESTful-web-service.html RESTful web服务在设计上非常依赖于HTTP。通过使用不同的HTTP方法来完成工作,使用HTTP的响应代码来同时用户一个请求是否成功。RESTful表示Repres

clare504的专栏 7248

什么是RESTful?与常用的HTTP的请求方式有什么不同

RESTful(Representational State Transfer,表述性状态转移)是一种设计风格,用于创建网络服务,使之能够通过HTTP协议进行通信。它是一种基于资源的架构风格,通过定义一组约束和原则,来确保Web服务的可扩展性、可维护性和可操作性。在RESTful架构中,所有的内容都被视为资源,例如用户、订单、产品等。每个资源通过URI(统一资源标识符)唯一标识,例如/users/123代表ID为123的用户。每个请求都是独立的,服务器不会在请求之间保存任何客户端状态。

Crime_man的博客 4577
上一篇: 各种xml配置
下一篇: 跨域请求处理(vue配置/过滤器设置/spring)
caststudy
博客等级 码龄19年 181粉丝 107原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值