ssh框架简介的一个问题,刷新页面就报500错误,貌似跟session有关

本系统是以B/S结构进行构建,以本人开发的客户端访问Java服务器进行数据访问和处理。服务器端采用SSH架构进行开发,服务器端系统的基本框架已搭建好了,使用Struts作为控制层,Spring集成Hibernate进行Bean对象管理。
工作内容主要有如下几个方面:
1、 希望对当前搭建好的SSH部分配置提出一些优化方面稳定性和性能方面的建议。
2、 本系统使用时希望在Spring加载数据库配置时,如果出现任何无法连接数据库的问题时,该部分的配置将被以某种方式忽略掉或模拟一个假数据库源让加载过程顺利完成。(这是主要部分)
3、 检查部分主体流程代码提供一些代码优化的策略(这一部分可不作)。
有能力解决者请提供联系我:。
问题补充:本系统使用时希望在Spring加载数据库配置时,如果出现任何无法连接数据库的问题时,该部分的配置将被以某种方式忽略掉或模拟一个假数据库源让其它Spring配置文件内容能正确加载过程顺利完成。这样作的目的是在某些情况下我们系统会连接多个其它系统的数据库来采集数据,但可能这些数据库没有打开或无法连接,这时候我们想要这些不能正确连接的数据库的Spring配置文件部分在Spring加载时一旦发现无法连接则被忽略掉,这样就不会影响其它已配置和要用到的Bean的加载过程,之后我们系统在要连接那些没有正确加载的数据库时,如果发现没有正确连接或无法连接这些数据库时就可通过程序来处理这些异常,这样我们就可以在一开始就配置多个可能要用到的数据变回 连接,数据库连接配置部分如下:(这是主要部分)
&?xml version="1.0" encoding="UTF-8"?&
&beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd"&
&bean id="baseDataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource"&
&property name="driver" value="${base.driver}"/&
&property name="driverUrl" value="${base.url}"/&
&property name="user" value="${base.user}"/&
&property name="password" value="${base.password}"/&
&property name="alias" value="${base.alias}"/&
&property name="maximumConnectionCount" value="${base.maximumConnectionCount}"/&
&property name="minimumConnectionCount" value="${base.minimumConnectionCount}"/&
&property name="delegateProperties" value="characterEncoding=${base.characterEncoding}"/&
&property name="simultaneousBuildThrottle" value="${base.simultaneousBuildThrottle}"/&
&bean id="baseSessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&
&property name="dataSource" ref="baseDataSource" /&
&property name="mappingResources"&
&value&com/sunshine/business/sc/data/SqlUserdefinedCol.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/SqlUserdefinedSet.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/SqlUserdefinedTab.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/QxUsers.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/QxHospital.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/QxFuncTree.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/QxDeptTree.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/QxDept.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/Phonetic.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/LockType.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/LockGrant.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/Form.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/DictType.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/DictItem.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/QxFuncTab.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/QxFuncTreeTitle.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/QxUploadFile.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/QxStorageConfig.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/FormAutoSave.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/SystemConfigInfo.hbm.xml&/value&&
&&&&&&& &value&com/sunshine/business/sc/data/QxUserKeypair.hbm.xml&/value&
&value&com/sunshine/business/sc/data/QxSource.hbm.xml&/value&
&/property&
&property name="hibernateProperties"&
&prop key="hibernate.dialect"&${base.hibernate.dialect}&/prop&
&prop key="hibernate.show_sql"&true&/prop&
&!-- &prop key="hibernate.hbm2ddl.auto"&create,update&/prop&--&
&prop key="hibernate.jdbc.fetch_size"&20&/prop&
&prop key="hibernate.jdbc.batch_size"&20&/prop&
&/property&
&bean id="baseTransactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager"&
&property name="sessionFactory" ref="baseSessionFactory"&&/property&
&bean id="baseTransactionInterceptor"
class="org.springframework.transaction.interceptor.TransactionInterceptor"&
&property name="transactionManager" ref="baseTransactionManager" /&
&property name="transactionAttributes"&
&prop key="get*"&PROPAGATION_REQUIRED,readOnly&/prop&
&prop key="*"&PROPAGATION_REQUIRED&/prop&
&/property&
&/beans&
您说的那种方式只需忽略Spring容器加载时抛出的错误但不能正确加载其它正确配置的数据库连接信息和其它Bean信息,我们的要求其它简单点就是Spring中配置的任何错误配置在加载时都应忽略,且不会影响其它正确配置的内容。[
问题补充:Rambing 写道引用
这样作的目的是在某些情况下我们系统会连接多个其它系统的数据库来采集数据
这个是不是说你们有多个数据源。
一个主数据源,这个你们会保证其正确性。
另外是多个辅助数据源,这些不一定正确,无法保证。所以当这些辅助数据源出错的时候可以不影响主数据源的正常工作是吧。
看当前贴出来的发现只有一个datasource的配置。
个人认为应该用多datasource, 多个SessionFactory实现。
对于主数据库的所有操作按照正常的处理逻辑来实现。而对于那些辅助的datasource则进行代理实现,如果可用那么就保持其原有的运行路径,如果不可用生成一个代理的Connection。 接下来时重写Spring的TransactionInterceptor类,再代理对象最开始的时候进行Connection对象的判定,如果是代理对象直接跳过,不做任何处理,应该就可以避开了。
不过这里处理到了多数据源,那么在正常情况下,还需要考虑多数据源的事务处理了。 也需要改用Spring的JTA来进行相应的事务控制。
以上只是提供个人的一些思路, 希望对楼主有帮助。
可以说是您据说的情况,我给出的连接配置文件只是一个,我们存在多个这样的文件,也配置了多个sessionFactory,要求主数据源外的其它数据源在出错时能保证主数据源正常使用,按您说的数据源的代理实现是什么意思呢?如果可以可以电话联系您吗,对于这个问题如果您能给出一个我们要求的解决方法,我们愿意给一定的酬劳,如果可以请加我的QQ号:Rambing 写道引用
这样作的目的是在某些情况下我们系统会连接多个其它系统的数据库来采集数据
这个是不是说你们有多个数据源。
一个主数据源,这个你们会保证其正确性。
另外是多个辅助数据源,这些不一定正确,无法保证。所以当这些辅助数据源出错的时候可以不影响主数据源的正常工作是吧。
看当前贴出来的发现只有一个datasource的配置。
个人认为应该用多datasource, 多个SessionFactory实现。
对于主数据库的所有操作按照正常的处理逻辑来实现。而对于那些辅助的datasource则进行代理实现,如果可用那么就保持其原有的运行路径,如果不可用生成一个代理的Connection。 接下来时重写Spring的TransactionInterceptor类,再代理对象最开始的时候进行Connection对象的判定,如果是代理对象直接跳过,不做任何处理,应该就可以避开了。
不过这里处理到了多数据源,那么在正常情况下,还需要考虑多数据源的事务处理了。 也需要改用Spring的JTA来进行相应的事务控制。
以上只是提供个人的一些思路, 希望对楼主有帮助。
问题补充:Rambing 写道引用
这样作的目的是在某些情况下我们系统会连接多个其它系统的数据库来采集数据
这个是不是说你们有多个数据源。
一个主数据源,这个你们会保证其正确性。
另外是多个辅助数据源,这些不一定正确,无法保证。所以当这些辅助数据源出错的时候可以不影响主数据源的正常工作是吧。
看当前贴出来的发现只有一个datasource的配置。
个人认为应该用多datasource, 多个SessionFactory实现。
对于主数据库的所有操作按照正常的处理逻辑来实现。而对于那些辅助的datasource则进行代理实现,如果可用那么就保持其原有的运行路径,如果不可用生成一个代理的Connection。 接下来时重写Spring的TransactionInterceptor类,再代理对象最开始的时候进行Connection对象的判定,如果是代理对象直接跳过,不做任何处理,应该就可以避开了。
不过这里处理到了多数据源,那么在正常情况下,还需要考虑多数据源的事务处理了。 也需要改用Spring的JTA来进行相应的事务控制。
以上只是提供个人的一些思路, 希望对楼主有帮助。
不过在此衷心感谢Rambing的无私帮助!
引用
这样作的目的是在某些情况下我们系统会连接多个其它系统的数据库来采集数据
这个是不是说你们有多个数据源。
一个主数据源,这个你们会保证其正确性。
另外是多个辅助数据源,这些不一定正确,无法保证。所以当这些辅助数据源出错的时候可以不影响主数据源的正常工作是吧。
看当前贴出来的发现只有一个datasource的配置。
个人认为应该用多datasource, 多个SessionFactory实现。
对于主数据库的所有操作按照正常的处理逻辑来实现。而对于那些辅助的datasource则进行代理实现,如果可用那么就保持其原有的运行路径,如果不可用生成一个代理的Connection。 接下来时重写Spring的TransactionInterceptor类,再代理对象最开始的时候进行Connection对象的判定,如果是代理对象直接跳过,不做任何处理,应该就可以避开了。
不过这里处理到了多数据源,那么在正常情况下,还需要考虑多数据源的事务处理了。 也需要改用Spring的JTA来进行相应的事务控制。
以上只是提供个人的一些思路, 希望对楼主有帮助。
引用
1、 希望对当前搭建好的SSH部分配置提出一些优化方面稳定性和性能方面的建议。
3、 检查部分主体流程代码提供一些代码优化的策略(这一部分可不作)。
可否把详细的文件拿出来看看。
引用
2、 本系统使用时希望在Spring加载数据库配置时,如果出现任何无法连接数据库的问题时,该部分的配置将被以某种方式忽略掉或模拟一个假数据库源让加载过程顺利完成。(这是主要部分)
不知道这样做的目的是什么。
为了测试吗?
还是为了友好性,不让用户看到爆掉的页面?还是其他的目的。
不同的目的实现方式可以完全不同。
最简单的
重写Spring的加载Listener,捕获异常到Spring不加载,直接忽略。
再写个Filter,然后测试下连接是否可用,如果不可用忽略所有的请求。
那么这也在某种程度达到了楼主的要求了。
已解决问题
未解决问题下一篇:没有了
13年09月23日
13年09月23日
13年09月23日
13年09月23日
13年09月23日
13年09月23日
13年09月23日
13年09月23日
本栏热门推荐ssh框架入门_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者贡献于
评价文档:
43页免费22页免费6页免费15页免费23页1下载券 36页1下载券39页1下载券10页2下载券16页1下载券14页4下载券
ssh框架入门|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:1.01MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢SSH框架错误 服务器启动报错 急求_百度知道
SSH框架错误 服务器启动报错 急求
急求,校候,拿家继续做报错,服务器启报错,找原,前遇都找原userBiz配置没错错误信息:spring配置文件:&!--配置hinernate事务管理器& --&&bean&id=&txManager&class=&org.springframework.orm.hibernate3.HibernateTransactionManager&&&property&name=&sessionFactory&&ref=&sessionFactory&&&/property&&/bean&&!--&import&resource=&applicationContext.xml&&/&--&&bean&id=&user&&class=&entity.Users&&&/bean&&bean&id=&move&&class=&entity.MoveBooking&&&/bean&&!--&dao&--&&bean&id=&userDao&&class=&dao.UserDao&&&property&name=&sessionFactory&&ref=&sessionFactory&&&/property&&/bean&&bean&id=&moveDao&&class=&dao.MoveDao&&&property&name=&sessionFactory&&ref=&sessionFactory&&&/property&&/bean&&!--&配置服务层&--&&bean&id=&userBiz&&class=&biz.UserBiz&&&property&name=&userDao&&ref=&userDao&&&/property&&/bean&&bean&id=&moveBiz&&class=&biz.MoveBiz&&&property&name=&moveDao&&ref=&moveDao&&&/property&&/bean&&!--&action&--&&bean&id=&userAction&&class=&action.UserAction&&&property&name=&userBiz&&ref=&userBiz&&&/property&&property&name=&user&&ref=&user&&&/property&&/bean&&bean&id=&moveAction&&class=&action.MoveAction&&&property&name=&moveBiz&&ref=&moveBiz&&&/property&&property&name=&move&&ref=&move&&&/property&&/bean&UserAction属性:private&Users&private&UserBiz&userB& &/**& & *&管理员登录& & *&@return& & */public&String&login()&{& & & & if(userBiz.find(user)==null)& & & & {& & & & return&INPUT;& & & & }& & &return&SUCCESS;}public&UserBiz&getUserBiz()&{return&userB}public&void&setUserBiz(UserBiz&userBiz)&{this.userBiz&=&userB}public&Users&getUser()&{return&}public&void&setUser(Users&user)&{this.user&=&}
我有更好的答案
按默认排序
我曾经遇提示类似原Model进行修改增加属性且表新字段值表NULL所错误所建议检查否近修改数据库表或者修改类 另外启看间件应该Tomcat请查询logs/面志文件面错误解决问题帮助
1、既然运行成功过,代码应该是没问题的,2、抛出的异常是指:UserBiz加载的时候报错建议:1、对UserBiz对象和数据库进行对比,包括大小写对比。2、对UserBiz以及相关的表的数据删除(没备份别怪我),然后运行
少了cglib的jar包
其他类似问题
ssh框架的相关知识
您可能关注的推广
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁扫描下载客户端}

我要回帖

更多关于 ssh框架特点 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信