提交表单信息

回到首页☞

目前直接通过form提交数据方式越来越少了。ajax+json是主流方式。
随着微服务的盛行,前端也在涌现了各种框架,目前vue+element是比较常见的。
但是百变不离其宗,封装来封装去,浏览器的核心机制没变,网路传输协议规则还是那样。

GET实现搜索引擎

form提交数据,method属性指向get,action指向请求地址。
get请求有路径参数,但是常用的还是查询参数 Query String,也就是?后面&连接的部分。
例如:
https://www.baidu.com/s?ie=utf-8&mod=1&isbd=1&isid=ddb830d2000433ee&ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=Tomcat%20JNDI%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E6%BA%90&oq=Tomcat%2520JNDI%25E9%2585%258D%25E7%25BD%25AE%25E6%2595%25B0%25E6%258D%25AE%25E6%25BA%2590&rsv_pq=ddb830d2000433ee&rsv_t=a788apPNIOShGHlGb64YBGjyK05YhxO%2Bh9M13wqos5QBlWACpzNDCmFPs54&rqlang=cn&rsv_enter=0&rsv_dl=tb&inputT=2534&rsv_sug3=46&rsv_sug4=3556&bs=Tomcat%20JNDI%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E6%BA%90&rsv_sid=1451_21114_30492&_ss=1&clist=&hsug=&f4s=1&csor=16&_cr1=38141

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Test</title>
  <style>
    div, body, span {
      font-size: 16px;
    }
  </style>
</head>
<body>
<div align="center">
  <div><img src="/FirstWeb/HelloServlet" style="margin: 25px;"/></div>
  <div>
    <form action="" method="get">
      <div>
        <input type="radio" name="type" value="web" checked/>网页
        <input type="radio" name="type" value="news"/>新闻
        <input type="radio" name="type" value="image"/>图片
        <input type="radio" name="type" value="video"/>视频
      </div>
      <div style="margin-top: 20px;">
        <input type="text" name="word" value="" style="width:300px;"/>
        <input type="submit" value="用雅虎搜索" style="width: 100px;"/>
      </div>
    </form>
  </div>
  <div style="margin-top: 50px;"> &copy; JDIT 2020-2200</div>
</div>
</body>
</html>

HelloServlet 可以这样接收参数

String word = request.getParameter("word");
String type = request.getParameter("type");

GET不能超过255字符,内容显示在地址栏也不安全,涉及到账号密码类敏感信息也不能使用GET方式。

POST提交个人信息

之前有个实例,init-param参数的时候
请求连接:http://localhost:10024/FirstWeb/notice.html
请求方式:post
form参数传递:
在这里插入图片描述
核心秘密其实就是:Content-Type: application/x-www-form-urlencoded
只不过post的参数不显示在地址栏中。

当然我们现在常用的json传递参数了。

获取参数的方式:

  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    String userName = request.getParameter("username");
    String password = request.getParameter("password");

    Enumeration<String> params = this.getInitParameterNames();
    while(params.hasMoreElements()){
      String userNameParam = params.nextElement();
      String passNameParam = getInitParameter(userNameParam);
      if(userNameParam.equalsIgnoreCase(userName)&&passNameParam.equalsIgnoreCase(password)){
          request.getRequestDispatcher("/WEB-INF/notice.html").forward(request,response);
          return;

      }
    }
  }

这里包含了从请求中获取参数和web.xml配置中获取参数。

回到首页☞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值