




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、XXXX学院计算机系201 - 201第学期综合 项目实训评定表填表时间:201 年 月 日学号姓名专业 班级实训 地点实训题目信息接收发布系统训 项 目 介(包括实训项目简介,本人承担任务及完成情况,企业联系情况等)学生签名(手写):实绍导 教 师 评 语指导教师签名(手写):指绩 评 疋成任务完成情况出勤情况教师评价总成绩XXXXX学院计算机系综合项目实训报告2012 2013 第一学期实训题目:信息接收发布系统专业班级:学号:姓名:指导教师:日期: 年 月 日目录一、实训目的及要求41.1实训目的41.2 实训要求 4二、设计思路42.1作品介绍42.1.1作品名称 42.1.2作品大小
2、42.1.3作品功能42.1.4技术实现42.2作品操作实践52.3开发过程72.3.1数据库模块72.3.2前台登陆模块92.3.3前台信息接收及查看模块 112.3.4后台登陆模块的实现 132.3.5后台信息发布模块实现 132.3.6后台信息管理模块实现 152.3.7后台人员管理模块的实现 16三、实训完成情况17四、 实训总结17五、 参考文献18范文供参考,如有帮助请下载,谢谢!实训目的及要求1.1实训目的毕业实训是计算机科学与技术专业重要的实践性教学活动。其目的是使学生们进一步加深对所学知识的理解, 理论联系实际,巩固所学有关计算机专业基础理论知识和基本技能, 学习有关计算机最
3、新技术方面的应用,增强学生对计算机在社 会生活、社会生产中应用的感性认识, 深入了解计算机在各个领域中的应用状况。学生在实训的同时,进行一定的社会实践与调查活动。毕业实训环节对于提高学生的综合能力和全面素质具有重要意义。1.2实训要求通过课程设计,要求学生在指导教师的指导下, 独立完成课程的设计的全部内容, 包括: (1).确定开发的系统,收集和调查有关技术资料。(2).按软件工程步骤进行系统开发。 (3).对系统进行测试和完善。(4).完成课程设计报告。二、设计思路2.1作品介绍2.1.1作品名称信息接收发布系统2.1.2作品大小2.93MB2.1.3作品功能信息接收发布系统的主要功能实现包
4、括后台管理员登录并对信息的操作及管理,通过后台发布信息,An droid手机端用户登录接收并查看信息。从而实现前台与后台的相互交流。An droid前台功能主要有:用户名的登录、信息的查看。后台包括管理员的登录、信息发布、 信息管理(添加及删除)、关于(系统的一些介绍)。2.1.4技术实现在作品设计及实现的过程中,系统采用即ache-tomcat为服务器、mysql做数据库、an droid 作为前台、jsp为后台的模式进行设计。前台an droid主要运用到的技术包括 、LinearLayout等进行布局,ListView进行信息的显示,Intent进行页面的跳转。后台通过 jsp实现信息的
5、发布、管理及用户的管理,主要运用到的技术有 css+div进行页面布局及定位, 通过servlet来进行用户名与数据库的验证及处理结果。后台页面采用c/s模式进行设计。2.2作品操作实践首先,进入后台管理员登陆界面。如图:信息发布管理系统Manager管理员登录请输入用户君j用户登陆成功,进入信息发布页面实现对信息的发布,如下图:翔谕知御2年讥月丹日也l M输入所要发布的信息内容,点击“发送信息”,提示信息发送状态,如图:.- F 欢輕: f9学院i2:珀济南职业学院各系郃主任下午两点*办公檯3缺宜开会済南职业学阮计算机系软件救硯宝2010杵专业然后,登陆An droid手机客户端进行接收信息
6、,如图:登陆成功后接收并查看后台发布的信息,如下图:2.3开发过程2.3.1数据库模块数据库采用当前比较流行的 mysql作为数据库,数据库的名字为jnvcmis。数据库包括五张表,adminmis管理员表、friendmis好友表、infomis信息表、reply信息回复表、usermis 用户表管理员表(adminmis)主要用于管理管理员的表,它包括三个属性:adminid、adminname、adminpwd,分别用于记录管理员的编号、姓名以及登录密码。具体如下图:字段类型整理属性Null換作Admin idvarchar(20)utf8_general_ci否HX H H E Had
7、minnam&varchar(20)utfS_general_ci否關” X嗣岡IE 0adminpvdvarchar(16)uttB_general_d否X H IS E S好友表(friendmis)用来管理好友,好友表包括三个属性:username、friendnumber、remarks,用来记录好友的编号、姓名及评论。具体如下图:字段类型整哩Ktt Null默认動卜usernumbervarchar14)utfB_general_cl111riendnumtervarchar(14)ut13_general_ci否Iffl/ X団 remarksvarchar(20)uttS_gen
8、eral_cl1NULL薦信息表(infomis)管理信息发布的内容content、发布时间time、发布人 adminname、信息的编号in foid以及信息的主题the num。具体如下图:类型整理Null趣外燥作10contenttextutf3_general_ci否HXHfflStimevarctiar(20)utf3_general_ci否mXS!SEsadminname varchar(20)utf8_general_ci否HXEISHSinfoidvarchar(18)utf9_general_d否XSISBS|r|thenumvarchar(2)utf9_general_c
9、l否DHXEISBS信息回复表(reply)主要是用来记录信息回复的内容(replyrecord)、信息回复人(replyname)、信息回复时间(replytime)、信息编号(replyid),具体如下图:类型整IS属性Null默认额外Sre ply recordvarchar(244)tf8_general_ci否03 yX08馭re olvnamevardiar(16)jtf8_general_ci否a yXE Snrepltimevarctiar(2O)tra_general_ci否園“ X圖E5函圃reply idvardiar4utf8_general_ci丕 aX用户表(use
10、rmis)包括用户名(username)、用户编号(usernumber)、用户密码(userpwd)、 用户性别(usersex)、所在部门(department)、所在状态(state)(是否在线)等属性,还有一些其 他的属性。具体如下图:类型整哩属性Null厠卜孩作usernamevarctiar10)utf3_generai_d是NULLXS3IS 曙 EEusernumbervardiar14utf_general_ci否圍XS I Suserpwdvardiar16)utf8_general_ci否iei yXS IS S|r| mcknamevarchar20utf8_gener
11、al_dgXSSEE)usersexvarchar(2)utfB_generai_dBNULLXS3ffl ffiuseragevarchar2)utf8_general_ci是NULL圍 XES 1 Ssignaturevardiar100)utf8_general_ci呈NULLE 0X閒S E 3detrimentvarchar40utfB_general_d否1 /XSIS 10 Elrolevardiar(l6)utf8_generai_d否關/XS3园厨医statevarchar8)utf8_general_ci否XSIS厨制usetimevarchar(30)ut(8_gener
12、al_d否E /X閒圍厨駐Iphotovarchar60utf8_gefieral_d是NULL1 /XIS 10 Sif readvarcharutf3_general_ci菌yXS3 H 连接数据库的部分代码如下:DBOpjavapublic class DBOP public static Connection getC onnection()Connection con=n ull;String JDriver = com.mysql.jdbc.Driver ;/ MySQL 提供的 JDBC驱动,要保证它在CLASSPAT里可见Stri ng con URL = jdbc:mysql
13、:/localhost/j nvcmis ;/ 本地计算机上的 MySQL 数 据库 Company 的 URLtry ClassforName (JDriver);catch(ClassNotFoundException cnf_e) / 如果找不到驱动类System.out.println(找不到驱动类 Driver Not Found: + cnf_e);try con = DriverManager. getConnection (conURL, root , root );/ 连接数据库catch(SQLException sql_e) / 都是 SQLExceptionSystem
14、.out.println( sql_e);return con;2.3.2前台登陆模块整个前台用户登录界面采用冷色调,主要以浅蓝加白色搭配。因为考虑到时信息发布系统,所以风格仿当前比较流行的QQ设计的,延续了 QQ的一些功能的同时也进行了一些简化。登录功能通过读取 mysql数据库的数据进行验证用户是否是合法用户,同时也对用户的一些基本设置进行保存。例如:是否记住密码、是否隐身登陆等的设置。部分代码如下:publicclassMainActivity extends Activity private EditText etname, etpwd ;private Butt on btn ;pr
15、ivate CheckBox cbpwd , cbzt;private String name, pwd ;Overridepublic void onCreate(Bundle savedInstanceState) super.o nCreate(saved In sta nceState);setContentView(R.layout. activity_main );etname = (EditText) findViewById(R.id. login_name);etpwd = (EditText) findViewById(R.id. login_password );cbpw
16、d = (CheckBox) findViewByld(R.id.auto_save_password );cbzt = (CheckBox) findViewByld(R.id.hide_login );btn = (Button) findViewByld(R.id. Iogin_btn);btn .setOnClickListener(new OnClickListener() public void onClick(View v) / TODO Auto-generated method stubname = etname .getText().toString().trim();pw
17、d = etpwd .getText().toString().trim();if (validate() Stri ng flag = query();if (flag.equals(3) showDialog(登陆失败,请检查网络”); else Intent intent = new Intent(MainActivity. this,TheMa in. class*;intent.putExtra( name, name);intent.putExtra( nickname , flag);startActivity(i nte nt);fin ish(););Overridepubl
18、ic boolean onCreateOptionsMenu(Menu menu) getMenuInflater().inflate(R.menu. activity_main , menu);return true;public boolean validate() if (name.equals() showDialog(”请输入您的账号”); return false; else if (pwd .equals() showDialog(请您输入密码”);return false;return true;private void showDialog(String msg) Alert
19、Dialog.Builder builder = new AlertDialog.Builder( this); builder.setMessage(msg).setCa ncelable( false).setPositiveButton(确定, new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int id) );AlertDialog alert = builder.create();alert.show();private Stri ng query() String q
20、ueryString = username= + name + &password= + pwd;String url = HttpUtil. BASE_URL+ /UserLogin + ? + queryString;String aString = HttpUtil. queryStringForGet(url);System.out.pri ntln( aStri ng + url);return aStri ng;2.3.3前台信息接收及查看模块An droid客户端信息接收及查看采用ListView来显示信息列表,jso n技术来解析数据。他是一种轻量级的数据交换格式,具有良好的可
21、读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而 可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。具体实现部分代码如下:Message.java: publicclassMessage extends Activity private List sysmessage;private ListView messagelv;Override protected void on Create(B un dle saved In sta nceState) / TODO Auto-g
22、enerated method stub super.o nCreate(saved In sta nceState);setContentView(R.1 ayout. message); messagelv = (ListView) findViewByld(R.id. messagelv);try /得到Json解析成功之后数据 sysmessage = SysMessagegetListMessage ();ListHashMap data = new ArrayListHashMap();for (int i = 0; i sysmessagesize(); i+) HashMapS
23、tri ng, Stringmap = new HashMap(); int j=i+1;map.put( j, +j);map.put( time , sysmessageget(i).getTime(); data.add(map); SimpleAdapter _Adapter = new SimpleAdapter(Message. this, data,R.layout.message_list, new String j, time , new int R.id.messagetvtime, R.id.messagetv );messagelv.setAdapter(_Adapte
24、r); catch (Exceptio n e) Toast.makeText(Message.this,读取失败, 2000);messagelv.setOnItemClickListener( new OnItemClickListener() public void onltemClick(AdapterView arg0, View argl, int arg2, long arg3) / TODO Auto-generated method stub HashMapmap=(HashMap) messagelv.getltemAtPosition(arg2);String id=ma
25、p.get( time);Intent intent= new Intent(Message. this,ShowMessage.class; intent.putExtra( id ,id);范文供参考,如有帮助请下载,谢谢!startActivity(i ntent););private Stri ng query() String url = HttpUtil. BASE_URL+ /SysMessage;String aString = HttpUtil. queryStringForGet(url);System.out.pri ntln( aStri ng + url); retu
26、rn aStri ng;public boolean on KeyDow n( int keyCode, KeyEve nt eve nt) / TODO Auto-generated method stubif (keyCode = KeyEve ntKEYCODE_BAC)Kthis.fi nish();return super.。nKeyDown(keyCode, event);ShowMessage.java:public classShowMessage extends Activityprivate TextView timetv ,messagetv;Overrideprotec
27、ted void on Create(B un dle saved In sta nceState) / TODO Auto-generated method stubsuper.o nCreate(saved In sta nceState);setContentView(R.layout. showmessage);timetv =(TextView)findViewByld(R.id. showmessagetimeid ); messagetv=(TextView)findViewByld(R.id. showmessagetvid); Bun dle bd=get Inten t()
28、.getExtras();String time=bd.getString( id);timetv .setText(time); messagetv.setText(query(time);private String query(String time) String url = HttpUtil. BASE_URL+ /ShowMessage +?+time= +time;String aString = HttpUtil. queryStringForGet(url); return aStri ng;Overridepublic boolean on KeyDow n( int ke
29、yCode, KeyEve nt eve nt) / TODO Auto-generated method stubif (keyCode = KeyEve ntKEYCODE_BAC)Kthis.fi nish();return super.onKeyDown(keyCode, event);2.3.4后台登陆模块的实现后台登陆后可以对信息的管理,包括(信息的发布、删除),同时也可以实现对好友的管理(人员信息的修改及删除)打开 Web端的登录页面,登录页面通过index.jsp实现,向控制器Log.java发出请求并处理其返回信息来实现管理员的登录。实现代码如下:Log.javapublic
30、classLog extends HttpServlet private static final long serialVers ionUID = 1L;public Log() super();/ TODO Auto-generated constructor stubprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti on, I OExcepti on / TODO Auto-generated method stubdoPost(requ
31、est,resp on se);protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti on, I OExcepti on / TODO Auto-generated method stubresponse.setContentType( text/html);resp on se.setCharacterE ncodi ng(UTF-8);String adminname=request.getParameter( adminname);Stri
32、ng password=request.getParameter( password);Adm in Dao mi=Factory. getAdm in Dao ();boolean flag=mi.lo g(adm inn ame, password);if (flag) request.getSession().setAttribute( user, adminname);response.sendRedirect( main.jsp); else/request.setAttribute(error, new Strin g(error);response.sendRedirect( i
33、ndex.jsp?error=error);/resp on se.se ndRedirect(./log.jsp);request.getRequestDispatcher(./log.jsp).forward(request, resp on se);2.3.5后台信息发布模块实现管理员登陆系统后,跳入main.jsp该页面控制信息的发布,及发布状态(是否发送成功),当点击发送信息时该页面向Release.java发送请求,Release处理该请求,具体代码如下:Release.javapublic classRelease extends HttpServlet private stat
34、ic final long serialVers ionUID = 1L;public Release() super();/ TODO Auto-generated constructor stubprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti on, I OExcepti on / TODO Auto-generated method stubdoPost(request,resp on se);protected void doPost
35、(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti on, I OExcepti on / TODO Auto-generated method stubint y,m,d,h,mm,ss;Stri ng rtime;String rid;resp on se.setCharacterE ncodi ng(UTF-8);Cale ndar c = Cale ndar.get In sta nee ();y = c.get(Calendar.YEAR; / 年m = c.get(Cale
36、 ndar.MONTH) + 1; / 月d = c.get(Calendar.DAY_OF_MONTH; 日h = c.get(Calendar.HOUR_OF_DAY; 时mm = c.get(Calendar. MINUTE);/ 分 ss=c.get(Calendar.SECOND);/ 秒 rtime=+y+年+m+月+d+日+h+: +mm+: +ss; rid= +m+d+h+mm+ss;String info= new String(request.getParameter( doc1).getBytes(ISO8859_1),UTF-8);Stri ng title=学院通知
37、+rtime;String titles=学院通知:+ 年+月+日+rn;request.getSession().setAttribute( title ,title);request.getSession().setAttribute( text ,info);request.getSession().setAttribute( time , rtime);/System.out.pri ntl n(i nfo=+i nfo);String adminname=(String) request.getSession().getAttribute( user);ReleaseDao rd=F
38、actory.getReleaseDao();boolean flag=rd.release(info, rtime, adminname, rid);if (flag)response.sendRedirect( main.jsp); else/respon se.getWriter().pri nt(alert(添加失败!请重新发送!););response.sendRedirect( main.jsp?aa=no);范文供参考,如有帮助请下载,谢谢!2.3.6后台信息管理模块实现登入系统后可以对信息的管理(查看和删除),当点击查看超链接时,页面跳转到messagesearch.jsp从而
39、实现对信息的查看;当点击删除超链接时,页面向MessageDel.java发送请求,MessageDel将处理的结果返回到message.jsp。具体代码如下:messagesearch.jspVDOCTYPE html PUBLIC -/W3C/DTD HTML 4.01 Tran siti on al/EN /TR/html4/loose.dtd 信息查看 信息 ID: 管理员:发布时间:信息内容:!- 信 息 ID: 管 理员: 发布时间: 信息内容:范文供参考,如有帮助请下载,谢谢! -MessageDel.javapublicclassMessageD
40、el extends HttpServlet private static final long serialVers ionUID = 1L;public MessageDel() super();/ TODO Auto-generated constructor stubprotected void doGet(HttpServletRequest request,HttpServletResp onse resp on se) throws ServletExcepti on, I OExcepti on / TODO Auto-generated method stubrequest.
41、setCharacterEncoding( UTF-8);respo nse.setCharacterE ncodi ng( GB2312);String op = request.getParameter( op);if (del .equals(op) String usernumber = request.getParameter( cid);if (user nu mber!= null)if(Factory.getMessageDao ().del(user nu mber)response.getWriter().print( alert(删除成功!););elseresponse
42、.getWriter().print( alert(删除失败! ););response.setHeader(Refresh ,0.1;URL=message.jsp);protected void doPost(HttpServletRequest request,HttpServletResp onse resp on se) throws ServletExcepti on, I OExcepti on / TODO Auto-generated method stub doPost(request, resp on se);2.3.7后台人员管理模块的实现人员管理有show.jsp来显
43、示,它包括两个功能:人员信息的编辑及删除。当单击编辑超 链接时页面跳向usermodify.jsp,在usermodify.jsp页面中可以修改人员的一些信息,当修改完毕后,单击确认修改按钮,向UserModify.java发送请求。UserModify将处理的结果返回到show.jsp.具体代码如下:UserModify.javapublicclassUserModify extends HttpServlet private static final long serialVers ionUID = 1L;public UserModify() super();/ TODO Auto-generated constructor stubprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletExcepti on, I OExcepti on / TODO Auto-generated method stubrespons
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋租赁明细合同书
- 伸缩缝安装工程施工合同
- 合同订立履行情况
- 建筑消防工程劳务分包合同
- 烟囱塔拆除施工方案
- 建筑装饰材料及施工技术考试题及答案
- 斜坡被动网施工方案
- 钢排架施工方案
- 不锈钢护栏加工合同
- 软土沉井施工方案
- 2024《整治形式主义为基层减负若干规定》全文课件
- 20以内加减法口算题(10000道)(A4直接打印-每页100题)
- 《中华人民共和国残疾人证申请表》
- 收支管理内部控制流程图
- 《企业员工培训国内外文献综述》4800字
- 《游击队歌》-完整版PPT
- 华中科技大学复变函数试题(一)
- 三年级下册数学教案-速度、时间和路程 沪教版
- 徽派建筑PPT江西婺源
- 员工试用期延长申请表
- 质量管理小组QC活动知识培训讲义122页(PPT 图表丰富)_ppt
评论
0/150
提交评论