第二节

一、完成简单的客户端和服务器交互

1、创建可空工程

1、打开idea
2、Creat New Project
3、选择Empty Project -> Next ->输入名字选择路径->Ok
4、在Project Structure窗口中选择Modules点击“+” -> Next->输入moduleName->Finsh->点击新建的模块的下拉箭头
5、选中src->右键->New->javaClass->输入名字->Main->添加main方法->编辑代码输出“Hello World!!!”,点击运行。第一个代码成功了
6、增加web模块:
选中模块->右键->add fromwork support->选中web Application->OK
7、选中web添加test.html文件
8.1、将tomCat集成到IDEA中
点击Add Configuration->点击“+”选择Tomcat Server local->为集成的tomCat取个名字(在Name后面输入)->点击server下的Configure选择tomCat的目录
8.2、点击Deployment(部署)->点击“+”选择Artifact(只有一个模块的时候会默认加进去)->选择Application context:(这个代表用什么路径能访问到这个程序)->ok
9、run tomCat 成功
打开的网页默认会找index.htm、index.html、index.jsp
修改路径可访问不同的资源
10、添加一个login.html文件编写表单username和password,添加按钮type为submit

用户名
密码

11、想用java代码就收客户端的东西需要引用
在Project Structure窗口中选择Modules选中我们添加的Module->选中Dependencies->点击“+”->选择Library->选择Tomact->Add Selected->OK.
12、选中src->右键->java Class->com.xxxx.yyy.ClassName

/**
 * 处理登陆请求
 * 1、继承HttpServlet,才能处理http请求
 * 2、适用@WebServlet,说明她要处理的请求路径
 */
@WebServlet("/login")
public class LoginServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doPost(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        String username = req.getParameter("username");
        String password = req.getParameter("password");
        System.out.println(username + "_" + password);

        if ("123".equals(username) && "456".equals(password)) {
            resp.getWriter().write("Login Success!!!");
        }
         else
        {
            resp.getWriter().write("Login Failure!!!");

        }

    }
}

13、修改login.html




    
    登陆


用户名
密码

注意from中的action

二、

1、计算机中间的通信基础

想课对方通讯必须知道对方的ip地址。根据ip地址翻译为网卡地址


image.png

2、计算机之间的连接方式 - 网线直连

ARP协议(广播) 同一个网段之间连接
有了ip地址 后发消息就会用ARP协议
拟人:问下你知道ip地址为********的mac地址吗?
发出的消息有原ip地址和原mac地址,目标ip地址和目标mac地址FFFF.FFFF.FFFF。

3、计算机之间的恶链接方式-同轴电缆(Coaxial)

半双工通信:不能同时互相发送消息
容易冲突:不能同时存在发送消息的设备
不安全:消息不是发给我的我也能解析到
中间段了,整个系统都瘫痪了


image.png

4、计算机之间的连接方式 - 集线器(Hub)

半双工通讯
容易冲突
不安全


image.png

跟同轴线缆一样:没有智商
和一个计算机连接的线不会影响其他的设备

5、计算机之间的连接方式 - 网桥(Bridge)

能够通过自学习的值每个接口那侧的MAC地址
从而起到隔绝冲突域的作用


image.png

6、计算机之间的连接方式 - 交换机(Switch)

相当于接口更多的网桥
全双工通讯
比集线器安全


image.png
  • 思考全球所有的设备都用交换机连接会是什么情况?
    交换机连接的设备都是同一个网段

7、计算机之间的连接方式 - 路由器(Router)

网线之恋、同轴电缆、集线器、网桥、交换机。
以上连接的设备唏嘘在统一网段
连接的设备出来同一广播域

IP地址最后一个字节不同处在一网段。

关键字广播风暴:
在同一个网段的设备太多了。

路由器

可以在不同网段之间转发数据
隔绝广播域

image.png

主机发数据前,首先会判断咪表主机的IP地址跟它是否在同一个网段
视频时间:第3个视频37分左右
1、在一个网段:ARP、通过交换机、集线器
2、不在一个网段:通过路由器的网关,发一个ARP找到自己的网关得到自己网关的mac地址在向自己的网关发送icmp数据,路由器判断目标ip在另一个端口的网段里,另一个端口发个ARP找到目标ip对应的mac再将数据传给它。

你可能感兴趣的:(第二节)