为什么我使用了延迟加载过滤器,仍然出现session is closed的异常 本帖最后由 calledMT 于 2010-07-28 10:05:56 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://cn-done.javaeye.com/blog/579317 <init-param><param-name>singleSession</param-name><param-value>true</param-value></init-param>带上 Hibernate代码package com.ssh_rooms.dao.imp;import java.util.*;import javax.annotation.Resource;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.springframework.stereotype.Repository;import org.springframework.transaction.annotation.Transactional;import com.ssh_rooms.dao.inf.TenementManager;import com.ssh_rooms.entity.Tenement;@Transactional@Repositorypublic class TenementManagerImp implements TenementManager { @Resource private SessionFactory sessionFactory; public Tenement login(String name, String password) { return (Tenement)sessionFactory.getCurrentSession().createQuery(hql).setParameter(0, name).setParameter(1, password).uniqueResult(); }}<------------------分割线----------------------->Struts代码package com.ssh_rooms.action;import java.io.*;import java.net.*;import java.util.*;import javax.servlet.http.*;import org.apache.struts.action.*;import org.springframework.stereotype.Controller;import com.ssh_rooms.dao.imp.TenementManagerImp;import com.ssh_rooms.dao.inf.TenementManager;import com.ssh_rooms.entity.Tenement;@Controller (value="/login")public class LoginAction extends Action { private static Properties config = new Properties(); static { try { InputStream in = LoginAction.class.getClassLoader().getResourceAsStream("roommanager.properties"); config.load(in); in.close(); }catch(Exception e) { e.printStackTrace(); throw new ExceptionInInitializerError(); } } public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginForm loginForm=(LoginForm)form; String username=URLDecoder.decode(loginForm.getUsername(),"utf-8"); System.out.println(username); String password=loginForm.getPassword(); String rname=config.getProperty("rootname"); String rpwd=config.getProperty("password"); TenementManager tm=new TenementManagerImp(); System.out.println(tm.login("123", "123")); if(username.equals(rname)&&password.equals(rpwd)) { return mapping.findForward("success_landlord"); } else return mapping.findForward("fail"); }} 异常信息java.lang.NullPointerException at com.lw.ssh_rooms.dao.imp.TenementManagerImp.login(TenementManagerImp.java:89) at com.lw.ssh_rooms.action.LoginAction.execute(LoginAction.java:44) 很简单的问题哈!!成为软件工程师的必备条件 jsf自定义标签在.jspx中不能显示 刚把servlet/jsp学完,准备学struts2,有两本书,大家推荐一下。 求助 在struts里某些页面无法显示 初学:为什么我安装了JDE1.4后,只发现了SUN\appserver?找不到客户端? 一個小問題,幫幫忙 初学者的初级问题,第一个JAVA程序居然无法运行? 百分求Jboss下的数据库连接池的配置以及使用连接池的简单源代码 请高手帮我分析这个错误的原因,100分! Java怎么实现分析图片 java基础问题!高手进,。。。。。。。。 项目发布问题?
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
带上
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;import com.ssh_rooms.dao.inf.TenementManager;
import com.ssh_rooms.entity.Tenement;@Transactional
@Repository
public class TenementManagerImp implements TenementManager
{
@Resource private SessionFactory sessionFactory;
public Tenement login(String name, String password)
{
return (Tenement)sessionFactory.getCurrentSession().createQuery(hql).setParameter(0, name).setParameter(1, password).uniqueResult(); }
}<------------------分割线----------------------->
Struts代码
package com.ssh_rooms.action;import java.io.*;
import java.net.*;
import java.util.*;import javax.servlet.http.*;import org.apache.struts.action.*;
import org.springframework.stereotype.Controller;import com.ssh_rooms.dao.imp.TenementManagerImp;
import com.ssh_rooms.dao.inf.TenementManager;
import com.ssh_rooms.entity.Tenement;@Controller (value="/login")
public class LoginAction extends Action
{
private static Properties config = new Properties();
static
{
try
{
InputStream in = LoginAction.class.getClassLoader().getResourceAsStream("roommanager.properties");
config.load(in);
in.close();
}catch(Exception e)
{
e.printStackTrace();
throw new ExceptionInInitializerError();
}
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
LoginForm loginForm=(LoginForm)form;
String username=URLDecoder.decode(loginForm.getUsername(),"utf-8");
System.out.println(username);
String password=loginForm.getPassword();
String rname=config.getProperty("rootname");
String rpwd=config.getProperty("password");
TenementManager tm=new TenementManagerImp();
System.out.println(tm.login("123", "123"));
if(username.equals(rname)&&password.equals(rpwd))
{
return mapping.findForward("success_landlord");
}
else
return mapping.findForward("fail");
}
}
at com.lw.ssh_rooms.dao.imp.TenementManagerImp.login(TenementManagerImp.java:89)
at com.lw.ssh_rooms.action.LoginAction.execute(LoginAction.java:44)