学习SSH问题总结
来源:互联网 发布:cmmi软件成熟度 编辑:程序博客网 时间:2024/04/30 15:30
昨天动手写了一个简单的ssh应用例子,用户登陆的功能, 遇到了很多问题? 汗!
环境:sqlserver 2005, myeclipse 8.5, tomcat 6.0, jdk 1.6
框架:struts1.2, spring2.0, hibernate3.0
1.java.lang.ClassNotFoundException: org.springframework.web.filter.Charact erEncodingFilter .......
我检查了web.xml 文件,原来是类名是错了,中间多了个空格, 可能是使用eclipse 开发中,光标乱跳导致的
2.org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]:
在网上搜了下,原来是jar包冲突, 由于Spring中的“asm-2.2.3.jar”和Hibernate中的“asm.jar”包冲突。解决办法是移除Spring2.0 AOP Libraries中的“asm-2.2.3.jar”即可,展开web-info/lib 下,删除asm-2.2.3.jar 运行即可,终于看到了成功运行页面, ^0^
3. "operate" in production environments was not found on the java.library.path ......
我猜想是jsp 向 DispatchAction 发送请求是没有指定operate 参数, DispatchAction 不知道调用哪个方法来处理请求
我在页面的form 标签action 属性改为login.do?operate = login, form 没有指定method 表单提交方法(struts标签默认是post),试了下,还是报这个错
没办法,只好用了<html:hidden property="operate" value="login"/>,好象就可以了....?????
4.使用Hql 查询没有结果?执行出错?
我用控制台输出的sql 语句在数据库中执行是成功的,不知是什么原因
userdao:
/**
* 验证用户登陆信息
* @param user
* @return 存在返回实体类对象,不存在返回null
*/
public UserInfo Validate(UserInfo user)
{
UserInfo u = null;
Session session = null;
try
{
u = new UserInfo();
session = this.getSession();
Transaction tx = session.beginTransaction();
String hql = "from UserInfo as u where u.uname = ? and u.password = ?";
Query q = session.createQuery(hql);
q.setParameter(0, user.getUname());
q.setParameter(1, user.getPassword());
List list = q.list();
u = (UserInfo)q.list().get(0);
tx.commit();
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
session.close();
}
return u;
}
点击登陆后,会报错,index 0 ,size 0、好像是数组超出范围,
原因我在表单输入了错误的用户名和密码,这些数据在数据库中根本不存在,执行查询返回null,
再取值肯定会报错,正确的方法是在取值前做个决断,值是否为null,
if(list.size() > 0)
{
u = (UserInfo)q.list().get(0);
}
5.问题解决 ,进入下一步,输入错误的用户名和密码, 怎么也能进入主页面????
调试后发现,问题出现在这里, u = new UserInfo(); 这个实体类实例化后,它有具有了初始值,所以它满足不
为null 的条件, 业务层决断返回的实体类对象不为null , 以为取到了值, 所以返回true , action 就返回了index.jsp
未完待续..............
- 学习SSH问题总结
- 学习SSH中遇到的问题总结
- SSH学习之Spring问题总结
- cygwin ssh 问题总结
- SSH问题总结
- SSH问题大总结
- SSH搭建问题总结
- 【SSH】问题总结
- 记录学习的点滴(MyEclipse10+SSH搭建问题总结)
- SSH学习总结
- SSH框架学习总结
- SSH框架学习总结
- ssh框架学习总结
- ssh学习总结1
- SSH框架学习总结
- SSH框架学习总结
- SSH学习总结
- ssh学习总结
- 主从同步
- CURL --- 命令行浏览器
- 点击可调用btnAdd的服务器事件
- vc++.net智能感知(intellisence)
- 获取指定IP地址远程主机的计算机名和Mac地址
- 学习SSH问题总结
- 802.11协议
- ASP.NET 页生命周期概述
- Difference between software interrupt, exception, trap
- Android进程与线程
- 带确认按钮的实体对话框
- dwr.util和jquery冲突。。
- 用perl脚本发送带附件的邮件
- SQL查询