本帖最后由 小石姐姐 于 2018-2-8 16:07 编辑
JDBC : * JDBC的概述: * JDBC:Java Database Connectivity * JDBC的API: * 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的解析方式有哪些: * DOM和SAX: * DOM一次性将文档加载到内存,形成树形结构.如果文档过大容易导致内存溢出.方便增删改的操作. * SAX边读边解析的方式,如果文档大,不会导致内存溢出,但是不能进行增删改. * 常见的解析XML的API: * JAXP,JDOM,DOM4J... * 使用DOM4J解析XML: * XML的约束:(了解) * XML的约束有哪些区别是什么? * DTD和Schame: * 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方法的时候
|