还剩20页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
软件学院课程设计报告书课程名称________________j avaEE课程设计______________________________设计题目学生个人成绩管理系统专业班级学号姓名指导教师2011年12月8con n e c t i on c o n=Con n ectionUt i
1.getCon n ectio n;;oSys t e m.outo printlnconoi sClo s ed°}对数据库内的数据查询2package com dujie dao;o;;i mp ort ja v a s q LConnection import j a va s q LPre p a red S tatemen t im port java sql.R e s u ItSoe t;;im po r t ja v a.s q
1.S QLExcept i onimpo r t javautiL Arra y List;o上im po r t c om.d uj i ee a n.Stu dent;im port c o m.duji e.util.C o n n e c tionUtil;publ i c classS t udentDAO{pri v a t e sta t i c final String SQ L_GETB YL0GIN=select*from use r s whe r e lo g innam e=a ndlog i;n passw o rd=”叩二?”;r iv a te st a ti cf i nalSt ring SQ L_CHAN G ESCORE=upd ateus e r s set s c orew h ere id=叩riv ate stat i c fina1S t r in g SQL_G ET BY ID=nselec t*f r om users wher ei d二力・op r i v at es tat i cf i nal String SQL_GET ALL=Hs elect*from usersw here st atu s=0and s c o r eOn;〉pr i vat est at i c fi n alStr i ng SQ1_S0RT=s elect*from usersw he re s tat u s=0and sco r e0ord erb ysc o r e descn;opubl i c ArrayListStude n tg e t S ortthrows SQ L E x ce p tio n{a Array List Stu d ent stu L i s t=new Arra;yLis tS t u d e nt8conn e ction con=n u11;;Pre p aredSt at e m e n t ps=n ull;6R esult S e t rs=n u11tr y co n=Connect i onUt i
1.g e t C o n n e ction;o o p s=co n.prepare S tatemen t SQ1_S ORT;o”s=ps.e xecuteQue ry;匕h ile r s next{Student s tu=n ew Student;;s tu.setld r s.ge t In t id;g stu.s e tName rs.ge t S t rin gname”“o st u.s etS c orer s g e tin tn s core;o;stUo setStuidr s.getl n t stuid”stuListo addstu;“};r e tu r n s tuLi st}c atch SQLE x c e p tion e{o e.p r in t StackT r ace;;at h row e8}fi n all y{;o ors.cl o seo opsc1o s e;g con.clo s e;0〈〈^public Arr ayList S tud e n tg e tA11t h rows SQLE xce pt i o n{ArrayLis tSt udent stuLi s t=new;;Array ListStude n t Con nec tio n con=nullP r e p ar edStat e m ent p s=n ul1;Resul tSet rs=nu11;try“con=C onnect i o n UtiLge t Connectio n;叩s=cono pr e p a reStatementSQL_GETALL;o rs=pso exe cut e Query;w hiler snext{o^Studen t s tu=n ewS tude n t;;o stu.setld r sg e tinti doos tUo setNamer s.g e tS t rin g”name;;oooostuo s etScorers.getint scoreost u.s etStuid rs getln tn stui d;o“stu Lis t.add stu;000};“re tu rn s tuL is to}c atehSQL Excep t io ne{e pri n tS tackTr a ce;;gothrow e8}f inally{rs.clos e;;ops closecon.clos e;力}publi c Stu dentg etByLoginStri n glog inName,St ring1ogin Pwd t h r o ws S Q LExce p tion{8con n ectio neon=nul1;o P r eparedSt a temen t ps=n ull;oResu1tSe trs=nul1;try{con=C onn e cti o nUtiLg etConn ec t i o n;80Ps=con.prepa reStatemen tS QL_GETBYL0GIN;o叩s.setS trin g1,1o gi nName;08Ps.set Str i n g2,1o gi nPwd;;o ors=p s.e xe cuteQu e ry o whi1e rso next{;Student s tu=n ewStu d ent^stUo setldrs o getlntid;s tu os etNa mersgetS tr i ng nn a m en;o st u os etScore rs.getlnts co r e;o;stu.setStuidrs.get I nt s t uid;or etum stu°};return n ullo}ca tch SQLExcep t ione{;o ep r i n t StackTraceoh row e;o}f i n ally{;*rs.clo s e6ps.closeQ;^con.close;0}}p u b lieboolean c h ang e Sco rei n tid,in tsc ore thr ows SQL Except io n{o C o nnec tion c on=n ull;;^Pre p ar edStat emen t ps=nul10try o o con=ConnectionUtil.get C o nne ctio n;;ps=con.prepar e S tatementSQL_C HANGESCOREps.se t Int1,score;;“pso set I nt2,i dint res u1t=ps.e xecuteUpdate;o oi fre s u1t0{return true;}else{;o r etu rn fa Ise00];;o}c atch SQLExceptione{^e.printS ta c kTr a c eo th row e}fina11y{;p s.close8con.c los e;0°;^public StudentgetBy I d in ti dt hrowsS QLEx c eption{o Connection con=null;o Prep a redS tatement ps=null^ResultSet rs=nu11;*ry{con=Con nec ti onU til.g etCon nec tion;;68Ps=con.prepareS tat emen t SQL_GE TB YID80Ps.setI ntl,i d;;rs=ps.executeQueryo whi1er s.next{8st u den ts tu=newStud ent;“os t Uo se tldrso g etInti d;^stu.setName rs.getSt rin gf,name n;os tUo setS cor ers.g etlnt99sco r e;os tUose tStui dr So g etints tuidn;;o bretu rn stu0;6return nu11}c ateh SQLEx ceptione{e.printStackT race;o thr owe;o}finally{;o rsoc1oseg叩;s.clo seo con close;o°}用户登录页面的实现3packa g e com.du ji edao;im po r tj a va s ql.Connec ti on;;i mport j a va.s ql.PreparedStat emen timportj a va.s q
1.ResultSet;impor t java sq1SQLExce ption;o;im port c om.duji eutilo ConnectionU tilop u b lieclas sLo ginDA0{p ri vate static finalStri ngSQL_CHEC K=se1e ct*from u serswhe reloginnamean dlogi=”;npasswor d叩ub1ic intlo ginCheckString logi n Name,String loginPwdthrows Exc ept ion{“Con nect ion con=nu11;;PreparedS tat ement ps=n ullResu1tSe trs=null;二一int res u1t1;ot ry{;o con=Conne ctionUtil.getC onnect ion8Ps=co n o p rep a reSta tement SQL_C HECK;;pso setStringl,lo gi nName;ops setStri ng2,log inP wd好s=ps executeQuery;g°whi1erso ne x t{o re suit=r So g etInt9,sta tus;oretu rnres u1t;“vet um r esult;o}c atc hSQL Exce ptione{ae.pr in tSta ck Trace;throw e;o}f inally{;8rs.close08Ps.close;o oconclose;8}^public static void ma inStr ing[]a r gs throw s Exc ept ion{loginDA0login=ne w Lo ginD A0;oSy st em out.p rintlnlogin.loginCheckH123”,”123;0的实现4JavaBe an代表用户登录信息的类的类名为该类包含个私有属性Jav aBean“Studen t”5“i d”“name”“score”及其每个属性的方法它的实现代码如下;“stuid”“Id”set,getpa ck a ge com.duji ebeanoP ub liec1ass Stu dent{;pri v ate intidpr i vateSt ring name;叩rivat ein tscore;叩;ri vate intstuidpu b lie intg etId{o ret urnid;}^public vo i d setld intid{;^thiso i d=i d}pub1i c Strin gg etNam e{a retur nname;p ubl icv oi d setName Str ing n a me6th is.na me=nam e;pub1ic intgetSc ore{etu rnsc o re;o}pub1icvoi d setScoreintscore{0thi Sosc ore=sco re;}叩ublie in t get Stuid{;8r eturns tui d^public voi dsetStuidin tstuid{}t hi Sostu id=stu id;实现5ActionStu d ent Ac t ion:pa ckage com d uji e a ct ion;o;import java.sq
1.SQLEx c epti on;import javax servlethttp.HttpServ1etRe q u esto;imp ort orgo a pache struts2Servlet ActionC ontextoimport com.d ujie b ean.Stud ent;o impo rtcom dujiedao Stud entDAO;opub1ic cla s s Stu d ent Acti on{叩riv ateS trings cor e;叩ub1icString chang eSc orethro wsNumbe rFo rma tExcepti on,SQLExc eption{o HttpServletR e q u est req uest=Serv1etA ctio nContextogetR e qu est;intid=Integ er req ues to getS e ssion.ge tAttri bu tei d;o Stu dent DA OstuDA0=new Stu dent DAO;o S y stem.o u to p rintl nscore+n:n+id;8stuDAO oc hangeScore id,Integer.pa rse Intt hisscor e;^retur nnchang eScor e”;}p ublic Str i ng sort th rows SQLException{aSt udentD AOstuDAO=ne wStu dentDAO;3HttpServletRe quest req uest=S er v1et Ac tionContex tg etRequest;deques tg etSessionsetA t to oor ibutenlist,stuDAOo getSort;ereturn nsort”;public String getSco re{o returnsc ore;p ublic voidsetS coreS tringscore{thiso score=score;}Loginac t ionpack a ge com.d ujieac ti on;import java xo serv letoht tp.H ttpS ervle tReq uest;imp orto rgo a pache strut s2Se rv1e tActionCont ext;;im port com.d uj iebean.Studentoimp ort com°duji edao.Login DAO;oimport com.duj ie.dao.StudentDA0;public classLogin Action{;p rivateSt ring loginNamepr i vateStringpassw ord;public St ringexecu tethrowsExcepti ono Lo g inDAO1oginDAO=newLo ginDAO;o Stud e ntDAOstuDAO=new Student DA O;System,o ut.println thisloginName+,9+thisp a ssword;;aints tate=1o ginDAOlo ginCheck thi s.1ogi nName,this.pass word“i fst ate==1{oo Ht tpS ervletRequest req uest=S ervletActionCo ntext.getRequest;request,g etSes sion.setAttri buteM1istH,stuDAOo getA11;^retu rn nadmino}e1seifst ate==0{“Studentstu=st uDA0g etByLogi n1ogi nNa me,passwor d;ooH ttpServl etRe questrequest=ServletA ctionCon texto getRequest;orequest.getSe ssion;setAt tributeid”,stu getId“re turn student”;oo}el se{”;o^retur nf ai1ed6}pub1icSt ring getLoginName{;e turnlo gi nName°pu bli cvo idsetLog inName Strin gloginNam e{thiso1oginNam e=1o ginName;p ublieString get Passwor d{oreturnpass wor d;p ubl icvoidsetP ass w ord Strin g p asswor d{^thiso pa sswor d=passwor d;}酉己置6st r u tSox m1xm1ve rsion=10n enc oding=U TF一8?〉!D OCTYP Estruts PU BLICn-//Apac heSo ftware Fo undati on//DTD St rutsC onfig u ration
2.0//EN”一http//st ruts.ap ache.or g/dtds/struts
20.dtd”oo!------STAR TSNIPPET:xworkSamp1e--strutso packagen ame=H stru ts”ext en ds=,5st ruts-def auIt”namespac e=/acti on”〉action name=loginclass=comduji eact ion LoginActionHoores uIt n ame=nadm inn/WEB—INF/a dmin.jsp〈/result〉res ult nam e=stude nt/WEB—INF/studen t.jsp/r esu1t〈〈〉resu1t name=fa i1ed”/index jsp/resu1tB々actionoaction name=Hstuc1ass=com.dujie act ion.StudentActi on”〉ooresult nam e=changeSco ren/WE B-IN F/studen t.jsp〈/resu1tre sultname=so rt,9/WEB-IN F/adm in.jsp/resuIt〉/actio n/pac kage〉/strut s配置:7o weboxml?〉xm1ver s ion=L0encodi ng=U TF—8web-app version=
2.5”sun.com/xml/ns/jav a ee”o一ox mlns:x si=h ttp//001/XM LSch emai nstancexsi:schem aLoc ationh ttp://java.s uncom/x ml/ns/ja vaeeoht tp://java.su no com/xm1/ns/j avaee/we b-ap p_2_5xsdnof i1terfilt er-nam est ruts2/filter-name B8fi1ter-c1assorg apache.struts
2.di spateherng.filter Str uts Prepa re AndExecu teF i1t er/f ilter—oc lass/fi1tero f ilter-mappin g〉of i Iter-name st ruts2/filter-name〉/*〈/ou rl-pattern url-pat terno/filter-map pingw e Icom e-f i1e-1ist〉w e1come-f ile in dex.js p/welcom e-fi1e/w eIcome-fi1e-1is t〈/web-app总结与展望5这次项目开发培养了我们在现有技术环境下的沟通信息、分工协作、自主创新的能力.经过两个星期的开发让我们学会很多.知识和技能是要结合的,而且技能的提高需要不断的去学习设计的过程环环相扣,从分工到协作,从设计到运行,让我们收益颇多在这个过程中教训也很多,要想更好的完成软件设计任务,我们应该做好分工协作的工作,明确我设计时间13设计目的错误!未定义书签2设计任务33任务说明错误!未定义书签
1.1系统目标错误!未定义书签32O功能要求错误!未定义书签
3.3设计内容错误!未定义书签4界面构建错误!未定义书签41O详细设计错误!未定义书签4o2流程设计
4.
2.14数据库设计
4.2o2sq Iserver20005运行调试
4.
2.36主要源代码4o248O总结与展望519参考文献20们每一个软件设计流产中的职责和目标,这样才能更好的做到从冯巩到协作的跨越和融合,从而更好的完成软件开发的目标经过这次项目设计,我们也认识到我们的自主设计开发能力还很欠缺,程序设计的只是很匮乏,这也为我们以后的学习和实践提供了方向和动力参考文献[]李钟尉,马文强,陈丹丹从入门到精通[]第版清华大学出版社1Java M
12008.9[]刘万军,梁清华,王松波,宋强程序设计实践教程[]第版清华大学出版社2Java M120069成绩评定成绩教师签字设计时间
12011.
12.12-----------
2011.
12.18设计目的2本程序用于用户对学生成绩排名进行简单的管理,本程序针对于对安全系数要求不高,操作不是很复杂的小型客户开发本程序可以实现对学生信息的添加、查看、删除、成绩排名等操作,同时支持查看所有课程信息,功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低.本程序数据库采用s qlser进行数据存储,该数据库可实现关系较为简单的数据管理v er2000设计任务
33.1任务说明
(一)必备功能说明()功能描述用户以合法身份登录系统后,才能进行所有操作;登录系统时,有两种权限管理员1权限和学生用户权限管理员用户可以查看所有学生的成绩信息(假设只有一门课程),以及对所有学生的成绩进行排名;学生用户可以添加、查看和删除自己的成绩信息()添加学生成绩:学生添加成绩信息(包括学号、姓名、成绩);2()查看学生成绩:管理员可以查看所有学生的成绩,学生用户只能查看自己的成绩;3()删除成绩:学生可以删除自己的成绩;4()对成绩排名:管理员对所有学生成绩进行排名5
(二)开发语言与开发环境、数据库(、、等任选一种)MyEclipse Javasq1serve r2000mysq1orac1e3o2系统目标软件开发的意图便于用户对学生的管理,方便查看学生的情况.如用户对学生基本信息进行添加、查看、删除、成绩排名等33功能要求0学生添加自己课程成绩的功能1管理员查看所有学生课程成绩的功能2学生查看自己课程成绩的功能3学生删除学生课程成绩的功能4管理员对成绩排名的功能5设计内容44o1界面构建、为了便于各种操作,软件采用多页面的模式.用户可在不同网页进行相应操作(录入、查询、修改、1删除、显示所有信息)、主页面(显示所有信息页面)是用户进行各种操作的平台,具体操作在各个独立功能页面中完成
2、主页面的主要功能位于操作表列中,为进入各个功能窗口的唯一通道.
3、当用户在进行个别录入、删除或错误输入操作时,会弹出相应对话框提示用户如当录入成功或删4除成功,弹出成功以及相应的简明信息提示当,当录入、删除失败以及输入不当时,弹出错误以及简单的错误原因提示用户重新操作、页面布局尽量合理,各组件位置分布均匀美观
54.2详细设计
42.1流程设计0本系统采用st ruts2框架,用到了和数据库有关的最基本的方法定义,包括增删改查等.主要Actio n类与页面的设计如下:包名类名功能添加信息Ad dStudentActi on javaDeleteStud entAction删除信息javac om.ac登录验证LoginActio n.jav ationsModi fyConfirmAct io确定修改n.java修改信息Modif yStudentAct ion.java类,包含所有属性和Bean gettersc om.be an StudentSo java及setters数据库连接类,包含所有和数据库有com.d bD B.ja va关的方法定义表包与类定义1:页面名称作用登录页面Io gin jspshowStuden tSoj主要操作界面,显示所有信息和所有操作控件s p修改页面mod ifyoj sp修改成功页面S uCo jsp添加页面addSt udent.jsp表页面设计2:42o2数据库设计sq Is erver2000O表列名类型长度use rname varcha r50passwo rd var char50表管理员表设计3login姓名杜婕学号:111添加分数图登录成功页面
4.sh owStud ents.j sp排序编号学号姓名成绩1111杜婕342112张三453113李四234114小明785115小红236116阿猫877117阿狗98图添加学生信息
5.mo dify jspo添加信息成功!点击查看全部课程设计信息点击继续添加图添加学生信息成功页面
6.Suc.jsp姓名杜婕学号成绩34删除更新礴图删除学生信息
7.deI eteS tudento jsp排序编号学号姓名成绩1117阿狗982116阿猫873114小明784112张三455111杜婕346113李四237115小红23图对成绩进行排序
8.4o2o4主要源代码与数据库的连接1;pac kagecomdujie.u tilimpo rt javaio Filelnpu tStream;import java.sq1Connection;;impo rtjavasql.DriverMan age roimportjava os qlS QLException;oi mportjavautil.Prop erties;op ubli cc lassConnec tionUtil{;pri vatest at icString dr iver;p rivatestat icStringur1;privatestaticStringuserp rivates tat icStringpassword;stati c{t ry{o Pro perties pro=new Properties;“Inpu tStream fis=Connection.c lass.g et C lassLoa de rgget Reso ur ceAsSt reamjdb c.pr op erties;;p roo1oad fis//连接Oracl epr o.1oa dnew FilelnputStre amM j d bc_or acle p rope rties;“//连接My Sql//p roo1oad newFilelnputS treamj dbc_mysql.p roperties;//p ro.load newF i1el npu tStre amH../Q ueryScore/jdbc_m ysql.properties^;/A dr iver二pro getProp ertyn jdb c.dri ver;o//airl=pro.getProperty,9jdbc.ur1;//Hiser=proo getProp ert yjdbc.u sern;;//passwor d=pro.getPropert yjdbc.passwordo driver=ncom.m ysq1Jdbco Driver”;o ur1=njdb cmy sql://127o001:3306/que ryscore”;o user=H sa”;8叩assword=sa”;;o^Class.forName driver}cat ch Exceptione{;ge.pri ntSta ckT race00J}public st aticConnection getConnectionthr owsSQLE xception{^retur nD rive rM anager.getConnec tion ur1,user,password;opublic staticvoid main String[]a rgsthrowsSQL Exception{。
个人认证
优秀文档
获得点赞 0