一、 struts2
1. The content of element type “package” must match “(result-types?,interceptors?,default-interceptor-ref?,default-action-ref?,default-class-ref?,global-results?,global-exception-mappings?,action*)”.
struts2 的 struts.xml 下的<package></package>
中的一系列配置项在书写的时候有顺序要求,action 是要写到最后的。详细顺序为:
result-types?,
interceptors?,
default-interceptor-ref?,
default-action-ref?,
default-class-ref?,
global-results?,
global-exception-mappings?,
action*
p.s. 忘了也没事。。。反正 idea 会告诉你的。
2. struts2 i18n 中的中文资源配置文件,需要转为 unicode
首先写好utf-8的配置文件,然后用native2ascii
命令转换编码格式(iconv貌似不好使)然后使用>
定向到一个输出文件就好,具体操作:
native2ascii $original > $object
3.并发测试…这性能…真 JB 差
如此页面的并发测试
ab -c 100 -n 1000测试结果:
4 . Invalid field value for field “date”
实验要求,使用 sql.Date
。
开始使用后,添加验证框架,一切正常;
然后加入了 i18n
,就发现报告了Invalid field value for field "date"
;
一开始发现这是i18n
存在的一个小 BUG
,本以为无解的;
后来在一篇博客中发现,有人遇到 int
里边输入了空格导致报告该错误的;
于是怀疑是不是我的date
真的是 invalid 的?
抱着试试看的态度,我买了3个疗程的“前列康胶囊”。
抱着试试看的态度,我把数据库写入之前的 Date
改为了 util.Date
数据库写入时,转换为sql.Date
。
没想到真的治好了我的腰间盘突出。
没想到真的治好了Invalid field value for field "date"
5. please choose persistence unit
解决办法:cmd+;进入项目配置,在 Modules 中点击Hiberate 点击“+”新建一个 Hibernate 配置文件。
6. ssh 框架整合使用时,校验框架拦截错误后,正确情况无响应。
校验框架拦截错误后会产生一条 error 信息,一直存在,影响程序继续运行,
所以需要设置错误信息的范围,使其不影响后续程序执行。
设置方式为:
在 applicationContext.xml的对应 action 配置中,添加scope="prototype"
参数
效果如下:
<bean id="loginAction" class="action.LoginAction" scope="prototype">
<property name="loginService">
<ref bean="loginServiceManage"/>
</property>
</bean>
博文起了这个名字就是为了避免 SEO 。。。
SSH 这东西烂的不行,基本上能找到的教程都是5、6年之前的。
对于一系列漏洞百出的,2年换一次风格的框架,这简直是致命的。
对于我这种“面向搜索引擎编程”的初学者来说,更是一场噩梦。如果你使用过其他任何的 WEB 后端语言,PHP、nodejs、Django、.NET、Ruby等吧,你就会觉得写 SSH 是在 遭罪
举个简单的例子,datetimepicker 在 struts2 中的实现需要导入一个500k+ 的 jar 包,最后的效果是。。引入了一个500k+的未压缩的 js 文件。也可能是我太菜了,可我从来都没为一个页面写过500k+的 js 代码。而且,就这样还叫做轻量级框架。
在很多功能的实现上,我在使用搜索引擎学习的过程中,,,很多文章都说“推荐使用 js实现此功能”。。很不理解 Struts2这种为了一个很简单的功能,引入巨大的 js 文件,而且还不允许开发者进行压缩,简化的行为。
这种强行拼凑的所谓的标准,本质上是隐藏在无数条导入语句下的杂乱,最终会使整个项目中一多半的语句是不工作的,可怕的是开发者感觉不到他。
你没有亲手写出他来,你就感觉不到他;你没有亲手 ddos 你的服务器,你就感觉不到你对你的服务器的愧疚。
可是你亲手导入了那些无用代码,就像你亲手给你的服务器留了高危。
当然,这些缺点都是 Java 那些庞大的优点所必要的代价,过去,没有很多专门的,优秀的编程语言,人们就改造 Java ,Java 什么都能干,确实贡献了很多。
但是,时代变了,太多优秀的编程语言涌现。再过10年,不掌握10门外语,我猜根本找不到工作,全栈就是一个例子。
扯了这么多,我就想说一句,Java,滚犊子!PHP 才是世界上最好的语言!
God bless PHP.