课程设计“招生管理系统”中遇到的问题

在课程设计的招生管理系统中,使用SSH框架时遇到了Struts1.3的jar包与Tomcat兼容性问题。尝试减少jar包数量导致无法调用Action。最终选择使用MyEclipse自带的Struts1.3 API解决了问题。总结经验:先配置Struts以确保Web层正常运行,注意框架版本兼容性,并使用绝对路径避免路径问题。
摘要由CSDN通过智能技术生成
    本系统任然采用SSH框架。应该说经过这么多的练习,对这3个框架的集成应该比较熟悉了,但是在本项目中还是出了问题,而且困扰了我们将近一天。问题出在Struts1.3上,按照我的习惯,喜欢用下载的API,而不用MyEclipse自带的。但是这次下载的Struts1.3的jar包中出了些问题。最开始为了减少jar包的数量,只添加了一些必须用的jar,但是添加的这些jar出现了与tomcat不兼容的问题。最初用tomcat6.0.18的时候,一启动tomcat就报错,然后改用tomcat5.5.25,虽然不报错,但是不能调用Struts的Action,即在浏览器中输入"xxx.do"的时候始终提示找不到对应的Action。检查了很多遍web.xml和struts-config.xml,发现都没有问题。
    实在不知道问题出在哪里了,于是又回到做原始的练习。先建立一个Web Project,取名StrutsTest,通过MyEclipse向导为我生成struts的相关类和配置文件,这是用的Struts1.3 API是MyEclipse自带的,tomcat版本是6.0.16,这个练习是没有任何问题的。然后去掉MyEclipse自带的API,该用下载的Struts1.3的API,这时启动tomcat6.0.16马上就报错,改为tomcat5.5.25就不报错,但是也不能调用Action,即与课程设计的项目出的问题相似。仔细对比了下MyEclipse自带的Struts1.3 API和下载的Struts1.3 API,发现大部分类是相同的,只有少些jar有些不同,下载的Struts1.3中jstl是1.0.2,而MyEclipse自带的是1.2,下载的多一个oro-2.0.8.jar... 这样并看不出有什么问题。最后决定:使用MyEclipse自带的Struts,反正他们大部分jar包都是相同的。
    总结:为了减少lib的jar包数量,我把SSH必须的Jar进行了筛选,放在了一个专门的文件夹下。但是随着版本的更新,这些“必须”的Jar开始出现问题,尤其是Struts的Jar,Spring和Hibernate没什么问题。我们这个项目是先配置Spring和Hibernate,然后才集成Struts的。其实相比另外两个框架,Struts的Jar包并不多,可以全部引入。但是Spring非常庞大,必须对其Jar包进行筛选。一个项目最重要的还是先让它跑起来,所以以后做类似项目的时候可以先配置Struts,因为它属于Web层,这个B/S模式构架的项目要跑起来当然Web层不能有问题。再一个就是Java相关的技术中,框架或者工具的版本不兼容也是一个隐患,所以有时候也得放弃使用最新版本。
    在程序不能正常运行的时候,我会首先自己尝试根据错误信息来解决问题,实在不行就用Google搜索解决方案,还不行再到CSDN论坛上提问,任然不行的话就只有先放一放,说不定哪天有灵感了很快就能解决。



解决的问题:
1.在struts-config.xml中,<action>下<forward>元素的path属性对应的文件名应该已"/"开始,而不能用相对路径。比如:<forward name="addSuccess" path="addExamineeInfoChoice.jsp" />应该写成<forward name="addSuccess" path="/examinee/addExamineeInfoChoice.jsp" />,即要用绝对路径。

2.在struts-config.xml中,写<action>的path属性时,指定的路径最好与调用该path对应Action的jsp页面在同一个目录下。比如:有一个addExamineeInfo.jsp页面在examiee目录下,它要调用addExamineeInfo.do对应的Action,那么在<action>中应该写成path="/examinee/addExamineeInfo",这样可以避免在页面之间转向过后出问题。

3.在Struts的ActionForm中,如果要用Validator框架验证对象表单属性的合法性,最好将ActionForm的每个属性都定义为String类型,因为它从页面端获取数据,得到的就是String类型,而且ActionForm只是作为VO在页面间传输,用户只关心看到的结果(即字符),并不关心它实际是什么类型。只有当要把表单数据进行持久化,即需要把VO转化为PO时,才需要将String类型转化为实际的类型。这个过程需要手动完成,比如完成String到Date型的转换。
否则,如果在ActionForm中用了像Integer,Date这样的类型,很可能验证框架不能帮助我们进行验证。比如在ActionForm中对age属性定义为Integer类型,虽然在validate.xml中指明了age属性的验证规则为int,但验证不能成功。而把age定义为String类型,就可以了。


近年来,随着民办高职院校规模的不断扩大和招生人数的不断增加,现有招生管理工作方式已远远不能满足民办高职院校的要求。为使民办高职院校招生工作更加科学化、现代化,从而有效提高招生管理工作的质量,各民办高职院校迫切需要更新和改善招生管理手段,并建立一套完善实用的招生信息管理系统,以减轻招生管理人员的劳动强度、提高工作效率和保证招生数据的准确性和完整性。 本文首先介绍了民办院校教学运行管理信息系统研究的背景,在综合国内外高校教学运行管理信息系统理论研究成果和实践探索经验的基础上,对民办院校教学运行管理信息系统的目标需求、学院教学运行管理的组织结构、系统主要业务流程、系统数据流、系统功能需求等进行了深入分析,并对系统计算模式和架构、系统各主要功能模块以及系统安全等进行了设计和说明。然后基于系统数据库的建模原理对系统数据库的逻辑模型、系统数据库表结构和系统数据库访问等进行了分析和设计,并从动态网页技术和系统技术路线等方面介绍了系统所采用的开发技术。 论文通过分析民办高职院校招生管理特点,对其业务流程进行了分析,据此提出了系统的需求,进而设计和实现了适用于民办高职院校的招生管理系统,在本文作者针对民办高职院校的业务流程,总结出民办高职院校的招生特点,完善民办高职院校招生管理系统,并参与需求分析、功能设计等工作。 本文所设计的招生管理系统根据民办高职院校招生管理的特点,采用基于Intranet环境的B/S网络计算模式,并设计了基于FTP和数据代理的数据传输机制。该系统具有内容全面、方法科学、功能强大、操作简单、易学易用及较好帮助系统等特点。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值