JSP&Servlet

0.WEB工程结构:
    B/S:Brower/Server:浏览器/服务器:只需要网络,有较好的共享性
    C/S:Client/Server:客户端/服务器:需要部署客户端

    思想:Servlet、JSP、HTML、工具类、JavaBean、标签库等,都放在不同层次的目录中:
    WebAppDirectory:
        SomeFile.html(url:    http://host/WebAppPreFix/SomeFile.html)
        SomeFile.jsp(url:    http://host/WebAppPreFix/SomeFile.jsp)
        Images,Style Sheets...
        WEB-INF:(其中的文件不能由客户端直接访问,可以由RequestDispatcher转发到WEB-INF下)
            web.xml
            classes:
                SomeServlet.class(url:    http://host/WebAppPreFix/Servlet/SomeServlet)
                SomeUtility.class
                somePackage:
                    AnotherServlet.class
                    AnotherUtility.class
            lib:
                SomeClasses.jar
                MoreClasses.jar
            tids:
                SomeTages.tid
                MoreTages.tid
        META-INF:
            MANIFEST.MF

1.URL:    协议://主机地址:连接端口/目录/文件名称
    协议:    SMTP:Simple Mail Transfer Protocol
            FTP:File Transfer Protocol
            POP3:Post Office Protocol 3
            HTTP:HyperText Transfer Protocol

2.HTTP    是基于 Request/Response 的通信协议,客户端发出获得资源的请求,服务器给客户端响应。每次联机做出一次 请求/响应
        不存在server主动向客户端响应(PUSH)
        Request:
            方法:GET POST HEAD DUT DELETE
                GET:    url?names=values?……
                POST:    url
                GET方法 不适用于表单包含大量的数据或敏感信息的请求,适用于根据地址响应请求的情况(网页标签)
                一般来说:GET适用于等幂操作(只获取数据,不改变服务器的数据和状态,同样的请求应返回同样的结果),POST适用于零等幂操作(请求将改变服务器的数据或状态)。
                <form>中 method 方法默认为 GET

3.客户端与服务器无法直接进行交互,必须通过 HTTP和网络 进行互动。

4.Servlet&JSP 在服务器端:JSP和Servlet是 一体两面的
    过程:    容器将JSP转译为Servlet,再加载Servlet。
    Servlet是Java的一个类名,通过 Web容器 Container 的加载、初始化、受到容器的管理才得已成为一个 Servlet程序
    容器(例:Tomcat)是Java所编写的一个应用程序,负责与服务器的沟通,管理Servlet的对象和数据。
    JSP是一种动态网页技术、JSP文件是 插入了 Java程序段和JSP标签的 HTML文件。JSP将被 容器转译为 Servlet程序 并加载到容器中。
    JSP处理HTML标签只是将其原封不动的响应给浏览器(包括JavaScript程序段)。

5.
    1.CGI(公共网管接口):
        step1.浏览器 请求 服务器
        step2.在服务器中交由http服务器处理,将请求分为静态部分和动态部分,静态部分直接返回静态网页,动态部分调用不同的CGI程序进行函数的处理、获得并返回信息。
        step3.http服务器整合信息响应给客户端(浏览器)
    
    2.JavaWeb部分:
        step1.浏览器 请求 服务器
        step2.服务器交由http服务器处理,http服务将请求分为静态和动态两部分,静态部分返回静态网页,动态部分交由 JVM虚拟机 处理,
        step3.JVM虚拟机调用容器程序,转译JSP(动态部分)为若干个Servlet类,每个Servlet处理、获得并返回信息到http服务器。
            WEB容器生成单独的Thread来调用一个Servlet
            Tomcat是一个WEB容器的实现,并且自带了一个http小的服务器,能够和其他http服务器结合使用。
        step4.http服务器整合为网页响应给浏览器
    
    3.Servlet 相比较于 CGI:
    用线程取代操作系统的进程
    大量的工具类
    共享数据,数据持久
    便携(可运行于所有主流操作系统)
    大量免费的或低价的服务器
    没有缓存溢出问题
    主流

6.MVC:Model-View-Controller
    M:
        封装了程序的功能和状态、与数据库互动、逻辑处理的对象
        与页面采取的解决方案无关、与底层储存技术、访问的机制无关
        是业务的逻辑组件,具有较高的可移植性
        在状态改变时通知View
    V:
        用户观看及操作的接口
        会对感兴趣的Model进行注册,收到其通知并更新
    C:
        手机用户的请求并转发给对应的Model对象,操作和修改某个数据Model

    特点:
        通过Controller的请求转发切断了View和Model之间的耦合性
        Model中不会有显示页面的相关逻辑
        View需要数据中查询Model获得

7.Model 2:MVC的缺点是Brower无法在Model状态改变时主动地查询Model的最新状态,因此在 Model 2 中Brower会主动的请求获取Model最新状态。
    C(Servlet):
        在收集请求后,委托Model处理,在Model处理后获得执行流程并转发给View
    M(Java对象):
        在接收到Controller的请求设置后,进行相关处理和状态更新
    V(JSP):
        在接受Controller转发的执行流程后,视图进行页面组织,查询Model的最新状态,返回响应。

    流程:
        1.Brower发送request到http server
        2.http server中,容器:
            1.(检查.xml)servlet(C)接受请求
            2.由Java对象(M)处理
            3.Model返回执行流程到Controller
            4.Controller转发执行流程到JSP(V)
            5.View查询Model的最新状态,获得信息,组织页面
            6.View返回响应
        3.http server返回响应到Brower

8.软件的层次结构:
    表现层    控制层    业务逻辑    数据逻辑
    JSP     Servlet 借口,实现类
    V         C             M
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值