s2sh整合做登录模块出现的问题,莫名奇妙

问题描述

刚用s2sh整合做项目(只做了登录模块),都配置好了,可以连接数据库,第一次连接数据库获取数据等操作都可以,但是页面刷新几次之后就连接不上了,页面无法跳转,一直显示正在连接。设了断点,发现可以请求到action,但是一用hibernate向数据库取数据时,就断开了,也没有报错(好像是hibernate取数据卡在那边了,没有打印出hibernate的sql)为什么会有这种情况呢?前几次请求hibernate取数据都可以,刷新多次后就不行了,纳闷呀。 我没有用连接池等。spring配置如下:<bean id="dataSource"class="org.apache.commons.dbcp.BasicDataSource"><property name="driverClassName"value="com.microsoft.sqlserver.jdbc.SQLServerDriver"></property><property name="url"value="jdbc:sqlserver://localhost:1433;databaseName=bearBook"></property><property name="username" value="sa"></property></bean><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource" ref="dataSource"></property><property name="configLocation"value="classpath:hibernate.cfg.xml"></property></bean><bean id="SystemUserDAO" class="com.bear.dao.impl.SystemUserDAO"><property name="sessionFactory"><ref bean="sessionFactory" /></property></bean><bean id="SystemUserService" class="com.bear.service.impl.SystemUserService"><property name="systemUserDAO" ref="SystemUserDAO"></property></bean><bean id="systemUser" class="com.bear.view.SystemUserAction"><property name="systemUserService" ref="SystemUserService"></property></bean>struts配置文件如下:<struts><constant name="struts.devMode" value="true"></constant><package name="houtai" extends="struts-default"><action name="systemUser" class="systemUser" ><result name="index" >/background/index.jsp</result><result name="error">/background/login.jsp?error=1</result></action></package></struts> hibernate配置如下:<hibernate-configuration><session-factory><property name="show_sql">true</property><property name="dialect">org.hibernate.dialect.SQLServerDialect</property><mapping resource="com/bear/dao/pojo/BookInfo.hbm.xml" /><mapping resource="com/bear/dao/pojo/BookType.hbm.xml" /><mapping resource="com/bear/dao/pojo/SystemUser.hbm.xml" /></session-factory></hibernate-configuration>SystemUserAction中的方法:public String check(){systemUser = systemUserService.checkUser(userName, password);if(systemUser==null){return "error";}else{HttpSession session = ServletActionContext.getRequest().getSession();session.setAttribute("systemUser", systemUser);return "index";}}调用的SystemUserService中的方法:public SystemUser checkUser(String userName, String password) {String hql = "from SystemUser where userName=? and password=?";Object[]values={userName,password};List<SystemUser> list = systemUserDAO.query(hql,values);SystemUser systemUser = null;if(list.size()!=0){systemUser = list.get(0);}return systemUser;}调用的SystemUserDAO中的方法:public List query(String hql,Object...values) {Query query = getSession().createQuery(hql);for(int i=0;i<values.length;i++){//相当于rs.setObjectquery.setParameter(i, values[i]);}return query.list();}为什么头几次登录都可以(hibernate可以打印出sql语句),多请求几次,hibernate那端就卡在那边了,没有打印出sql语句,页面一直是正在连接。。。连接不上~ spring注入都可以 问题补充:nju_abc 写道

解决方案

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"> </property> <property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=bearBook"> </property> <property name="username" value="sa"></property> </bean> 在这里面将数据库连接数配上,先配个较小的数,看刷几次就卡住了再配个稍微大的数,多刷几次看看是不是还会卡住
解决方案二:
数据库能维持的连接是有上限的,是不是你没有释放数据库连接,导致后来数据库连接达到上限,这时候再请求连接数据库就得不到连接了。
解决方案三:
JAVA 操作数据库目前比较流行的有:JDBC Ibatis HibernateJDBC 写ResultSet映射麻烦,且SQL语句写在了JAVA程序里面,部署给客户后 ,修改起来麻烦,需要重新编译JAVAIbatis比较优秀Hibernate 性能不是很好
解决方案四:
难道是连接池里的连接没释放,都被占用了?

时间: 2024-09-20 18:26:23

s2sh整合做登录模块出现的问题,莫名奇妙的相关文章

Struts 2.1.6精简实例系列教程(6):重写用户登录模块(整合Jquery+JSON)

