JAVA-网络编程3:HTML语言、PHP语言、简易网页的创建、提交登录表单


心得体会

  • 有些东西要真正去接触才会了解。很多时候我们会对一件从未接触的事情望而却步,仅仅是因为我们以为很难。但是当我们鼓足勇气去接触,揭开那神秘的面纱之后,或许,并没有我们想象的那么难。有时候最困难的,是跨出第一步;有时候,不要满足去羡慕别人,而要努力去做那个让别人羡慕的对象,总而言之,也许,你缺的只有勇气而已。

今日所学

  • 1.HTML的简单入门
  • 2.用HTML语言创建一个简单的静态网页
  • 3.使用服务器访问局域网数据
  • 4.[HTML-form] PHP处理提交登录表单--get方式
  • 5.尝试用Socket提交数据给服务器----失败!!!
  • 6.[JAVA后台语言]使用URL访问(提交/下载)服务区数据
  • 7.从网站下载数据,【post】上传数据

具体操作

1.HTML的简单入门

**小贴士:**``HTML的菜鸟入门,建议访问网址https://www.runoob.com/html/html-tables.html
里面有比较详细的介绍,值得一看^^

  • 什么是HTML语言?
  • HTML 是用来描述网页的一种语言。
    HTML 指的是超文本标记语言: HyperText Markup Language
    HTML 不是一种编程语言,而是一种标记语言,标记语言是一套标记标签 (markup tag)
    HTML 使用标记标签来描述网页
    HTML 文档包含了HTML 标签及文本内容
    HTML文档也叫做 web 页面

ps:
标记语言:通过一个对应的字段来标识某种功能

  • HTML基础——4个实例
    HTML 标题
    HTML 标题(Heading)是通过

    -

    标签来定义的.
实例

这是标题1

这是标题2

这是标题3

这是标题1

这是标题 2

这是标题 3

HTML 段落
HTML 段落是通过标签**

**来定义的.

实例

这是一个段落。

这是另外一个段落。

这是一个段落。
这是另外一个段落。

HTML 链接
HTML 链接是通过标签 来定义的.

实例
这是一个链接

https://www.runoob.com/
HTML 图像
HTML 图像是通过标签 来定义的.

实例

