只是根据自己平常做项目的习惯和理解进行叙述,不一定准确,希望可以跟大家以前讨论.
session 一般用来做权限控制(传参压对象等).
默认的session 时间应该是是20分钟.可以在web.xml进行设置
方法:
<session-config>
<session-timeout>15</session-timeout>
</session-config>
或在action 或servlet 中
方法:
session.setMaxInactiveInterval(XXX)
进行设置.
如果使用session(继承hibernate中持久化连接)用做数据连接控制的话.
一般使用方式为(我自己的习惯):
做查询时(单sql语句):
写一个单独的查询类:
public querylist(Stirng sql)
查询前获取session
返回结构后关闭session
做插入修改删除操作时:
写一个单独的操作类:
public executeSql(List<String> sql)//进行批量操作,如果失败可进行事物回滚.
{
操作前获取session
使用session的事物处理
批量进行sql语句压入
事物提交.
session关闭.
}
虽然java用自带的session回收机制,不过作为一个合格的开发人员,我个人认为,还是应该控制好方法内的session.
另外数据库连接池(不管是hib还是iba)应该是做连接限制的(避免重复创建con而不关闭的情况而con的获得是从session获取).