黑马程序员技术交流社区

标题: 【石家庄校区】Web核心技术知识点 [打印本页]

作者: 沉默之人    时间: 2018-2-4 17:18
标题: 【石家庄校区】Web核心技术知识点
本帖最后由 小石姐姐 于 2018-2-8 16:07 编辑

Web核心技术知识点
JDBC        :
* JDBC的概述:
    * JDBC:Java Database Connectivity
* JDBCAPI:
    * DriverManager java.sql
    * Connection:连接. java.sql
        * 获得连接.
        * 执行事务的管理.
    * Statement: java.sql
        * 执行SQL语句.
            * int executeUpdate(String sql);
            * ResultSet executeQuery(String sql);
            * boolean execute(String sql);
    * ResultSet: java.sql
        * getXXX(int idx),getXXX(String name);
* JDBC完成CRUD的操作:
连接池:
javax.sql
* 自定义连接池:(了解)
    * 增强一个类中的某个方法有几种方式:
        * 继承:
            * 控制控制这个类的构造.
       * 装饰者模式:
            * 增强的类和被增强类实现相同的接口.
            * 在增强类中获得被增强的类引用.
                * 接口中方法过多,增强其中一个方法,其他方法都要重写.
        * 动态代理:
            * 被增强的类实现了接口即可.
                * 编写代码的时候麻烦.
* DBCP:
* C3P0:
DbUtils:工具类:
* 使用DBUtils完成CRUD的操作
XML                :
* XML的概述:
    * 什么是XML:可扩展标记语言.
    * XML的作用:作为软件的配置文件,传输和存取数据.
    * XML的使用:
        * XML的基本语法:
            * 标签必须有开始和结束.
            * 必须有跟标签
            * 区分大小写.
            * 正确嵌套.
        * XML的文档声明:<?xml version=1.0 encoding=UTF-8?>
        * XML的注释:<!-- 注释 -->
        * XML的元素:
            * 命名规范:不能以数字开头,标签包含字母或数字,不能以xml开头,不能出现空格 冒号.
        * XML的属性:
            * 命名规范:与元素一致.属性必须加引号.
        * XML的特殊字符和CDATA.
* XML的解析:
    * XML的解析方式有哪些:
        * DOMSAX:
            * DOM一次性将文档加载到内存,形成树形结构.如果文档过大容易导致内存溢出.方便增删改的操作.
            * SAX边读边解析的方式,如果文档大,不会导致内存溢出,但是不能进行增删改.
    * 常见的解析XMLAPI:
        * JAXP,JDOM,DOM4J...
    * 使用DOM4J解析XML:
* XML的约束:(了解)
    * XML的约束有哪些区别是什么?
        * DTDSchame:
            * DTD的语法是自成一体,Schema使用的XML的语法.
            * Schema有比DTD更强大的语义和语法的约束.
            * Schema支持名称空间.
Tomcat
* WEB的相关的内容:
    * 软件架构:
    * 服务器:就是一台电脑,这台电脑上安装了服务器的软件.
    * 常见的WEB服务器:WebSphere,WebLogic,Tomcat,JBoss,IIS,apache...
    * 使用Tomcat:
* 下载和安装Tomcat:
* Tomcat的目录的结构:
    * tomcat/conf:
    * tomcat/webapps:
    * tomcat/logs:
    * tomcat/bin:
* 发布一个web项目到服务器的方式:
    * 一、复制项目到webapps.
    * 二、修改server.xml,配置<Context path=”” docBase=””/>
    * 三、在conf/Catalina/localhost/xxx.xml 配置<Context docBase=””/>
* 使用STS配置Tomcat:
HTTP协议:
* HTTP协议请求部分:
    * 请求行 :请求方式 请求路径 协议版本
    * 请求头 :一个key对应一个value ,也有一个key对应多个value
        * Referer,User-Agent,If-Modified-Since
    * 请求体 :POST方式的参数.
* HTTP协议响应部分:
    * 响应行 :协议版本 状态码 状态码描述
        * 状态码:200 302 304 404 500
    * 响应头 :一个key对应一个value ,也有一个key对应多个value
        * Location,Refresh,Last-Modified,禁用本地缓存,Content-Dispostion
    * 响应体 :显示到页面的内容.
Servlet:服务器端程序.
* 编写Servlet:
    * 编写一个类,实现Servlet接口.继承GenericServlet,HttpServlet.
    * 配置Servlet.web.xml中配置Servlet
* Servlet的执行原理:
* Servlet的生命周期:
    * 第一次访问Servlet的时候,服务器创建一个Servlet的对象.init方法就会执行.任何一次请求服务器都会创建一个新的线程执行service方法.service的方法内部根据请求方式调用doXXX方法.当服务器关闭的时候,servlet就会被销毁.destroy方法就会执行.
* Servlet的接口实现关系:
* Servlet的登录的案例:
    * 页面提交Servlet
        * 获得请求参数:request.getParameter();
        * 封装请求参数:
        * 调用业务层类:
        * 根据处理结果作出响应:
* 页面定时刷新:
* ServletConfig对象:(了解)
* ServletContext对象:(重要)-被多个用户共享.
    * 记录网站被登录的次数.
    * 在服务器启动的时候ServletContext就会被创建.一个WEB项目创建一个ServletContext对象.
在服务器关闭的时候销毁.域对象-存的数据有作用范围.
    * 功能:
        * 1.获得文件的MIME的类型.
        * 2.获得全局初始化参数.
        * 3.存取数据-作为域对象来使用.
            * setAttribute(String name,String value);
            * getAttribute(String name);
            * removeAttribute(String name);
        * 4.读取WEB项目的文件:
            * getResourceAsStream(String path);
            * getRealPath(String path);
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完成了文件下载功能:
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对象.
    * 作用范围:一次请求.
* 转发和重定向区别?
    * 转发是一次请求一次响应,重定向两次请求和两次响应.
    * 转发地址栏不变,重定向会变化.
    * 转发的路径不需要加工程名,重定向需要加工程名.
    * 转发只能在本网站内部,重定向可以定向到任何网站.
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完成了文件下载功能:
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对象.
    * 作用范围:一次请求.
* 转发和重定向区别?
    * 转发是一次请求一次响应,重定向两次请求和两次响应.
    * 转发地址栏不变,重定向会变化.
    * 转发的路径不需要加工程名,重定向需要加工程名.
    * 转发只能在本网站内部,重定向可以定向到任何网站.
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方法的时候







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