B/S架构
    C/S架构
    静态HTML语言
    动态网页技术:
    CGI 通用网关接口 最早期的创建动态网页的技术
    ASP 微软 语法简单易于上手
    PHP 也可以嵌套到HTML中
    JSP Java Sever Page 服务器端脚本语言
    使用的是JAVA语法
    本质:
    将Java代码嵌套到HTML中,经JSP容器编译执行—>产生对应的HTML代码—浏览器显示
    .NET 与J2EE之争
    .NET Winsdow 系统
    可视化编程环境
    可以访问到系统的各个细节
    .NET的局限
    不可以跨平台
    Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,
    这个过程称之为虚似目录的映射
    在本地计算机上随便创建一个web页面,用户是无法访问到的,但是如果启动tomcat服务器,把web页面放在tomcat服务器中,用户就可以访问了。这说明什么问题?
    1、不管什么web资源,想被远程计算机访问,都必须有一个与之对应的网络通信程序,当用户来访问时,这个网络通信程序读取web资源数据,并把数据发送给来访者。
    2、WEB服务器就是这样一个程序,它用于完成底层网络通迅。使用这些服务器,Web应用的开发者只需要关注web资源怎么编写,而不需要关心资源如何发送到客户端手中,从而极大的减轻了开发者的开发工作量。
    TCP/IP 需要一本书:《TCP/IP 详解 卷一》
    HTTP 需要另一本书:《HTTP 权威指南》
    Sockets 还需要一本书:《Unix 网络编程 卷一》
    以上三本书不需要看完,各看半本就行。然后才谈得到“它们之间的逻辑关系”。
    Servlet 可能需要不止一本书。因为估计现在也很少有人直接裸写 Servlet ,一般都基于某个 Web 框架来开发。
    Socket是实现TCP协议的接口,便于使用TCP。
    Socket是实现传输层协议的封装API,可以用Socket实现HTTP协议
    TCP是传输层协议,保证两台电脑上的两个程序数据传输到位。(参见网络五层模型)
    HTTP是应用层协议(在传输层之上),是被TCP包裹的具体表示有特殊含义逻辑的一段内容。有HTTP头,body,
    具体看HTTP协议规范标准
    Jsp和Servlet有什么区别?
    jsp就是在html里面写java代码,servlet就是在java里面写html代码…其实jsp经过容器解释之后就是servlet
    只是我们自己写代码的时候尽量能让它们各司其职,jsp更注重前端显示,servlet更注重模型和业务逻辑。不要写出万能的jsp或servlet来即可。
    既然JSP和Servlet都有自身的适用环境,那么能否扬长避短,让它们发挥各自的优势呢?答案是肯定的——MVC(Model-View-Controller)模式非常适合解决这一问题
    1java Web 背景知识 - 图1
    MVC模式在Web开发中的好处是非常明显,它规避了JSP与Servlet各自的短板,
    Servlet只负责业务逻辑而不会通过out.append()动态生成HTML代码;
    JSP中也不会充斥着大量的业务代码。这大大提高了代码的可读性和可维护性。
    按照用servlet做控制,jsp做视图的原则
    JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例——JSP页面由系统编译成Servlet,Servlet再负责响应用户请求。
    JSP其实也是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用中的每个JSP页面都会由Servlet容器生成对应的Servlet。对于Tomcat而言,JSP页面生成的Servlet放在work路径对应的Web应用下。
    Servlet 的作用是生成 HTML,然后发到客户端,再由客户端(也就是浏览器)渲染结果。 JSP 本质上就是 Servlet,只是 Servlet 里面一行行拼 HTML 太麻烦了,所以有了 JSP 这种东西,把拼 HTML 自动化了。
    Servlet 在服务端执行,生成 HTML,发送到客户端执行。所以并不是浏览器执行 Java 代码。
    其它的 Web 技术,原理都是类似的,都是在服务端生成 HTML 后(当然也有用 JSON 和 XML 的),通过网络往浏览器或者其它客户端发