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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

【石家庄校区】JavaWeb阶段总结# web13 #

Response
* 通过response设置状态码:setStatus(int status);
* 通过response设置响应头:setHeader(String name,String value);,setIntHeader(String name,int value),setDateHeader(String name,long date);
* 通过response设置响应体:getOutputStream(),getWriter();
* response的其他的API:
     * sendRedirect(String path);
* response输出中文的乱码问题:
     * 字节流输出中文:
         * 设置浏览器的字符集编码.   response.setHeader(“Content-Type”,”text/html;charset=UTF-8”);
         * 设置输出内容的字节数组的字符集编码.        “”.getBytes(“UTF-8”);
     * 字符流输出中文:
         * 设置浏览器字符集编码.        response.setHeader(“Content-Type”,”text/html;charset=UTF-8”);
         * 设置response的缓冲区的编码.        response.setCharacterEncoding(“UTF-8”);
* response完成了文件下载功能:需要设置两个头一个流
* response响应体的的设置:getOutputStream、getWriter
setContentType("text/html;charset=UTF-8")---> setHeader("Context-Type","text/html;charset=UTF-8 ")  setCharaterEnconding("UTF-8");
               
Request
* 使用request获得客户机的信息. getRemoteAddr(),getMethod(),getRequestURI(),getRequestURL()
* 获得请求参数:getParameter(),getParameterValues(),getParameterMap()
* 作为域对象存取数据:setAttribute(),getAttribute(),removeAttribute();
* 接收参数的中文乱码的处理:
    * GET    :new String(“”.getBytes(“ISO-8859-1”),”UTF-8”)
    * POST    :request.setCharacterEncoding(“UTF-8”);
* request何时创建和销毁的?
    * 创建:从客户端向服务器发送请求.那么服务器创建一个request对象.
    * 销毁:服务器为这次请求作出了响应之后,服务器就会销毁request对象.
    * 作用范围:一次请求.
* 转发和重定向区别?
    * 转发是一次请求一次响应,重定向两次请求和两次响应.
    * 转发地址栏不变,重定向会变化.
    * 转发的路径不需要加工程名,重定向需要加工程名.
    * 转发只能在本网站内部,重定向可以定向到任何网站.


* Web中路径的编写:
    * 浏览器端如果想直接访问Servlet的话
        * 路径的编写:使用: /工程名/servlet的虚拟路径
    * 浏览器如果想要直接访问.html.jsp或者其他静态资源
        * 路径的编写:使用: /工程名/资源所在的路径
    * servlet A想要跳转其他servlet B
        * 重定向
            * 路径的编写:使用: /工程名/B对应的虚拟路径
        * 请求转发
            * 路径的编写:使用: /B对应的虚拟路径
    * servlet A想要跳转到 .html或者.jsp
        * 重定向
            * 路径的编写:使用: /工程名/.jsp或者.html所在的子路径
        * 请求转发
            * 路径的编写:使用: /.jsp或者.html所在的子路径
    * servlet想要读取项目下文件
        * 需要用ServletContext的对象来读取
            * ServletContext.getResouceAsStream("资源路径(不用再加工程名)")
            * ServletContext.getRealPath("资源路径(不用再加工程名)")

# web14 #

Cookie:就是将数据保存到客户端浏览器的会话技术.
* 从浏览器获得Cookie        :request.getCookies();
* 向浏览器回写Cookie        :response.addCookie(Cookie cookie);
* Cookie的相关的API        :
     * setPath(String path);    -- /day11   /day11/aaa
     * setMaxAge(int time);        -- 有效时长.
     * setDomain(String domain);
* Cookie的分类:
     * 会话级别Cookie:会话级别关闭浏览器的时候Cookie就销毁了.默认的
     * 持久级别Cookie:设置有效时长的Cookie,关闭浏览器的时候不会销毁的.

Session:就是将数据保存到服务器端的会话技术.基于Cookie回写SessionID的.
* Session存取数据:
    * setAttribute(String name,Object value);
    * getAttribute(String name);