image.png
  • HTML列表、居中、换行
    HTML表格
    表格由 标签来定义。每个表格均有若干行(由 标签定义),每行被分割为若干单元格(由
    标签定义)。字母 td 指表格数据(table data),即数据单元格的内容。数据单元格可以包含文本、图片、列表、段落、表单、水平线、表格等等。
    row 1, cell 1 row 1, cell 2
    row 2, cell 1 row 2, cell 2

    image

    HTML居中

    HTML换行



    2.用HTML语言创建一个简单的静态网页

    
     
        
        
            
            我的第一个网页
       
        
        
        
            
            

    人生的选择

    灏无

    林中路
    罗伯特.弗罗斯特
    黄色的树林里分出两条路
    可惜我不能同时去涉足
    我在那路口久久伫立
      我向着一条路极目望去
    直到它消失在丛林深处
    但我却选择了另一条路
    它荒草萋萋,十分幽寂
    显得更诱人,更美丽
    虽然在这两条小路上
    很少留下旅人的足迹
    虽然那天清晨落叶满地
    两条路都未经脚印污染
    啊,留下一条路等改日再见
    但我知道路径延绵无尽头
    恐怕我难以再回返
    也许多少年后在某个地方
    我将轻声叹息将往事回顾
    一片树林里分出两条路——
    而我选择了人迹更少的一条
    从此决定了我一生的道路

    >
    姓名 班级 成绩
    小王 计科 98

    这是一个百度的链接

    运行结果

    image.png

    ps:如果要创建一个动态的网页,可以去了解一下CSS语言


    3.使用服务器访问局域网数据

    • 需要将自己本地的数据提供给外部访问
      自己的电脑扮演就是服务器端
      此时 需要自己创建一个服务器 (例如:apache服务器
      ps:我下面的操作都是建立在在安装好apache服务器的基础上的
    系统 服务器
    window apache、tomcat
    Mac sudo 、apachectl
    • 具体步骤

    1.启动服务器
    window:Apache->Apache24->bin->ApacheMonitor.ext->start

    image.png

    2.找到服务器工作路径 workspace
    window:Apache->Apache24->htdocs
    mac:/library/webServer/Document

    3.将需要提供给外部访问的文件放到当前目录下

    image.png

    4.访问:
    提供本机地址:127.0.0.1/test.html
    其他电脑(在同一个网段 局域网)
    http://172.20.10.4/test.html

    ps:此时需要将插入的图片和视频拖到服务器工作路径中,并且在HTML文本中需要将图片和视频的路径去掉
    比如:将

    image.png

    改为
    image.png


    4.[HTML-form] PHP处理提交登录表单--get方式

    表单form:用于浏览器向服务器提交数据-》登录

    如何使用表单

    ——》https://www.runoob.com/html/html-forms.html

    • 创建一个表单
    
    
    
    
        登录
    
    
    
    
        
        
    用户名: 密码:
    • 提交一个表单,并将一张照片设置为表单背景
    
    
        登录
    
    
    




    用户名:

    密 码:

    • 使用get提交数据
    • 当表单提交之后,需要有一个东西处理这个表单
      后台文件:能够处理客户端的请求
      服务器端需要一个文件来处理用户登录的请求
      [ java、php都属于后台语言]

    后台语言在处理表单的过程中发挥了什么作用?

    • 1.分析客户端提交的数据
    • 2.检索数据库 判断用户名和密码是否存在


      未命名文件(1).png

    数据提交的两种方式
    1.get/GET:向服务器提交数据 并且获取服务器返回的结果

    • 提交的数据都在url里面体现出来了,不安全
    • 当提交的数据比较多的时候 ,不能使用
    • 数据不是特别重要并且少量数据,使用get

    2.post/POST想服务器提交数据 并且获取服务器返回的结果

    • 提交的数据不会在url里面体现出来,安全
    • 可以提交大量数据

    【1】用PHP后台语言开发,提交数据

    
    
    
    
    
    
    
        登录
    
    
    




    用户名:

    密 码:

    运行结果:


    20190824_004405.gif

    5.尝试用Socket提交数据给服务器----失败!!!

    public class Myclass  {
        public static void main(String[] args) throws IOException {
           Socket socket=new Socket("192.168.43.121",80);
           //传递数据
           String data="user_name=jack&user_password=123";
           //创建输出流
            PrintStream ps=new PrintStream(socket.getOutputStream());
            ps.println(data);
    
            //接受服务器端返回的数据
            BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
            System.out.println(br.readLine());
    }
    }
    

    **错误的原因**

    服务器端的Socket不是我们写的,我们只写了客户端,服务器端并不知道我们写的Socket要干什么.

    6.[JAVA后台语言]使用URL访问(提交/下载)服务区数据

    public class Myclass  {
        public static void main(String[] args) throws IOException {
            //使用代码访问服务器
            //URL 有能够得到
            //http://127.0.0.1/login.php
            //1.创建URL
            String path="http://192.168.43.121/login.php?"+"user_name=jack&user_password=123";
            URL url=new URL(path);
            //2.获取链接的对象
            //URLConnection封装了Socket
            URLConnection connection=url.openConnection();
    
            //设置请求方式
            HttpURLConnection httpConnection=(HttpURLConnection) connection;
            httpConnection.setRequestMethod("GET");
    
            //判断连接的状态
            System.out.println(httpConnection.getResponseCode());
    
            //3.接受服务器端的数据
            InputStream is=httpConnection.getInputStream();
            byte[] buf=new byte[1024];
            int len;
            while((len=is.read(buf))!=-1 ){
                System.out.println(new String(buf,0,len));
            }
        }
    }
    

    7.从网站下载数据,【post】上传数据

    • 下载数据
    public class Myclass {
        public static void main(String[] args) throws IOException {
            getImage();
        }
     //下载数据 get不带参数
        public static void getImage() throws IOException{
            URL url=new URL("http://192.168.43.121/a.jpg");
    
            //获取与服务器链接的对象
            URLConnection connection=url.openConnection();
    
            //读取下载的内容 -获取输入流
            InputStream is=connection.getInputStream();
            //创建文件保存的位置
            FileOutputStream fos=new FileOutputStream("C:\\Users\\Administrator.000\\AndroidStudioProjects\\java4\\java\\src\\main\\java\\day14\\1.jpeg");
            byte[] buf=new byte[1024];
            int len;
            while((len=is.read(buf))!=-1){
                fos.write(buf);
            }
        }
    

    运行结果:


    JFRHY3}VJ}7X~MAM1T@{{~6.png

    DVMC2O4R%2WJJ~5}1ZZFDQ.png
    • 用POST方法上传数据

    1.PHP里面讲GET改为POST


    public class Myclass {
        public static void main(String[] args) throws IOException {
            post();
        }
    public static void post() throws  IOException {
            URL url = new URL("http://192.168.43.121/login.php");
    
            //获取connection对象
            //URLconnection
            //HttpURLConnection 自己需要设定请求的内容  请求方式 上传的内容
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            //3.设置请求方式为post
            connection.setRequestMethod("POST");
            //设置有输出流 需要上传
            connection.setDoOutput(true);
            //设置有输入流 需要下载
            connection.setDoInput(true);
            //准备上传的数据
            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 len;
            while ((len = is.read(buf)) != -1) {
                System.out.println(new String(buf, 0, len));
            }
        }
    

    运行结果


    你可能感兴趣的:(JAVA-网络编程3:HTML语言、PHP语言、简易网页的创建、提交登录表单)