JavaWeb 发送get请求

本文详细介绍了使用HttpClient在JavaWeb中发送GET请求的方法,并提供了完整的示例代码,包括客户端发送请求和服务器端接收数据的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

JavaWeb 发送get请求

CreationTime--2018年6月20日15点27分

Author:Marydon

1.前提

  通过HttpClient来实现

2.具体实现

  客户端如何发送请求?

  所需jar包:

  commons-httpclient-3.0.jar

  commons-codec-1.9.jar

  commons-logging-1.1.1.jar 

  导入

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.methods.GetMethod;
/**
 * 发送get请求
 * @explain
 *     1.请求体:get传参没有请求体
 *     2.数据格式:直接拼接到url后面,如:url?key1=value1&key2=value2&...
 * @param url 路径及参数
 * @return 服务器返回数据
 */
public static String sendGet(String url) {
    // 用于接收返回的结果
    String resultData = "";
    try {
        HttpClient httpClient = new HttpClient();
        httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(3000); // 设置连接超时
        httpClient.getHttpConnectionManager().getParams().setSoTimeout(180000); // 设置读取数据超时
        httpClient.getParams().setContentCharset("UTF-8");
        GetMethod get = new GetMethod(url);
        int status = httpClient.executeMethod(get);
        // 状态码为:200
        if (status == HttpStatus.SC_OK) {
            resultData = get.getResponseBodyAsString();
        } else {
            throw new RuntimeException("接口连接失败!");
        }
    } catch (Exception e) {
        e.printStackTrace();
        throw new RuntimeException("接口连接失败!");
    }
    return resultData;
}

  服务器端如何接收客户端传递的数据?

  request.getParameter("key")

3.客户端调用测试

public static void main(String[] args) {
    String requestUrl = "http://localhost:8070/test/rz/server/rzxx/at_VaildToken.do?un_value=B022420184794C7C9D5096CC5F3AE7D2";
    // 发送post请求并接收返回结果
    String resultData = sendGet(requestUrl);
    System.out.println(resultData);
}

 

 
Java Web开发中,接收和发送HTTP请求是通过使用Java的Servlet技术来实现的。Servlet是Java提供的一个用于扩展服务器功能的组件,它是运行在服务器端的小型Java程序,主要用来处理客户端的请求并返回响应。下面是如何使用Servlet来接收和发送HTTP请求的基本步骤: 1. 创建Servlet类:首先需要创建一个继承自HttpServlet类的Servlet类。在这个类中,可以重doGet()或doPost()等方法来处理对应的HTTP请求。 2. 注册Servlet:在web.xml文件中进行Servlet的注册,或者使用注解(如@WebServlet)来标注Servlet类,以便Web服务器能够识别并加载。 3. 实现doGet/doPost方法:在Servlet类中实现doGet()或doPost()方法。这些方法接收一个HttpServletRequest对象和一个HttpServletResponse对象。HttpServletRequest对象用于获取客户端的请求信息,比如请求参数等;HttpServletResponse对象用于向客户端发送响应。 4. 读取请求数据:通过HttpServletRequest对象提供的方法来读取客户端发送的数据,例如使用getParameter()方法来获取表单参数。 5. 处理业务逻辑:在doGet()或doPost()方法中编业务逻辑,根据请求数据处理业务,如查询数据库、调用其他组件等。 6. 发送响应数据:使用HttpServletResponse对象提供的输出流(如getWriter()方法获取的PrintWriter对象)向客户端发送响应数据。 例如,一个简单的Servlet处理GET请求的代码示例如下: ```java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class MyServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<h1>Hello, World!</h1>"); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值