黑马程序员技术交流社区

标题: 【石家庄校区】something4job [打印本页]

作者: yangjinlei    时间: 2017-11-26 16:54
标题: 【石家庄校区】something4job
本帖最后由 小石姐姐 于 2017-11-29 16:18 编辑

### 面试集锦
  * 1. Servlet 生命周期
    *Servlet 的生命周期(**面试笔试**)
        * 生命周期: 就是一个对象从创建到销毁的过程.
        * Servlet 生命周期: Servlet 从创建到销毁的过程.
            * 何时创建: 用户第一次访问 Servlet 就会执行 init 创建 Servlet 实例.
            * 何时销毁: 当前项目从服务器中移除的时候,或者关闭服务器的时候.
        * 详细描述:
            * 用户第一次访问Servlet的时候,服务器会创建一个 Servlet 的实例,那么 Servlet中 init 方法就会执行.任何一次请求服务器都会创建一个新的线程访问Servlet中的service 的方法.在 service 方法内部根据请求的方式的不同调用 doXXX 的方法.(get 请求调用 doGet,post 请求调用 doPost).当 Servlet 中服务器中移除掉,或者关闭服务器,Servlet 的实例就会被销毁,那么 destroy 方法就会执行.
   
  * 2. * JSP 的内置对象(****)  
            * JSP 的内置对象: JSP 中直接使用的对象.   

            * JSP 中有9大内置对象:
                    内置对象                    真实对象                            常用方法
                *  request        ----        HttpServletRequest        getParameter(),setAttribute(String name,Object value);   
                *  response        ----        HttpServletResponse        setHeader(String name ,String value);getOutputStream();getWriter();
                *  session        ----        HttpSession                setAttribute();getAttribute();removeAttribute();
                *  application    ----        ServletContext            setAttribute();getAttribute();
                *  page            ----        Object                    toString();wait();
                *  pageContext    ----        PageContext                setAttribute();getAttribute();
                *  config        ----        ServletConfig            setAttribute();getAttribute();
                *  out            ----        JSPWriter                write();print();
                *  exception    ----        Throwable                getMessage();getCause();        设置: isErroPage="true";

    * 3.    * pageContext 内置对象:(重点)
                * 获得其他的 8 个内置对象.        :编写通用性的代码或框架的时候.
                * 向 JSP 的四个域中存取数据.     :
               
                    * JSP 的四个域范围:                            用来存取数据的对象        真实对象
                        *  PageScope    -----    :当前页面有效        -- pageContext    ---    PageContext
                        *  RequestScope    -----    :一次请求范围        -- request        ---    HttpServletRequest
                        *  SessionScope    -----    :一次会话范围        -- session         ---    HttpSession
                        *  ApplicationScope -    :应用范围        -- application     ---    ServletContext
    * 4. session 域对象:
            * Session 是域对象:

                * 创建: 服务器端 第一次 调用 getSession() 创建 session.
                * 销毁: 三种情况销毁 session .
                    * 1.session 过期: 默认是 30 分钟.
                    * 2.非正常关闭服务器.
                        * 钝化/活化: 如果是正常关闭session,会序列化到硬盘生成.ser文件 ,再次启动会反序列化读取里面的数据并销毁掉.ser文件,非正常关闭就不会生成序列化文件.
                    * 3.手动调用 session.invalidate();
                * 作用范围: 多次请求.(一次会话)   
  
    * 5. * 乱码处理小结:

            * 请求乱码 和 响应乱码:
        
                * 请求 常用的是 GET 和 POST请求.
               
                * Get 请求处理乱码:
                    * String username = new String(request.getParamater("username").getBytes("ISO-8859-1"),"UTF-8");
                * POST 请求乱码处理:
                    * request.setCharacterEncoding("UTF-8");  
            * 响应乱码处理 :
                 
                * 字符流响应输出:
                        *  response.setContentType("text/html;charset=UTF-8");
                * 字节流响应输出:
                        * response.setCharacterEncoding("text/html;charset=utf-8");


作者: 小石姐姐    时间: 2017-11-29 16:18






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2