通过Java代码的方式获取Request和Response

在做项目的时候,如果前端传来的参数没有对应的实体类做封装,控制器获取前端传来的参数还是很常见的,但是在Controller的每一个方法中都将HttpServletRequest或者HttpServletResponse对象传入,代码特别不美观,所以我这边封装了一个工具类,有两个方法分别返回HttpServletRequest和HttpServletResponse。

网上一搜一大堆,这里只做一个笔记记录。

package com.lianqiao.dache.util;

import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/** Http工具类,返回HttpServletRequest对象和HttpServletResponse对象
 * @author 秋枫艳梦
 * @date 2019-04-10
 * */
public class HttpUtil {
    
    /** 返回一个HttpServletRequest
     * @return request请求体
     * */
    public static HttpServletRequest getRequest(){
        return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
    }

    /** 返回一个HttpServletResponse
     * @return response响应流
     * */
    public static HttpServletResponse getResponse(){
        return ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getResponse();
    }
}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,以下是一个用Java Servlet获取RequestResponse对象信息的示例代码: ```java import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取请求信息 String method = request.getMethod(); // 获取请求方法 String uri = request.getRequestURI(); // 获取请求URI String queryString = request.getQueryString(); // 获取请求参数 String userAgent = request.getHeader("User-Agent"); // 获取请求头User-Agent String remoteAddr = request.getRemoteAddr(); // 获取请求IP地址 // 输出请求信息 System.out.println(String.format("Method: %s", method)); System.out.println(String.format("URI: %s", uri)); System.out.println(String.format("Query String: %s", queryString)); System.out.println(String.format("User-Agent: %s", userAgent)); System.out.println(String.format("Remote Addr: %s", remoteAddr)); // 设置响应信息 response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); response.setStatus(HttpServletResponse.SC_OK); // 获取响应输出流并输出响应信息 response.getWriter().println("<html><body><h1>Hello World!</h1></body></html>"); } } ``` 在上面的代码中,我们通过HttpServletRequest对象获取请求的方法、URI、参数、请求头和IP地址等信息,并通过HttpServletResponse对象设置了响应的内容类型、字符集和状态码,并输出了响应的内容。当然,这只是一个简单的示例,实际应用中还需要根据业务需求进行相应的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值