81.Spring中注入Filter。
如果只是为了使用Filter,实际上可以不使用Spring的注入,直接在web.xml中配置就可以了。
现在出现了新的需求,Filter中用到了Service,需要注入进去。
web.xml配置一个
<filter>
<filter-name>DelegatingFilterProxy</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>myFilter</param-value> //自己过滤器的名字,比如SessionFilter
</init-param>
<init-param>
<param-name>targetFilterLifecycle</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>DelegatingFilterProxy</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
配置过滤器时,一定要注意让合法的请求可以通过。
第2天,发现Flex调用Java接口的请求被过滤了,导致Flex端无法登录。
/* 拦截所有的内容,感觉有点多。
82.Session过期。
通过配置Filter,可以方便地检查Session是否过期和用户是否登录。
但是在通过Ajax异步上传文件时,如果此时过期了,此时后台返回值,
正常情况是“正确”或“错误”,现在变成了“login页面的jsp源码”。
需要特殊处理。
关于session等权限检查问题和特殊处理ajax上传文件,待进一步研究。
83.多数据源获取Hibernate的Session失败。
出现的异常:对象名table_name不存在。
实际情况:目标数据库存在table_name这个表。
Session session = getSessionByProjectId(projectId);
多数据源的实现是通过Spring配置的。
大部分功能都没有问题。
在一个多线程的方法中,实现 动态获取Session,执行CRUD操作时,发现
获取的Session总是默认的Session,而不是根据projectId获取的Session。
后来,把多线程改成了单线程,就可以了。
至于具体原因,不清楚。
教训:尽量不使用多线程。多线程不一定会使程序运行的更快。
84.Spring事务回滚与Dao捕获异常。
原来的代码:
@Transactional(...配置事务)
serviceFunction(){
for(int index=0;index<10000;index++){
daoFunction();
}
}
daoFunction(){
try{
//access db
}catch{
}
}
问题:如果daoFunction内部发生了异常,Spring也不会回滚事务。
改进:daoFunction不捕获异常,直接抛出。或者捕获,再抛出异常。
85.事务与内存。
代码同上。
for(int index=0;index<10000;index++){
daoFunction();
}
如果dao执行1万次,再提交,可以保证这1万次在同一个事务中。
如果发生了错误,事务回滚,保证数据正常。
缺点:由于一直没有提交,导致内存占用越来越大。
MyEclipse会自动进行垃圾回收,线上的服务器应该不会。
86.查看Hibernate的Session访问的数据库。
在调试问题83时,想知道Session访问的数据库。
最开始使用的是:Session.createSQLQuery("show tables").list();
提示,语法不正确。估计是,Hibernate不支持。
使用下面这个方法是可以的。
Session.connection().getCatalog()。
87.加速Eclipse和MyEclipse的启动。
每次打开Eclipse,都提示我是否需要提交一些信息给Eclipse指定的某个网站。
实在是难以忍受,网上找到了一点技巧。
首选项-General-Startup and Shutdown,把不需要的选项去掉。
比如,MyEclipse EASIE Weblogic。
88.PhpMyadmin登录失败。
登录phpmyadmin提示: #1045 无法登录 MySQL 服务器
根本原因:管理员账号是root,不是admin。
IE,Firefox,搜狗 3个浏览器使用admin登录几十次都失败。重新安装后,admin也失败。
我就随手输入了个root,成功了。
无语啊!
89.PHP sites-enabled下配置了多个类似的文件,本以为只会读取000-default,实际上
该目录下的所有文件都当作了配置文件。
90.http://42.96.184.84/fansunion改为http://42.96.184.84/后,
首页可以进去,文章和目录页面打不开,而登录功能却可以使用。
一直以为是虚拟主机没有配置好,我也很奇怪,因为81端口的虚拟主机都是好的。
后来终于发现,是固定链接需要更新。而.htaccess因为权限不够,不能自动更新。
91.ubuntu 默认面板恢复命令
昨天裝了Ubuntu,折腾来折腾去,面板不见了,不是默认的布局了,添加面板不是解決办法。
Google 了下,解决办法如下:
打开终端,终端窗口打开之后,立即在提示符后面输入下列命令:
gconftool --recursive-unset /apps/panel
(注意:每个斜杠 “/” 后面没有空格)
接下来输入下列命令:
rm -rf ~/.gconf/apps/panel
最后还需要执行:
pkill gnome-panel
接下来,Ubuntu 默认的上下两栏面板就会恢复默认值,出现顶部+底部各一面板的默认布局。
92.在dos环境下,为了将java命令的使用帮助信息放到一个文件中,
使用标记-复制方法不行,只好换了另外一种方法。
java> c:\java.txt就可以了
c盘根目录java.txt就有java的详细使用信息了。
熟悉dos 命令的使用
93. 切换到 非C盘目录。
需要增加 /D 参数
cd /D J:\开发工具\Tomcat家族\apache-tomcat-6.0.35\bin
94.dos命令行复制
a. 点击标题栏-右键菜单-编辑-标记,选中标记菜单,开始标记。
b. 选中 黑屏中需要复制的内容,完成标记过程。
c. 点击标题栏-右键菜单-编辑-复制,完成复制过程,然后就可以粘贴了。
95.eclipse内存不足
Eclipse发生内存不足错误时,使用记事本修改eclipse.ini文件是个错误的方法。(换行容易发生错误)
应该使用notepad++等编辑器打开,修改参数设置,才可以!
运行程序时,报内存溢出,也有可能是Tomcat的内存不够导致的。
96. 环境变量
新建环境变量JAVA_HOME ,值为C:\Program Files (x86)\Jave(末尾不能有分号)
不需要末尾的分号,难道是因为只有一个么.
97.安装OpenCMS修改MySQL配置。
提示MySQL的'max_allowed_packet' 太小,需要调大一点。
修改C:\Program Files (x86)\MySQL\MySQL Server 5.5/my.ini,添加
max_allowed_packet=167772160(160M),任务管理器-服务-MySQL-重新启动就可以继续安装了。
98. 把引用到的jar包折叠起来。
直接把一个包下的文件夹,比如src目录下的lib文件夹里的jar,全部加入到classpath中,
这些jar包全都显示在 项目列表中,而不是在一个 文件夹下。
而我期待的是 这种形式的:ReferencedJars,点击ReferencedJars,出现jar列表。
99.压缩文件
JDK自带的有。
// 声明压缩流对象
ZipOutputStream zipOut = null;
zipOut = new ZipOutputStream(new FileOutputStream(new File(
zipFilePath)));
for (String file : files) {
File file2 = new File(file);
// 设置ZipEntry对象
zipOut.putNextEntry(new ZipEntry(file2.getName()));
// zipOut.setComment("www.fansunion.cn");
zipOut.write(FileUtils.getBytesFromFile(file2));
}
JODD,Apache Commons Compress也可以,应该是对JDK自带类库的进一步封装。
100. 字符串比较 区分大小写。
修改一个项目的名称时,把大写改为小写,提示项目名称已存在。
方法一:从数据库查询出字符串与目标字符串 比较。
方法二:修改数据库的信息,修改列属性的排序规则(SQLServer)。
相关阅读
工作问题 http://blog.csdn.net/FansUnion/article/category/1334371
分享到:
相关推荐
完整英文电子版 IEC 60068-2-81:2003 Environmental testing - Part 2-81:Tests - Test Ei:Shock - Shock response spectrum synthesis(环境测试--第2-81部分:测试--测试Ei:冲击--冲击反应谱合成)。...
电子行业2019年中期投资策略:否极泰来-20190731-西南证券-81页.pdf
面向对象程序设计:JavaSE-任务81
第81讲:2015-05-20(Win32 以挂起形式创建进程) 第82讲:2015-05-21(Win32 加密壳_项目说明) 项目二:加密壳 开发周期(5天) 需求文档 第83讲:2015-05-28(Win32 枚举窗口_鼠标键盘事件) 第84讲:2015-05-29(Win...
C940 Polaris20 XTX A1 GDDR5 256Mx32 8GB 300e/300m (C) 1988-2010, Advanced Micro Devices, Inc. ATOMBIOSBK-AMD VER015.050.002.001.000000 5808STD1.M81 CCC Overdrive Limits GPU Clock: 2000 MHz Memory ...
20)..Fixed: Minor bugs in stack tracing (which usually affected stacks for leaks) 21)..Fixed: Rare deadlocks in multi-threaded applications 22)..Fixed: Taking screenshot of minimized window 23)..Fixed...
资源名:西门子PLC工程实例源码第81期:S7-200_时间设定与读取.rar 资源类型:西门子PLC工程实例源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。...
精美PPT模板81-100 精美PPT模板81-100 精美PPT模板81-100
81-90题 010: 91-100题 011: 101-110题 012: 111-120题 013: 121-130题 014: 131-140题 015: 141-155, 160 016: 162-169 017: 171-174, 179 018: 187-190 019: 191, 198-200 020: 201-210 021: 211-220 022: 221-230...
南大通用Gbase数据库jdbc连接驱动gbase-connector-java-8.3.81.51_build50.0-bin.jar
本文的目的是通过使用简单回归分析来研究1980-81年至2015-16年间印度一般支出对GDP增长的影响。 使用了外国直接投资增长率和两个虚拟变量,即一个用于2008年金融危机,另一个用于1991年改革期。 除FDI增长率外,所有...
10.4.6 另一个例子 100 10.5 RIP版本2 102 10.6 OSPF:开放最短路径优先 102 10.7 BGP:边界网关协议 103 10.8 CIDR:无类型域间选路 104 10.9 小结 105 第11章 UDP:用户数据报协议 107 11.1 引言 ...
主要内容包括SQL的基础理论、查询优化、查询算法及复杂度,以及在使用子查询、表表达式、排名函数、数据聚合和透视转换、TOP和APPLY、数据修改、分区表、特殊数据结构等实际应用时会遇到的各种高级查询问题和解决...
微软等数据结构+算法面试100题最后20题第81-100题新鲜出炉 ---100题系列V0.1版完整公布 作者:July 时间:2010年12月5日 ============= 首先,非常感谢各位,对本微软面试100题系列前期工作的大力支持。 很多很多...
在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈! 【项目介绍】 该代码基于NanoDet项目进行小裁剪,专门用来实现Python语言、PyTorch 版本的代码,下载直接能...
用MASM32写的定时关机、重启、注销程序ClosePC 0.0.0.1beta1 界面比较简单,体积也小。 文件说明符 : E:\masm32\works\ClosePC\ClosePC.exe 属性 : A--- 数字签名:否 PE文件:是 ...CRC32: bc42aa81
糗事百科源码81-100
gbase jdbc jar包
《Python - 100天从新手到大师》是一本Python编程的入门教材,它涵盖了Python语言的基础知识、常用库的使用、Web开发、数据分析、机器学习等多个方面的内容,适合初学者系统学习Python编程。 这本书的主要内容如下...