* Session作用域:
    * session的作用范围:一次会话.(多次请求)
    * session生命周期:
        * 创建:第一次调用getSession的时候创建session。
        * 销毁:
             * 非正常关闭服务器.
             * session过期
             * 手动调用invalidate方法的时候

# web15 #

JSP    :html + java + 内置对象 + 指令 + 动作标签
* JSP的概述:
    * JSP:Java Server Pages.
    * JSP的运行原理:翻译成Servlet,编译成Class进行执行.
* JSP的脚本元素:
    * <%!   %>:成员位置
    * <%    %>:service方法内部
    * <%=   %>:输出语句,不能有分号
* JSP的注释:
* JSP的三个指令:
    * page:
        * ContextType---->设置浏览器默认打开的编码
          pageEnconding --->用来设置JSP生成servlet的保持时用的编码
          import ---->用来导包的,可以出现多个,也不用我们担心
    * include:
        * 能够将其他页面包含进来
          file --->用的相对路径
    * taglib   <%@ 指令名称 属性=”属性值”%>
* JSP的内置对象:
    * pageContext:
        * 1.获取其他八个内置对象
          2.可以向四个域中存储东西
                requestScope
                sessionScope
                applicationScope
                pageScope
          3.findAttribute --->从小范围开始找
    * request:
        * 1.作为域对象 2.获取客户机相关的信息(请求方式,请求路径,请求的id地址,请求头)
    * session:
        * 1.作为域对象--->会话技术
                注意:需要使用一把钥匙才能打开session,这个钥匙其实就是Cookie这个cookie的名字是JSESSIONID
    * application:
        * 1.获取全局参数 2.获取mime类型 3.作为全局域对象  4. 读取web的资源文件
    * page:他代表的就是jsp生成Servlet的对象,他是单例的
    * response:
        * 1.设置响应头
          2.设置响应体
          3.设置状态码
    * out:
        * JSPWriter  和  response.getWriter()是有区别的
          response.getWriter()才能真正的设置响应体
    * config
    * exception:exception.printStackTrice();
* JSP的四个作用范围
    * PageScope                :当前页面
    * RequestScope            :一次请求范围.
    * SessionScope            :一次会话
    * ApplicationScope        :整个应用范围.
* JSP的动作标签:用来简化我们的书写
    * <jsp:forward>:用于转发
    * <jsp:include>:用于包含
        * 静态包含和动态包含的区别
                    :静态包含相当于复制原码(相当于多个jsp在同一个类中)
                    :动态包含只要运行结果(多个jsp分别在不同类中)
    * <jsp:param>:一般和有路径结合使用,携带参数               
    * <jsp:useBean>:
    * <jsp:setProperty>
    * <jsp:getProperty>

# web16 #

EL:
* EL的概述
    * EL:Expression Language:表达式语言
    * EL的作用:
        * 获取数据${ 属性名|变量名 }
        * 执行运算(逻辑运算,关系运算,三元运算...)
        * 操作web开发中常用的对象${param }:
            * 1.四个域  pageScope  requestScope sessionScope applicationScope
              2.一对专门用来接受参数:    param paramValues
              3.获取请求头的一对:        header  headerValues
              4.获取全局参数:            initParam
              5.获取cookie:            cookie.库克的名称
              6.pageContext:        可以获取jsp中其他八个内置对象
                获取工程名:  pageContext.request.contextPat
        * 调用Java中方法:需要自定义标签库
JSTL
* JSTL的概述:
    * JSTL:JSP 标准标签库.
    * 标签库需要引入<%@ taglib uri ="地址"   prefix="缩写"%>   
    * JSTL标签库:core,fmt,sql,xml,fn
    * JSTL的核心标签库:1.0和1.1,1.2.其中1.1,1.2是支持el表达式
        * c:if 可以条件的筛选
          c:set(了解)
          c:out(了解一下)
          c:forEach
            var --->遍历出的元素的变量名
            items--->要遍历的对象
            begin
            end
            step
            varStatus
    * JSTL的函数库:处理字符串相关的东西
        * ${fn:}



0 个回复

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