2017-04-09,周日整理

  自从上上周做完周记后,由于学的知识日渐丰富,自我感觉越来越膨胀,再加上清明节假期的诱惑,这15天过的有些浑浑噩噩,终于在今天把老师布置的项目基本完成,若是保持之前的学习状态,估计只要用到10天以内,从3月27日布置项目以来,基本上学习时间都用在了做项目之上,这周五才学了新的内容,AJAX,而且也把AJAX用到了项目中去。这篇总结就分两个部分,一是把这两周老师所新讲的内容复习回顾一遍,然后再把自己做scm项目时所遇到的问题和积累的一些小技巧、小方法记录下来,帮助自己加深印象,加快自己码代码的速度,优化代码结构。

  1. log4j,java的日志系统,用来记录系统的运行状态。若想在项目中运用到日志系统,则需要完成以下工作
    1. 添加log4j-1.2.13.jar包,若是web项目则加到web-info的lib中。
    2. 写log4j.properties配置文件,.properties是一种文件格式。其中保存着对log4j的配置信息。如何编写配置文件呢?先配置根Logger,其语法为:log4j.rootLogger=[level],appenderName,appenderName,...
    3. //level是日志的优先级,从低到高有:all,debug,info,warn,error,fatal,off
      //越低越详细,若定义了高级别,则低级别不会被打印输出
      //apenderName是指日志信息输出到哪里,你可以同时指定多个输出目的地
      //layout是指信息以什么样的格式输出到这个地方 //例子 log4j.rootLogger = INFO,console log4j.appender.console = org.apache.log4j.ConsoleAppender //控制台 log4j.appender.console.layout = org.apache.log4j.PatternLayout //灵活指定布局 log4j.appender.console.layout.ConversionPattern = %d %c %p %n %m %n
    4. 把log4j.properties配置文件放到src根目录下。
    5. 在代码中使用:
    6. 1 //获取该类的日志管理器
      2 logger log=logger.getLogger(XXX.class);
      3 //添加日志(下面是一条info级别的日志信息)
      4 log.info("name:"+name+" password:"+password);
  2. dataSource,数据库连接池(connection pool),将JDBC的连接交给TOMCAT来进行管理,通过Connection Pool来管理数据库,通过dataSource去管理connection pool,dataSource被JNDI绑定,JNDI(java naming and directory interface)是用来进行资源定位的,用于定位查找服务对象。用名字来查找定位资源。
    1. 在server.xml中增加如下配置:
      <host>
      <Context path="/shop"  docBase="d:workspace	estWebRoot" reloadable="true" >   
      <Resource 
       name="jdbc/mysql"
       auth="Container"
       type="javax.sql.DataSource“
       username=“root" 
       password=“123" 
       driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/crebas?useUnicode=true&amp;characterEncoding=GBK&amp;""
       maxActive="40" 
       maxIdle="5" />
      </Context>
      </host>
    2. 在web.xml中增加如下配置:
      <resource-ref>
          <description>DB Connection</description>   
          <res-ref-name>jdbc/mysql</res-ref-name>
          <res-type>javax.sql.DataSource</res-type>
          <res-auth>Container</res-auth>
      </resource-ref>
    3. 将jdbc的jar包拷贝到 omcat 7lib目录下。注意不是项目的lib,而是tomcat自己的Lib目录下。下面是在java中使用连接池,而不是自己加载Driver驱动。
       1     public static Connection getConnection(){
       2         Connection conn = null;
       3         try {
       4             InitialContext context = new InitialContext();
       5             DataSource source = (DataSource) context.lookup("java:comp/env/jdbc/mysql");
       6             conn = source.getConnection();
       7         } catch (NamingException e) {
       8             e.printStackTrace();
       9         } catch (SQLException e) {
      10             // TODO
      11             e.printStackTrace();
      12         }
      13         return conn;
      14     }
  3. AJAX,这是重点。是Google在2005年推广开来的编程模式,基于javascript和http请求,ajax=异步javascript及xml,asynchronous javascript and xml,ajax的几个好处是:
    1. 利用js的XMLHttpRequest对象来直接与服务器进行通信,可以在页面不用重新加载的情况下与web服务器交换数据。
    2. ajax与web服务器之间使用异步数据传输(Http请求),这样就可以使网页从服务器请求少量的信息,而不是整个页面。
    3. 独立于web服务器软件的浏览器技术,因为是js,所以依赖于浏览器。
    4. 如何使用ajax?先创建XMLHttpRequest对象,然后调用open方法,设置请求目标url,方法,是否异步,然后将编写好的回调函数赋值给onreadystatechange属性,最后调用send方法,若是get方法,则参数为Null,若是post方法,则首先调用setRequestHeader()方法设置请求头,然后将需要传递给服务器的参数按照"valueName="+value,的格式填入。服务器返回的数据用responseText方法得到,返回的是字符串。
    5. 在使用ajax时,若按照4的步骤自己编写在遇到大量数据时,会很繁琐,可以使用json2.js来包装数据以及jquery.js提供的ajax方法来进行编写。具体实现仍旧需要多动手编程。
原文地址:https://www.cnblogs.com/lg-study/p/6685570.html