You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

访问Servlet时如何让提交的表单参数不被包含在访问URL中

实现Servlet表单参数不显示在URL中的方案

要避免表单参数出现在访问Servlet的URL中,核心是替换默认的GET表单提交方式,改用POST方式传递参数,具体实现步骤如下:

1. 调整前端表单提交配置

HTML表单默认使用GET方法提交数据,会将所有表单参数编码后拼接在URL的查询串中,只要将表单的method属性显式设置为post,参数就会被封装到HTTP请求体中,不会出现在URL里。
示例代码:

<form action="/你的Servlet映射路径" method="post">
  <input type="text" name="username" placeholder="用户名">
  <input type="password" name="password" placeholder="密码">
  <button type="submit">提交</button>
</form>

如果是AJAX请求访问Servlet,同理将请求类型设置为POST,参数放在请求体中传递即可。

2. Servlet端适配POST请求

Servlet需要重写doPost方法来接收POST方式提交的参数,参数获取逻辑和GET方式完全一致,调用request.getParameter("参数名")即可读取对应值。
示例代码:

public class MyServlet extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 读取表单参数
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        // 后续业务逻辑处理
    }
}

注意事项

  • POST方式只是将参数从URL转移到了请求体中,本身不会对参数做加密处理,如果传输密码、身份证号等敏感数据,必须配合HTTPS协议使用
  • 不要使用Servlet的doGet方法处理POST请求,也不要为了省事在doGet里直接调用doPost,避免参数泄漏风险

内容的提问来源于stack exchange,提问作者user13932723

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:36:03