Java网络编程(三)

HTML基础

(一)基础知识

HTML:超文本标记语言(HyperText Markup Language)是一种用于创建网页的标准标记语言。HTML 不是一种编程语言,而是一种标记语言是网页制作所必备的。超文本就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言(或超文本标签语言)的结构包括头”部分和“主体”部分,其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。

HTML-菜鸟教程

代码示例:







我的第一个网页

   


HTML

HTML的由来

   万维网(world wide web)上的一个超媒体文档称之为一个 页面(外语:page)。作为一个组织或者个人在万维网上放置开始点的页面称为主页(外语:Homepage)或首页,主页中通常包括有指向其他相关页面或其他节点的指针(超级链接),所谓超级链接,就是一种统一资源定位器(Uniform Resource Locator,外语缩写:URL)指针,通过激活(点击)它,可使浏览器方便地获取新 的网页。这也是HTML获得广泛应用的最重要的原因之一。在逻辑上将视为一个整体的一系列页面的有机集合称为网站(Website或Site)。超级文本标记语言(英文缩写:HTML)是为“网页创建和其它可在网页浏览器中看到的信息”设计的一种标记语言。 网页的本质就是超级文本标记语言,通过结合使用其他的Web技术(如:脚本语言、公共网关接口、组件等),可以创造出功能强大的网页。因而,超级文本标记语言是万维网(Web)编程的基础,也就是说万维网是建立在超文本基础之上的。超级文本标记语言之所以称为超文本标记语言,是因为文本中包含了所谓“超级链接”点。

百度链接:
姓名 班级 成绩
小王 计科1 96
小张 计科1 91
小刘 计科1 93

注意:写好的文件后缀必须是html或是htm,然后用浏览器打开。
效果展示:

(二)HTML写一个表单

由HTML写的一个网页可以看作是一个客户端,而客户端不仅可以访问服务器端的
数据,而且可以向服务器端上传数据。如果需要将自己本地的数据提供给外部访问
则需要在自己的电脑上搭建一个服务器比如 apache 。Windows操作系统 必须自己搭建服务器 apache
搭建服务器后如何让外部访问:

  • 1,启动服务器
  • 2,找到服务器工作路径 workspace
  • 3,将需要提供给外部访问的文件放到Apache文件下htdocs目录下
  • 4,如何访问:
    • 本机访问:127.0.1/test.html
    • 其他电脑: 在同一个局域网通过IP地址访问,比如:10.124.23.1/test.html

表单(form):用于浏览器向服务器提交数据。
客户端提交有两种方式:

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

代码示例:





登录


登录

账号:


密码:

效果展示:

效果展示

PS:在这个登录界面里输入账号和密码点击提交,客户端就会自动把账号和密码信息发送到服务器端,在由服务器端和数据库里面以后的数据做比对判断登录是否成功,因此我们还要在服务器端写一个文件来操作客户端传送过来的数据

 

这句就是将表单的数据传给服务器端的login.php文件处理,传递数据的方法是get

    file:///D:/AndroidWeb/Apache/Apache24/htdocs/login.php?user_name=Jack&user_password=123

注:我们可以看到当我点击提交后,使用get传递数据在URL里面就显示出了账号和密码信息
login.php文件:


用Java实现PHP操作的内容

(一)错误写法
     Socket socket = new Socket("10.129.25.52",80);
    //传递数据
    String date = "user_name=jack&user_password=123";
    //创建输出流
    PrintStream printStream = new PrintStream(socket.getOutputStream());
    printStream.println(date);
    //接收服务器端返回的数据
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    System.out.println(bufferedReader.readLine());
(二)用Java封装一个可以用于上传和下载数据的方法
  public static void post() throws IOException {
    //1,创建URL
    URL url = new URL("http://10.127.0.0.1/login.php");
    //2,获取连接对象
    HttpURLConnection connection = (HttpURLConnection)url.openConnection();
    //3,设置请求方式为post
    connection.setRequestMethod("POST");
    // 设置有输入流 需要下载
    connection.setDoInput(true);
    // 设置有输出流 需要上传
    connection.setDoOutput(true);
    //4,准备上传数据
    String date = "user_name=jack&user_password=123";
    //5,开始上传 输出流对象
    OutputStream os = connection.getOutputStream();
    os.write(date.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));
    }
}

学习感悟:

今天学习的内容比较多,但非常有趣,总的来说并不算很难。对于HTML来说,我觉得自己有着很浓厚的兴趣,以后可以多多深入学习一下。

你可能感兴趣的:(Java网络编程(三))