Java之GET,POST实现上传下载

一、HTML语言

  超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。

  • 声明为 HTML5 文档
  • 元素是 HTML 页面的根元素
  • 元素包含了文档的元(meta)数据,如 定义网页编码格式为 utf-8。
  • 元素描述了文档的标题</li> <li><body> 元素包含了可见的页面内容</li> <li><h1> 元素定义一个大标题</li> <li><p> 元素定义一个段落</li> </ul> <h2>常见方法介绍</h2> <h3>1. HTML标题</h3> <pre><code><h1>这是一个标题</h1> <h2>这是一个标题</h2> <h3>这是一个标题</h3> // 一共有5级标题 </code></pre> <h3>2. HTML 段落</h3> <p>align设置对齐方式,靠右,居中,靠左</p> <pre><code><h1 align="center">阿里巴巴</h1> </code></pre> <h3>3. HTML 链接</h3> <pre><code><!-- 插入链接 --> <a href="https://www.runoob.com/html/html-basic.html">这是一个链接</a> </code></pre> <h3>4. HTML图片</h3> <ul> <li><center></center> 设置居中</li> <li>src 图片的路径</li> <li>width height 设置图片的尺寸</li> </ul> <pre><code> <center><img src="1.jpg" width="500" height="300"> </center> </code></pre> <h3>5. HTML视频</h3> <ul> <li>source 视频路径</li> <li>type 视频类型</li> </ul> <pre><code><video width="320" height="240" controls> <source src="movie.mp4" type="video/mp4"> <source src="movie.ogg" type="video/ogg"> 您的浏览器不支持Video标签。 </video> </code></pre> <h3>6. HTML表格</h3> <ul> <li>border 边框宽度 bgcolor 边框颜色</li> <li>tr 表示行 td 表示列</li> </ul> <pre><code><!-- 插入表格 --> <table border="1" bgcolor="FF7F50"> <!-- tr表示行 ,td表示列 --> <tr> <td>姓名</td> <td>班级</td> <td>成绩</td> </tr> <tr> <td>小王</td> <td>计科1班</td> <td>90</td> </tr> </table> </code></pre> <p>ps:想了解更多点我HTML_教程</p> <h2>使用HTML语言做一个表单用于提交用户信息</h2> <p>  打开Apache服务器,输入对应的URL进入界面,输入用户输入姓名和密码,点击提交按钮,返回用户输入的用户名与密码。</p> <pre><code><!-- 做一个表单用于提交用户的信息 --> <!DOCTYPE html> <html> <head> <title>登录

    登录

    用户名:


    密  码:

    二、PHP语言

      PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。PHP 是免费的,并且使用非常广泛。同时,对于像微软 ASP 这样的竞争者来说,PHP 无疑是另一种高效率的选项。
    ps:想了解更多点击这里PHP语言教程

    使用PHP接受外部传递过来的数据 ,即客户端提交的数据

    数据提交方式:

    • get/GET:
      向服务器端提交数据 并获取服务器端返回的结果
      特点:提交的数据都在URL里面体现
      不安全
      当提交的数据比较多的时候无法使用
      数据不是特别重要并且少量使用get
    • post/POST:
      向服务器端提交数据 并获取服务器端返回的结果
      特点:提交的数据不会在URL里面体现
      安全 可以提交大量数据
    
    

    注意:PHP文件以

    三、代码实现上传下载

      传统的客户端与服务器端使用socket的方式已经不能满足要求,因为这种方式只操作了客户端,没有操作服务器端,不能达到数据交互的效果,所以我们使用URL来实现.

    • 使用post上传简单数据

     // 使用post上传数据 上传简单数据 不是文件
        public static void post() throws IOException {
            // 1. 创建URL
            URL url = new URL("http://127.0.0.1/login.php");
    
            // 2.获取connection对象
            // URLConnection
            // HttpURLConnection 自己需要设定请求的内容
            //                      请求方式  请求内容
            HttpURLConnection connection = (HttpURLConnection)url.openConnection();
    
            // 3. 设置请求方式为post
            connection.setRequestMethod("POST");
            // 设置有输入流 需要下载
            connection.setDoInput(true);
            // 设置有输出流 需要上传
            connection.setDoOutput(true);
    
            // 4.准备上传的数据
            String data = "user_name=jack&user_password=123";
    
            // 5. 开始上传  输出流对象
            OutputStream os = connection.getOutputStream();
            os.write(data.getBytes());
            os.flush();  // 写完了
    
            // 6. 接收服务器端返回的数据
            InputStream is = connection.getInputStream();
            byte[] buf = new byte[1024];
            int length;
            while ((length = is.read(buf)) != -1){
                System.out.println(new String(buf,0,length));
            }
    
        }
    
    
    • 下载数据 get 不带参数

    // 下载数据  get 不带参数
        public static void getImage() throws IOException {
            // URL
            URL url = new URL("http://127.0.0.1/1.png");
    
            // 获取与服务器连接的对象
            URLConnection connection = url.openConnection();
    
            // 读取下载的内容 -- 获取输入流
            InputStream is = connection.getInputStream();
    
            // 创建文件保存的位置
            FileOutputStream fos = new FileOutputStream("D:\\AndroidStudioProjects\\JavaCourse\\Java\\src\\main\\java\\day14\\1.png");
    
            byte[] buf = new byte[1024];
            int length;
            while((length = is.read(buf)) != -1){
                fos.write(buf,0,length);
            }
    
        }
    
    
    • 下载数据 带参数的get请求

     // 带参数的get请求
        public static void getParams ()throws IOException {
            // 使用代码访问(提交/下载)服务器数据
            // URL 统一资源的定位
            // http://10.129.49.204/login.php?user_name=jack&user_password=123
            // 1.创建URL
            String path = "http://10.129.49.204/login.php?"+"user_name=jack&user_password=123";
            URL url = new URL(path);
    
            // 2.请求方式默认是get
            // 获取连接的对象   URLConnection封装了Socket
            URLConnection connection = url.openConnection();
    
            // 设置请求方式
            HttpURLConnection httpURLConnection = (HttpURLConnection)connection;
            httpURLConnection.setRequestMethod("GET");
    
            // 判断连接的状态
            System.out.println(httpURLConnection.getResponseCode());
    
            // 接收服务器端的数据
            BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream()));
            System.out.println(br.readLine());
    
        }
    }
    

    四、心得体会

      通过学习了解到了如何使用GET/ POST方式来实现上传下载,也初步掌握了HTML语言和PHP语言的基本用法,很充实的一天。

你可能感兴趣的:(Java之GET,POST实现上传下载)