zoukankan      html  css  js  c++  java
  • JavaWeb_Get和Post方法传输数据区别

    Get方法和Post方法传输数据区别:    传送门

    • GET在浏览器回退时是无害的,而POST会再次提交请求
    • GET产生的URL地址可以被Bookmark,而POST不可以
    • GET请求会被浏览器主动cache,而POST不会,除非手动设置
    • GET请求只能进行url编码,而POST支持多种编码方式
    • GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留
    • GET请求在URL中传送的参数是有长度限制的,而POST么有
    • 对参数的数据类型,GET只接受ASCII字符,而POST没有限制
    • GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息
    • GET参数通过URL传递,POST放在Request body中
                                                    

            

    Learn

      一、Get方式直接传参

      二、通过表单Get方式传参

      三、通过表单Post方式传参
     

    一、Get方式直接传参

      直接在Url中输入要传参的值

      通过System.out.println()控制台中打印出信息

    <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
      </head>
      
      <body>
        Hello,Gary! <br>
       <%
               String username = request.getParameter("username");
               System.out.println(username);
               String password = request.getParameter("password");
               System.out.println(password);
        %>
      </body>
    </html>
    index.jsp
        usernae: gary
        password: 123456

    二、通过表单Get方式传参

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
      </head>
      
      <body>
        Hello,Gary! <br>
    
        登陆
        <form action="login.jsp" method="get">
        <input type = "text" name = "username"/>
        <input type = "password" name="password"/>
        <input type="submit">
        </form>
      
      </body>
    </html>
    index.hjsp
    <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'login.jsp' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
      </head>
      
      <body>
        Login.jsp. <br>
      </body>
    </html>
    login.jsp

      method="get"  将传输请求设置为get方式

        <form action="login.jsp" method="get">
        <input type = "text" name = "username"/>
        <input type = "password" name="password"/>
        <input type="submit">
        </form>

      用户在登陆的时候账号和密码直接暴露在url中,即使 <input type = "password">也不能阻止我们直接从网页上获取用户密码

    三、通过表单Post方式传参

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'index.jsp' starting page</title>
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
      </head>
      
      <body>
        Hello,Gary! <br>
    
        登陆
        <form action="login.jsp" method="post">
        <input type = "text" name = "username"/>
        <input type = "password" name="password"/>
        <input type="submit">
        </form>
      
      </body>
    </html>
    index.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'login.jsp' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
      </head>
      
      <body>
        Login.jsp. <br>
      </body>
    </html>
    login.jsp

      method="post"  将传输请求设置为post方式

        <form action="login.jsp" method="post">
        <input type = "text" name = "username"/>
        <input type = "password" name="password"/>
        <input type="submit">
        </form>

      

    (如需转载学习,请标明出处)
  • 相关阅读:
    分支与合并@基础
    创业者那些鲜为人知的事情
    centos7.5+nginx+php急速配置
    通过webhost扩展方式初始化EFCore数据库
    AspNetCore架构图
    Linux就该这样学--之常用linux命令及bash基础
    使用gitlab构建基于docker的持续集成(三)
    使用gitlab构建基于docker的持续集成(二)
    使用gitlab构建基于docker的持续集成(一)
    使用docker-compose配置mysql数据库并且初始化用户
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/9775961.html
Copyright © 2011-2022 走看看