由于做一个练习需要用到虚拟机。正常装好virtualbox之后外面的主机不能直接访问里面发布的服务(他们不再同一个网段)。查了半天,探索了半天,下面这个文章用NAT的方式解决了。(其实方法就在virtualbox中,但英文水平和专业知识理解等问题不能很好理解)
http://www./supesite/index.php/action-blogdetail-uid-2-id-1299
在未打开虚拟机之前(一定不能先运行!即使在运行了重启也不管用。virtualbox界面都不要打开),运行下面命令(需要到virtualbox安装目录下才能找到vboxmanage)
VBoxManage setextradata "myubuntu" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/web/Protocol" TCP
VBoxManage setextradata "myubuntu" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/web/GuestPort" 2222
VBoxManage setextradata "myubuntu" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/web/HostPort" 8080
其中,myubuntu是我们在virtualbox中虚拟机名字。注意配置虚拟机网卡。这个在原文中已经说清楚了。O(∩_∩)O~
可以通过对比,cmd下查看主机当前端口使用情况

说明我们的2222端口已经被vboxmanage监听并转发给virtualbox的myubuntu虚拟机(对于为啥对应IP是0.0.0.0,Unknown。。。,网上有解释O(∩_∩)O~)
然后,启动virtualbox,运行我们的mybuntu,发布我们的web服务。我的是tomcat,哈哈,成功啦!!

下面是主机和虚拟机访问截图!

会有其他方法的,最好还是将主机和虚拟机放在同一个网段中最好,像个局域网。等有时间精力在做吧O(∩_∩)O~
要是有人知道答案。let me know。