A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wx348602984 中级黑马   /  2015-4-18 16:06  /  471 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


javaWeb
        JavaScript:
                发展历史:
                        网景(NetScape)公司开发一个LiveScript.  网景公司与SUN公司合作 推出了一个JavaScript.
                        网景与微软联合 推出了一个JScript.  JScript就是JavaScript克隆版本.

                JavaScript核心组成:
                        ECMAScript:
                                * 语法. 变量 、语句、关键字、保留字...
                        BOM:        Browser Object Model.
                        DOM:        Document Object Model.


        XML的解析:        (*****) 程序员代码.
            XML的解析技术有那些?区别是什么?
                解析技术有很多.但是常用的 DOM 和 SAX。
                DOM:将文档一次加载到内存 形成树形结构 . 可以很方便的做元素的增删改的操作.但是如果文档非常大 容易导致内存的移除.
                SAX: 事件驱动的方式,边读边解析.如果文档很大不会导致内存溢出 但是不能做增删改的操作.

        XML的约束技术有哪些?区别是什么?
                * DTD和Schema.
                * 区别:
                        * Schema本身语句是XML
                        * 由于是XML语法可以很容易被解析器所解析.
                        * 它可以做出更加严格的语义和语法约束.
                        * Schema支持名称空间.

        为什么要在集合加上泛型?
                * 因为一个对象放入集合 失去其特性.而且程序员进行类型转换的时候容易出现异常.
               
                ***** 注意:
                泛型的擦除:泛型只作用于源代码阶段,当类编译成class之后 泛型就消失.

        请求方式有很多 POST、GET、HEAD、OPTIONS、DELETE、TRACE、PUT、CONNECT
                常用的是GET 和 POST。区别是什么?
                        * get:数据会显示到地址栏,有大小限制.get没有请求体
                        * post:数据不会显示到地址栏,没有大小限制的.post有请求体.

        解释HTTP协议中针对表单get、post两种提交方式的区别,在什么时候应用get,什么时候用post
             并回答你对HTTP协议中request、response的理解

        状态码
                200        :一切OK
                302 :重定向操作
                304 :查找本地缓存操作
                404 :请求资源不存在
                500 :服务器出错了.

        Servlet的运行机制:
                Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为:
                1、客户端发送请求至服务器端;
                2、服务器将请求信息发送至Servlet;
                3、Servlet生成响应内容并将其传给Server。响应内容动态生成,通常取决于客户端的请求;
                4、服务器将响应返回给客户端 ;

        (面试题)Servlet的生命周期.
        生命周期:从出生到死亡的过程.
                Servlet的生命周期:Servlet对象被创建到Servlet对象被销毁的过程.
                * Servlet接口中定义了5个方法.有与生命周期相关的方法.(到某个特殊的时期就会执行的方法.)
                与生命周期相关的方法:
                        void init(ServletConfig config)
                        void service(ServletRequest req, ServletResponse res)
                        void destroy()
                       
                当客户端第一次访问该Servlet的时候 创建一个Servlet的实例对象.这个时候init方法会被执行.当客户端每次请求的时候
                容器会创建一个新的线程执行service方法。当服务器关闭的时候Servlet对象会被销毁.destroy方法会被执行.

        开发中注意的细节:
                * 在GenericServlet中 扩展了一个init方法 init()没有参数
                        * 在初始化的时候 调用哪个 ?
                        init有参数的方法 底层 调用了无参数的init  以后开发中 只需要重写无参数init就OK。
                * 在HTTPServlet中 doXXX方法 和 service是什么关系?
                        * 在service方法的内部 根据请求方式不同 调用不同的doXXX方法.如果GET请求会执行doGet方法。
                        如果是post方式执行doPost方法.

        servlet实现过程
                客户端发送请求至服务器端;
                服务器将请求信息发送至Servlet
                Servlet生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求
                服务器将响应返回给客户端

        Request乱码问题---参数带有中文.
                POST方式:
                        request.setCharacterEncoding("UTF-8");       
                GET方式:
                        username = new String(username.getBytes("ISO-8859-1"),"utf-8");
       
        Response输出中文乱码.
                字节流
                        response.setHeader("Content-Type","text/html;charset=UTF-8");
                        "中文".getBytes("UTF-8");
                字符流
                        response.setHeader("Content-Type","text/html;charset=UTF-8");
                        response.setCharactorEncoding("UTF-8");
                        简写:
                        response.setContentType("text/html;charset=UTF-8");

        转发和重定向的区别?sendRedirect  forward区别?
                * 重定向的地址栏发生变化 转发地址栏不变.
                * 重定向是两次请求 两次响应.转发是一次请求一次响应.
                * 重定向可以定向到任何的网站.转发只能项目的内部.
                * 重定向的路径需要加项目名/day10 转发不需要写


        Cookie:
                * 客户端技术.
                        优点:减轻服务器的压力。缺点:安全性较低.       
        Session:
                * 服务器端技术.
                        优点:安全性高 缺点:服务器压力增大.

        Cookie的分类:
        两类:
                一类:会话级别的Cookie(默认的Cookie):关闭浏览器 Cookie就销毁了.
                二类:持久性Cookie(永久性Cookie):有一个有效时间.在这个时间范围内一致存在.Cookie保存在本地中一个文件中.
                        setMaxAge(int expiry)             : int 秒.   如果setMaxAge(0);  删除持久性Cookie. 前提路径必须一致.

        Session:
                服务器端技术.基于Cookie.利用了Cookie回写了一个JSessionID的值.
                打开一个浏览器 正常情况下 就是一个Session对象.IE8不是

        cookie 和session 的区别:

                1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
                2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
                   考虑到安全应当使用session。
                3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
                   考虑到减轻服务器性能方面,应当使用COOKIE。
                4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
                5、所以个人建议:
                   将登陆信息等重要信息存放为SESSION
                   其他信息如果需要保留,可以放在COOKIE中

        session的概念
                session其实就是用来存储用户会话的信息。session是基于cookie的,cookie用来存储客户端的存储信息,
                session则是用于存储服务器端的响应信息。一般我们都用这个来存储用户的id,当用户请求服务器时,
                服务器会为该用户分配一个sessionId来代表一个session的存储空间,而这个sessionId就存放在cookie中

        JSP的三大指令:page include taglib.
        九个内置对象:request response session application page pageContext config out exception
        四个作用范围:page request session application

        JSP的内置对象:(面试:JSP中内置对象有哪些?常用方法有什么?对象代表的含义?)
        内置对象:在JSP中直接可以使用的对象.
        九个内置对象:
                request response session application page  pageContext out exception config
               
                request        :HttpServletRequest        代表客户的请求 getRemoteAddr()  getParameter()  setAttribute();
                response:HttpServletResponse代表响应对象.  getWriter()   getOutputStream() setStatus();
                session: HttpSession             代表一次会话.  getId() setAttribute()  getAttribute();
                application:ServletContext        针对一个web项目 服务器会一个对象. setAttribute()  getAttribute();
                exception:Throwable                        异常信息.           getMessage()   getCause();
                config:        ServletConfig                获得Servlet配置信息.   getInitParameter();  getServletName();
               
                page:Object                                        代表当前JSP翻译成Servlet的这个类对象.       
                pageContext:PageContext
                out:JspWriter                                代表是输出对象.

        JSP的动作标签:
                至少记住六个:
                        <jsp:forward>
                        <jsp:include>
                        <jsp:param>
                        <jsp:useBean>
                        <jsp:setProperty>
                        <jsp:getProperty>
                       
        静态包含 和 动态包含的区别---?

        Filter和Servlet的区别

        JavaBean相关

        MVC设计思想:
                M:Model:模型层:封装和处理数据.
                V:View:视图层:显示数据.
                C:Controller:控制层 :接收数据.调用JavaBean处理数据
        分层好处就是用来 软件的解耦

        mvc的优点
                优点,可移值性高,变更起来容易,代码逻辑比较清晰,缺点是,运行效率低一些 MVC的优点 低耦合性
                视图层和业务层分离,这样就允许更改视图层代码而不用重新编译


        Servlet中监听器监听三个对象:  ServletContext HttpSession ServletRequest.       
                三个域对象就是事件源.  监听器 Servlet中提供8个监听器.

        JSP共有以下6种基本动作
                jsp:include:在页面被请求的时候引入一个文件。
                jsp:useBean:寻找或者实例化一个JavaBean。
                jsp:setProperty:设置JavaBean的属性。
                jsp:getProperty:输出某个JavaBean的属性。
                jsp:forward:把请求转到一个新的页面。
                jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马