可以说,每一次问题的独立解决,对我来说都是巨大的鼓舞和振奋,让我更加自信!看着问题一个个的解决掉,我长舒 了一口气!!!
今天,又解决掉了两个问题:
1.中文乱码的问题,在使用SSH框架整合的时候,其实和原来学习Jsp解决中文乱码的方法差不多,我用的是struts1,当然如果使用struts2,好像更好解决一些,直接用过滤器就可以了,自己配置一下。在struts1中,我是这样解决中文乱码的:
1)先编写一个处理类:
package com.struts.processor;(自己定义的包名)
import java.io.UnsupportedEncodingException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.RequestProcessor;
public class NewProcessor extends RequestProcessor {
protected boolean processPreprocess(HttpServletRequest arg0,
HttpServletResponse arg1) {
try {
arg0.setCharacterEncoding("GBK"); ---->当然编码格式可以自定
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return super.processPreprocess(arg0, arg1);
}
2)在struts-config.xml中配置:
<controller>
<set-property property="processorClass" (一个类的对象)
value="com.struts.processor.NewProcessor" /> (包名加类名)
</controller>
把它写在资源配置文件前面
3)然后编写的jsp等页面都要遵循这个原则,我这里是设置为GBK,所以所以的涉及到的编码格式的页面和配置文件都要改为GBK
2.使用hiberanate封装数据库操作,执行添加操作的时候,数据插进去了,但同时会莫名其妙的多出一行空行值来:
1)说实话,这个错误浪费了我不少时间,在google上找了找,没找到,问一些网友,他们也是笼统的给我说了一下,看来还得靠自己,
我坚信,自己一定可以搞定的,即便赔不该浪费的时间,我也要去执着的看,调试,找错误的根源。
2)我是用hibernate来管理数据的么,所以很多数据库的操作,它都给完成了,于是,我进入它的源文件里去看,没有头绪,找不到错因。
3)试了很多办法,改了很多次代码都没能如愿,终于,这一次修改,问题解决了:
当收集的表单数据传到Action里面,先对其进行判断,限定,如果传过来的数据为空,就不让它执行下面的程序,这样就可以解决和防止空数据的传入。啊,原来就是这么简单!!