SSH 踩坑记录

一、 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.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值