解决axios.post 请求HttpServletRequest.getParameter获取不到值

工具类 

public class ServletRequestUtil {
    private static ObjectMapper om = new ObjectMapper();

    public static HashMap<String,Object> getJson(InputStream getInputStream) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(getInputStream));
        String line = null;
        StringBuilder sb = new StringBuilder();
        while ((line = br.readLine()) != null) {
            sb.append(line);
        }
        //将空格和换行符替换掉避免使用反序列化工具解析对象时失败
        String jsonString = sb.toString().replaceAll("\\s","").replaceAll("\n","");
        //json转map<String,Object>
        HashMap<String,Object> mmap = om.readValue(jsonString, HashMap.class);
        return mmap;
    }
}

servlet类

将request的输入数据流传到工具类中返回一个map

public class DeleteService extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //添加学生
        /*设置编码*/
        req.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html;charset=utf-8");
        
        /*输入的学号*/
        //获取数据流中的内容,封装在了ServletRequestUtil中
        HashMap<String,Object> jsonData= ServletRequestUtil.getJson(req.getInputStream());
        int id = (Integer)jsonData.get("id");
        try {
            //删除学生
            StudentDao.delete(id);
            //返回提示信息
            resp.getWriter().write("删除成功");
        } catch (SQLException e) {
            e.printStackTrace();
            resp.getWriter().write("删除失败");
        }

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req,resp);

    }
}

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值