网上有许多关于Struts2与JSON的文章,Google加百度,查阅了许多,有各种各样的做法.其中,大部分的文章都说要加进一个叫 jsonplugin的插件,在Google Code可以下载.以前我有做过测试,也是用它,但着实麻烦,要让Struts2的package继承一个叫"json-default"的父 package.网上的文章,大部分都是说从Struts的Action如何把JSON数据发送回浏览器端(Ajax),而我想要一个跟它们相反的过程(即从Ajax端发送数据到服务器端的

MVC架构登录模块,新闻发布模块

问题描述 我才开始学JSP,自己在学用MVC架构登录模块和新闻发布模块,不过感觉越写越乱.在网上也没有找到相关的资源.很多时候.jsp里面有夹带一些函数,有时写类又不知道如何入手,连接又出问题.谁有这两块或者其中一块的MVC架构的代码吗?可不可以发给我看看?或者在网上哪儿可以找到相关的资源?谢谢!!我的邮箱是498464148@qq.com谢谢~ 解决方案 解决方案二:想问一下你的mvc框架只是单单基于struts的吗,还是,三个框架都用了.我这有好多资源,关于三大框架的,就是太大了,十几个G呢

方法-JAVA项目中做登录加密操作

问题描述 JAVA项目中做登录加密操作 在项目中做用户登录操作,如果一个陌生人随意乱输用户名和密码,假定正好输入都正确(数据库中已保存的),为避免此类问题发生,要对登录做加密,使用MD5方法是不是比较好,是否还有其它好的方法,谢谢 解决方案 因此,作为这个用途,那些不可逆的散列算法都可以达到这个目的,比如MD5.SHA1等等,以及它们的变种,比如两次MD5,加上一个随机数再MD5(俗称加盐).为什么要变化?因为人们将常见密码和MD5存入一个很大的数据库,所以反插起来很容易. 解决方案二: MD5

ASP用户登录模块的设计

ASP用户登录模块的设计 用户登录验证脚本,Chkpwd.asp <% '=======用户登录验证脚本======= '如果尚未定义Passed对象,则将其定义为false,表示没有通过验证 If IsEmpty(Session("Passed")) Then Session("Passed")=false End If   'Session("Passed")=False,表示尚未通过验证,则开始读取从表单传来的验证信息 If Sess

Struts 2.1.6精简实例系列教程(2):用户登录模块的实现

用户登录几乎是每一个Web系统的必需模块,本期教程就通过用户登录模块来讲解Struts2.1.6的Action和Result的Annotation配置. 上期的Struts 2.1.6 精简实例系列教程(1):环境的搭建与HelloSimple中,我们建的package名为"cn.simple.action",这些包名有一个规则的,只要包含 "action,actions,struts,struts2"都会默认被扫描到为Action类,也就是说,我们只要配置了如 &

asp用户登录模块实例代码

 asp用户登录模块实例代码: 用户登录验证脚本,Chkpwd.asp 以下为引用的内容: <%  '=======用户登录验证脚本=======  '如果尚未定义Passed对象,则将其定义为false,表示没有通过验证  If IsEmpty(Session("Passed")) Then  Session("Passed")=false  End If  'Session("Passed")=False,表示尚未通过验证,则开始读取从

c#做登录界面,,,,,,

问题描述 c#做登录界面,,,,,, 用c#做登录界面,如何确定用户名和密码的正确,,用户名和密码存在数据库(sql)的一个表中, 解决方案 输入的用户名和数据库里的比较,没有,提示没有此用户,有则判断密码正确与否 解决方案二: 使用SqlDataReader sqlDr = sqlCmd.ExecuteReader();,然后再调用sqlDr的read(),如果返回的是true,用户名密码就是正确的 解决方案三: string username = textBox1.Text; string

php-PHP模拟用户登录模块设计

问题描述 PHP模拟用户登录模块设计 初学者,遇到下面问题,求帮助! 1.模拟用户登录模块,具体要求如下: (1).创建一个用户登录的表单页面. (2).对用户输入的信息进行二次验证,即在客户端进行输入格式验证(如用户名不能为空,密码至少6位等),在服务器端进行用户名和密码的匹配验证(可以假设一个用户名和密码). (3)根据不同的验证结果给用户合理的反馈. 解决方案 这是个问题么.... 解决方案二: 不明白问题是什么..

整合qq登录,数据库应该怎么设计

问题描述 整合qq登录,数据库应该怎么设计 如果整合了qq.新浪微博的第三方账号的登录后 当会员点击qq登录后,那么 会员表原本的username和email字段则为空,那么就会出现问题 因为 UNIQUE KEY username (username), UNIQUE KEY email (email), 这两个字段是UNIQUE KEY,不能为空,那么数据库应该怎么设计呢 解决方案 填入qq账号,密码用个第三方专用密码标志填入 解决方案二: 一般是在用户首次登录你的系统的时候,由系统模拟产生