基础复习06

来源:互联网 发布:php 一致性hash算法 编辑:程序博客网 时间:2024/06/06 13:59

    1.web 和 javaweb
        web,就是万维网        javaweb就是java语言编写的万维网
        
    2.软件构架
        软件构架分为cs构架和bs构架
        cs构架 客户端服务器端构架,这类软件需要安装一个客户端,比如qq,迅雷,eclipse等等
        bs构架 浏览器端服务器端构架,不需要安装客户端,直接在浏览器上就可以访问.比如微博,4399游戏等
        
        cs构架的优缺点: 优点:服务器压力小    缺点:更新麻烦,服务器端更新了,客户端也要更新
        bs构架的优缺点: 优点:更新简单,服务器端更新了,通过浏览器可以直接访问    缺点:服务器压力大
        
    3.web服务器
        常见的web服务器有哪些?
            Tomcat: Apache提供的,开源的,免费的,满足EE的servlet和jsp规范
            Websphere :IBM提供的,大型的,收费的,满足EE的所有规范
            Weblogic :BEA提供的
            
    4.web开发中的资源
        静态资源:
            css
            html
            js
            
        动态资源:
            servlet.jsp
            php    
            ASP
            
    5.Tomcat集成Eclipse并发布项目
        使用熟练就不会忘记了
        
    6.HTTP协议
        什么是HTTP协议    超文本传输协议,规定了浏览器端和服务器端的数据交互方式
        
    7.HTTP协议有什么特点
        是基于请求和响应的
        必须先有请求后有响应
        请求和响应必须成对出现
        
    8.HTTP协议的抓包分析
        在浏览器中按F12打开开发者模式
        
    9.HTTP协议的请求部分
        由三部分组成:
                请求行,规定了请求方式和请求路径
                请求头,大多是一个key对应一个value,也有一个key对应多个value
                请求体,只有post才有请求体
                    
        get请求和post请求的区别:
                get请求的请求行包含请求参数,post不包含请求参数
                get请求没有请求体,post请求有请求体,请求体就是请求参数
                Referer请求头的作用: 表示网页的来源
                User-Agent请求头的作用:表示浏览器的类型
                
    10.HTTP协议的响应部分
        由三部分组成:
                响应行,有响应码和响应状态组成
                响应头,大多是一个key对应一个value,也有一个key对应多个value
                响应体,就是要显示在浏览器的代码
                
    11.servlet
    
        1.什么时候servlet:
                就是运行在web服务器上的一个java类,通过HTTP协议获取客服端的请求,同时也给客户端发出响应
        
        2.serlet入门编写:
                1,写一个普通java类实现servlet接口,重写里面的方法
                2,配置xml信息
                
        3.servlet的实现方式:
                SUN公司在设计之初是由野心的,以后的互联网不仅仅只使用HTTP协议,还可以通过genericServlet实现.
                HTTPServlet是一个与协议相关的servlet,通常用来处理HTTP请求.需要编写一个servlet,继承HTTPServlet,重写service方法
                在service方法中,根据请求方式的不同执行不同的doxxx方法.所以往往继承了HTTPservlet之后,不需要重写service方法,只需要重写doget和dopost方法即可,往往请求要处理的代码是一致的,所以需要让doget和dopost相互调用就可以简化编程.
                
                
    1.servlet的生命周期
        第一次访问servlet时,servlet会被创建,同时会执行init方法
        开启一个线程,会调用一次service方法
        当服务器关闭,获取web项目被移除时会调用destory方法
        
    2.servlet启动时加载
        为什么要设置启动时加载:
                初始化一个servlet时间比较长时,第一个访问的用户需要等待的时间比较长,用户体验就会很差.所以我们在启动服务器的时候出事化servlet,
            服务器启动完了,servlet也就初始化完了
            
    3.servlet的访问路径的配置
        全路径配置    /abc
        目录配置    /abc*
        扩展名配置    *.abc
        
        访问路径的优先级:全路径配置>目录配置>扩展名配置
        
    4.servletconfig对象
        作用,是用来获取servlet的配置信息的,如servlet的名称,servlet的初始化参数
        
    5.servletContext对象
        又称为servlet上下文对象,保存了整个web项目的信息,作用是可以获取文件的MIME,全局参数,web项目工程名
        
    6.response对象
        用户在访问浏览器时,会发出一些请求,服务器接受请求后会对浏览器做出反应,把这个反应里面的信息包装起来,就称之为响应对象
        

    1.什么是jsp,有什么作用,运行原理是什么
        java服务器页面,弥补servlet不方便向页面显示HTML内容的缺点.原理:底层是一个servlet.
        
    2.MVC模式
        model,模型层,用来封装和处理数据
        view,视图层,用来展示页面
        control,控制层,用来写servlet代码,调用model层方法显示数据,发送到view层显示数据
        
    3.案例编写
        
        

    1.什么是会话,为什么需要使用会话技术
        用户点击打开一个浏览器,点击多个链接,然后关闭浏览器.这个过程就是一个会话.
        用户和服务器进行交互的过程中,会产生多组数据,程序想要把这些数据包装起来,就需要使用会话技术.
        
    2.会话技术的分类
        cookie:由服务器端创建,保存在浏览器端.
        session:由服务器端创建,保存在服务器端    
        
    2.cookie
        1.cookie的分类:
            会话级别的cookie
            持久级别的cookie
            
        2.cookied的使用细节:
            浏览器储存cookie是有大小和次数限制的.
            cookie默认一次会话结束就没有了,如果想要删除持久性的cookie,需要调用setMaxAge(),然后设置为0.注意,删除的时候要同时设置
        path.
    
    3.session是什么:
            称为一次会话,将数据保存到服务器端
            
    4.为什么需要使用session
        session和cookie的区别
            cookie保存的数据是有大小和次数限制的
            cookie是保存在浏览器端的,相对不是很安全
            
            session保存数据没有次数和大小限制
            sessio是保存在服务器端的,相对比较安全
            
            session其实是基于cookie实现的,保存sessionid的cookie是会话级别的,浏览器已关闭就没有了
            
    5.session作为域对象
        session作为域对象的作用范围是一次会话的范围
        
    6.目前学过的及格域对象的总结
        从小到大:
        
            Servletrequest域对象:
            作用范围:一次请求
            创建:当用户从浏览器向服务端发送一次请求时会创建一个ServletRequest
            销毁:服务端对浏览器做出响应后销毁
            存值:void setAttribute()
            取值:Object getAttribute()
            
            Session对象:
            作用范围:一次会话
            创建:当调用getSession方法的时候
            销毁:     默认30分钟后自动销毁
                      非正常关闭服务器
                      设置,setPath()  setMaxAge()
            存值:void setAttribute()
            取值:Object getAttribute()
            
            servletcontext对象:
            作用范围:整个应用
            创建:服务器启动时创建,为每个web项目创建一个ServletContext
            销毁:web项目被移除时,或服务器关闭时
            存值:void setAttribute()
            取值:Object getAttribute()
            

    1.什么是jsp
        java serve page;java服务器页面,java + html + jsp自身的东西
        
    2.jsp的由来和运行原理
        sun公司提供的一个动态页面技术,用来弥补servlet向页面显示代码的不足,底层其实是一个servlet
        
    3.jsp的脚本元素
        <%! %> - 翻译成servlet成员位置的内容
        <%= %> - 翻译out.print() 在servlet方法内部
        <% %> - 嵌入java代码,翻译成service方法的内部代码块
        
    4.jsp指令格式,有哪些jsp指令,有什么作用
        <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
        格式:
            <%@ 指令名 属性1=值1 属性2=值2 属性3=值3 %>
        page:设置jsp页面的某些属性和行为,比如设置字符集
        include:设置jsp页面包含了哪些其他的页面
        taglib:设置jsp页面引入了哪些标签库
    
    5.需要记住的page指令
        import 导包
        contentType 设置jsp被浏览器解析和打开时的字符集
        pageEncoding jsp文件被翻译解释后存到硬盘上的字符集
        
    6.include指令
        作用: 设置jsp页面包含了哪些其他的页面
        指令包含的原理:静态包含,多个jsp被翻译成同一个servlet
        
    7.taglib指令
        用来引入标签库
        
    8.jsp的内置对象
        需要记住的6个:
            pageContext
            request
            response
            session
            application
            out
            
    9.pageContext对象
        表示jsp网页的上下文对象,与servletContext对象有点类似
        作用:作为域对象进行存值,取值,移除值
             获取其他八大内置对象    
            
    10.jsp的作用范围
        page scope
        request scope
        session scope
        application scope
        
    11.jsp常用的动作标签
        <include>动态包含
        <forward>请求转发
        <parm>传递参数
        
    12.动态包含和静态包含的区别:
        静态包含的本质是代码的复制,静态包含是分别生成多个servlet文件,将结果包含在一起
        
    13.el表达式语言:
        是用来取消jsp页面的java代码的,jsp本来是用来显示数据的,不应该在上面出现java代码
        语法: ${表达式}
        
    14.el获取数据
        底层其实会调用pageContext.findAttribute方法,会依次向四大域中查找对象.所有数据的范围应该在四大域中
        
    15.JSTL标签库
        是一个jsp标签的集合,核心标签是c标签