本人是在做hibernate开发时,执行某一条语句出现这个异常:
0 1 2 3 |
mysql The user specified as a definer ('username'@'host') does not exist |
查了很多相似的问题,大部分都说是存储过程(Stored Procedure)或者视图(View)的权限问题,没有指定的definer用户。但本人的数据库中没有存储过程也没有视图,肯定不是这个问题了。
本人是在做hibernate开发时,执行某一条语句出现这个异常:
0 1 2 3 |
mysql The user specified as a definer ('username'@'host') does not exist |
查了很多相似的问题,大部分都说是存储过程(Stored Procedure)或者视图(View)的权限问题,没有指定的definer用户。但本人的数据库中没有存储过程也没有视图,肯定不是这个问题了。
在用String进程事务管理时,Spring只会在运行时异常(runtime exception)抛出时回滚数据库操作,如果我们自定义的异常或者其他没有继承runtime exception的异常抛出时,String不会回滚事务。如果你的抛出某种异常时,有两种方法。
Struts2官方文档中的异常处理是返回jsp页面,但是,如果我们在前端用的是Ajax方法请求,服务器统一返回Json处理,我们就不能直接返回jsp了。
这里说明的是用Sencha CMD生成的项目。
要修复Ext中的Bug和添加自己的功能,用Ext.define来定义有重写类。
0 1 2 3 4 5 6 7 8 9 10 11 12 |
Ext.define('MyApp.overrides.panel.Panel', { override: 'Ext.panel.Panel', close: function() { console.log('My Change to Close'); this.callParent(); // call the original method }, helloWorld: function(){ console.log('Hello World'); } }); |
override配置项指定要重写的类,其他项目为要重写的具体内容。
如果你不想因为重写一个方法而导致原来的方法失效,你可以用this.callParent();来调用父类的同名方法。
重写的具体内容不多写,网上资料很多,这里说一下重写的类文件加载问题。
在定义一个类时,我们可以用requires或者uses来引用要调用的Ext类,但是重写的类在哪里加载容易维护?如果我们在随便一个类的定义里用requires来引用,那维护时会很不方便。
自己搜索了很久,没找到说明了在哪里加载,一开始我是在app.json里配置,后来发现项目里有个overrides文件夹,把重写的文件放到里面,然后用Sencha CMD运行sencha app refresh后,这个文件夹里的JS文件会被自动加载。
这个链接里也提到重写的问题:http://extjs.org.cn/node/721
我们前端用到Ext JS,在用Ext.Date.format(date, fomat)格式化日期的时候时间出现了不一致的问题,一开始以为是JS出现的问题。后来看了一下后端生成的JSON日期,格式类似:2014-10-11T17:02:45,日期和时间之前有个T,这是UTC时间,为世界标准时间,与GMT时间一样。
这个时间转成JS的Date对象时,如new Date(“2014-10-11T17:02:45″),时间会变成12号 的1点02分45秒,可见,相差了8个小时,而中国的时间是+0800,刚好就差这8个小时。
不知道为什么Strut2转成JSON会这样,丢失了时区,如果时间格式为:2014-10-11T17:02:45+0800是没问题的,包含了时区信息。
为了让JS正常工作,我们在Java的PO的Date类型的get方法中用注解 @JSON(format=”yyyy-MM-dd HH:mm:ss”) 格式化一下时间格式即可。我们在前端获取的时间格式变成了:2015-01-02 13:26:53,转成Date对象时间正确。
首先不能让用户通过ip直接访问网站,我们必须要有域名,只能通过域名访问网站。
继续阅读
最近在Window下使用nginx和php,配置过程记录一下,并提供了方便的nginx和php进程管理工具。
关于在store load的时候服务器返回错误信息或服务器出错的处理。ExtJS4应该也能用,没测试过。
这里有两种情况:
如果Web用的是UTF-8编码,POST请求应该不会出现乱码,如果是GET请求就要转码。但是这里用了POST也出现了乱码,为什么呢?
在Struts2中,如果图片用InputStream 字节输入流进行读取图片,浏览器加载页面时每次都会重新加载图片,这样不但加重了服务器负担,还增加了带宽流量,并且图片本来是比较大的资源,会大大增加带宽资费。
所以为了开源节流,为Struts2中图片设置浏览器缓存是必须的。