黑马程序员技术交流社区

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

作者: 银河大爆发    时间: 2018-5-21 15:29
标题: 【石家庄校区】
                                                                      笔记       JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序JDBC 的使用要通过四个步骤1.加载驱动Class.forName("com.mysql.jdbc.Driver");
2.获得连接
Connectionconn = DriverManager.getConnection("jdbc:mysql://localhost:3306(固定语句)/web_test3(连接到的数据库名称)","root(用户名)", "abc(密码)");

3.基本操作:执行SQL
3.1编写sql语句
3.2预编译
3.3执行语句
4。释放资源

servletcontext域(application域)
1)作用域的实际大小。(是什么?)
  servletcontext域起作用的范围是:整个web应用程序。
  数据产生之后,不仅等会还要用 ,还要给别人用,则请使用servletcontext。
  它是四个域中范围最大的域。
2)  作用域的作用。(有什么用?)
  由于一个web应用中的所有servlet共享同一个servletcontext对象,所以多个servlet通过servletcontext对象实现了数据在不同servlet之间的共享。
3)它这样使用实现的原理或优缺点。(为什么可以这么用?)
  servlet并不适合做数据输出,故需要将数据转发给JSP文件进行美化再输出给客户端。
  JSP中可嵌入java代码,这使得它接收java数据变得可能。同时,由于servletcontext域可使整个web应用共享该数据,因此而带来“线程安全”问题同样影响对转发的数据,故而需要使用request域。
Httpsession域(session域)
1)作用域的实际大小。(是什么?)
  Httpsession的作用域是:一次会话。
  数据产生之后显示给用户了,等会还要使用的情况下使用Httpsession域。
  它是四个域中范围第二大的域。
2)  作用域的作用。(有什么用?)
  (会话范围)在第一次调用request.getSession()方法时,服务器会检查是否已经有对应的session。如果没有,就在内存中创建一个session并返回。当一短时间内(默认30分钟)session没有被使用,则服务器会销毁该session。若服务器非正常关闭,未到期的session也会跟着销毁。若调用session提供的invalidate()方法,可以立即销毁session。
ServletRequest域(request域)
1)作用域的实际大小。(是什么?)
  ServletRequset域是:整个请求链(请求转发也存在)。
  数据产生之后,只需要使用一次,这种情况下请使用ServletRequset域。
  它是四个域中范围排第三的域。
2)  作用域的作用。(有什么用?)
  在整个请求链中共享数据。
  最常用到:在servlet中处理好的数据交给JSP显示,此时参数就可以放置在ServletRequset域中带过去。
3)它这样使用实现的原理。(为什么可以这么用?)
  在service方法调用前由服务器创建,传入service方法。整个请求结束,request生命结束
常见的会话技术:
* Cookie    :将数据保存到客户端浏览器.
* Session   :将数据保存到服务器端.
Cookie本身是有大小和个数的限制.Session没有限制.Cookie的数据保存在客户端,Session数据保存在服务器端.
session  的几个方法:
HttpSession  session  = request.getSession();
session.setAttribute(String name,Object value);
Object vlaue = session.getAttribute(String name);removeAttribute(String name);
public Object getAttribute(String name)返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定在该名称下,则返回 null
public void setAttribute(String name, Object value)使用指定名称将对象绑定到此会话。如果具有同样名称的对象已经绑定到该会话,则替换该对象
public java.util.Enumeration<E> getAttributeNames()返回包含绑定到此会话的所有对象的名称的 String 对象的 Enumeration
范围:一次会话(根本原因:存SesssionID的cookie默认是会话级别的)
配置sessionion过期时间:web.xml
<session-config>
     <session-timeout>5</session-timeout> <!--单位是分钟-->
</session-config>
session何时创建和销毁?作用范围:
* 创建:服务器端第一次调用getSession()创建session.
* 销毁:三种情况销毁session:
​    *1.session过期. 默认过期时间为30分钟.
​    * 2.非正常关闭服务器.如果正常关闭session序列化到硬盘.
​    *3.手动调用 session.invalidate();
JSP
jsp: Java Server Pages(Java服务器端的页面)
JSP = HTML + Java代码 + JSP自身的东西
注释 : ctrl+shift+/
H TML的注释       :<!-- 注释 -->
Java代码的注释   :// 单行注释 /多行注释/ /** 文档注释 */
JSP的注释       :<%-- JSP的注释 --%>
三大指令: page 指令, include指令, taglib指令
page:  设置 JSP的属性  include:设置包含其他页面   taglib:指示JSP引入标签库
language        :JSP脚本中使用的语言.现在只能写java.
contentType   :设置浏览器打开这个JSP的时候采用的默认的字符集的编码.
pageEncoding  :设置文件保存到本地硬盘,以及生成Servlet后,Servlet保存到硬盘上的编码.
import        :在JSP中引入类对象.但是import可以出现多次.
extends      :设置JSP翻译成Servlet后继承的类,默认值:org.apache.jasper.runtime.HttpJspBase,这个值要想修改,这个类必须是HttpServlet的子类
autoFlush     :设置JSP的缓存自动刷出.true:自动刷出.
buffer        :设置JSP的缓冲区的大小,默认8kb.
session       :设置在JSP中是否可以直接使用session对象.默认值是true.
isELIgnored   :设置在JSP中是否忽略EL表达式.默认值是false不忽略.
errorPage     :设置错误友好页面的提示.
isErrorPage   :通过这个设置显示JSP的错误信息.
全局错误友好页面的配置:

  <error-page>
    <error-code>404</error-code>
    <location>/404.jsp</location>
  </error-page>
  <error-page>
    <error-code>500</error-code>
    <location>/500.jsp</location>
  </error-page>
include指令
可以引入其他页面
<%@ include file="路径" %>
request               HttpServletRequest                 getParameter(),     setAttribute(Stringname,Object value);
response           HttpServletResponse              setHeader(String name,Stringvalue);getOutputStream()
session              HttpSession                              setAttribute();           getAttribute();
application        ServletContext                         setAttribute();           getAttribute();
page                   Object                                        toString();                  wait();
pageContext     PageContext                             setAttribute()           ;getAttribute();
config                 ServletConfig                            getServletName() ;  getServletContext();
out                       JspWriter                                   write(),print();
exception            Throwable                                 getMessage(),           getCause();         
动作标签:
<jsp:forward />            :用于页面的转
<jsp:include />            :动态包含
<jsp:param />               :用于带有路径的标签下,传递参数.  
<jsp:useBean />           :用于在JSP中使用JavaBean.     
<jsp:setProperty />     :用于在JSP中向JavaBean设置属性的.  
<jsp:getProperty />     :用于在JSP中获得JavaBean的属性.
静态包含和动态包含的区别
静态包含:相当于源代码的拷贝,只会翻译成一个Java类,有一个执行结果
动态包含:各自分别去翻译,各自执行,最终包含的是






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