工作中技术学习总结-初版

公司项目框架SSH,使用工作流引擎activiti-engine,公司内部框架封装:表单框架、数据库对应实体框架、自定义标签、流程配置框架;另外吐槽,公司对SSH框架应用不太深入!

 目录:

  1. JSP
  2. action-struts2
  3. hibernate3
  4. spring3
  5. oracle
  6. linux
  7. webservice
  8. jxl
  9. json-gson
  10. dom4j
  11. fusionChart

尾页

掌握技术-list:

JSP

  • jstl表达式与js混用,Java代码与js混用。
  • 静态引入JSP标准文件,常用外部js、css都用标准JSP文件包裹,其他页面引入标准JSP文件即可
  • DWR技术:可在JSP页面调用JAVA方法
  • validate.js 表单输入、提交校验,聚焦输入位置
  • 模式对话框,弹框返回值-window.returnValue
  • 父子窗口元素互访、函数调用,html-dom
  • json对象与JS
  • jquery元素访问、控制、常用方法。JS的简化代码使用框架
  • ajax异步请求,建议jquery方法:$.ajax-->原始方法; $.post()、$.get()。
  • frame页面框架
  • 标签页切换、页面数据导出 
    • html table导出excel文件
       function exportData() {
                  var winname = window.open('', '_blank', 'height=0,width=0,top=100'); 
                   var strHTML = document.all.tableExcel.innerHTML; 
                   winname.document.open('text/html', 'replace'); 
                   winname.document.writeln(strHTML); 
                   winname.document.execCommand('saveas','','excel.xls'); 
                   winname.close(); 
      }
      <view:button name="导出" onclick="exportData()"></view:button> 
      <div id=“tableExcel”>
      html表格。。。。。。。。。
      </div> 
  • 树操作--认识zTree , ClassTreeUtil树转换工具类。学习参考: http://www.ztree.me/v3/demo.php#_101
  • 自定义标签 taglib 学习参考:http://www.cnblogs.com/zhaoyang/archive/2011/12/25/2301108.html
  • jsp--js:javascript代码块中使用<%=java代码%>,{el表达式}

action-struts2

  • 基础视图控制
  • 。。。

hibernate3

  • 事物控制

  transactionAttributes配置:

  PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择

<property name="transactionAttributes">
            <props>
                <prop key="*">PROPAGATION_REQUIRED,-Exception</prop>
            </props>
 </property>
  • or-mapping
  • ...
  • 连接池

  配置:

<!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。 -->
        <property name="maxIdleTime" value="60"></property>
        
        <!--初始化时获取连接,取值应在minPoolSize与maxPoolSize之间。-->
        <property name="initialPoolSize" value="5"></property>
        
        <!--连接池中保留的最小连接数。-->
        <property name="minPoolSize" value="5"></property>
        
        <!--连接池中保留的最大连接数。-->
        <property name="maxPoolSize" value="20"></property>
        
        <!--当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。-->
        <property name="acquireIncrement" value="10"></property>
        
        <!--定义在从数据库获取新连接失败后重复尝试的次数。Default: 30 -->
        <property name="acquireRetryAttempts" value="30"></property>
        
        <!--两次连接中间隔时间,单位毫秒。Default: 1000 -->
        <property name="acquireRetryDelay" value="1000"></property>
        
        <!--连接关闭时默认将所有未提交的操作回滚。Default: false -->
        <property name="autoCommitOnClose" value="false"></property>
        
        <!--定义所有连接测试都执行的测试语句。在使用连接测试的情况下这个一显著提高测试速度。注意:
        测试的表必须在初始数据源的时候就存在。Default: null-->
        <property name="preferredTestQuery" value="select 1 from dual"></property>
        
        <!--因性能消耗大请只在需要的时候使用它。如果设为true那么在每个connection提交的
        时候都将校验其有效性。建议使用idleConnectionTestPeriod或automaticTestTable
        等方法来提升连接测试的性能。Default: false -->
        <property name="testConnectionOnCheckout" value="false"></property>
        
        <!--如果设为true那么在取得连接的同时将校验连接的有效性。Default: false -->
        <property name="testConnectionOnCheckin" value="true"></property>
        
        <!--c3p0是异步操作的,缓慢的JDBC操作通过帮助进程完成。扩展这些操作可以有效的提升性能
        通过多线程实现多个操作同时被执行。Default: 3-->
        <property name="numHelperThreads" value="3"></property>

spring3

  • 定时任务
  • spring 处理 clob大字段,spring配置
 <!-- nativeJdbcExtractor 和 oracleLobHandler Bean 都设置为 lazy-init="true",这是因为 -->
    <!-- nativeJdbcExtractor 需要通过运行期的反射机制获取底层的 JDBC 对象, -->
    <!-- 所以需要避免在 Spring 容器启动时就实例化这两个Bean. -->
    <bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor"  lazy-init="true" />
    <bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler"  lazy-init="true">
    <property name="nativeJdbcExtractor" ref="nativeJdbcExtractor"></property>
    </bean>

oracle

  • sql优化,
  • 导入导出
  • pl/sql developer 使用技巧
  • oracle函数、存储过程、job、同义词、视图、dblink

linux

  • 常用命令:ls、cd、rm、top、cp、ps -ef |grep newgdbh

webservice-客户端-服务端


jxl表格导出-


json-gson


dom4j-解析xml


fusionChart-数据表格


项目特殊问题

  •  解决跨域问题Session丢失问题filter
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
        throws IOException, ServletException
      {
        HttpServletResponse res = (HttpServletResponse)response;
        res.setHeader("P3P", "CP=CAO PSA OUR");//设置HTTP头部
        if (chain != null)
          chain.doFilter(request, response);
      }

项目开发心得体会

  • 写代码前需要考虑周全,多思考,避免后期需求变化带来代码的大改
  • 一个问题思考多种解决方案,方案出来之后再选择比较好的方案实行

 尾页


 

原文地址:https://www.cnblogs.com/chenghai-love-huangfenghua/p/4776942.html