




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
XXXX学院计算机系201 201第学期综合项目实训评定表填表时间: 201 年 月 日学号姓名专业班级实训地点实训题目信息接收发布系统实训项目介绍(包括实训项目简介,本人承担任务及完成情况,企业联系情况等)学生签名(手写): 指导教师评语指导教师签名(手写): 成绩评定任务完成情况出勤情况教师评价总成绩XXXXX学院计算机系综 合 项 目 实 训 报 告20122013第一学期实训题目: 信息接收发布系统 专业班级: 学 号: 姓 名: 指导教师: 日期: 年 月 日目录一、实训目的及要求41.1实训目的41.2 实训要求4二、设计思路42.1作品介绍42.1.1作品名称42.1.2作品大小42.1.3作品功能42.1.4技术实现42.2作品操作实践52.3 开发过程72.3.1数据库模块72.3.2前台登陆模块92.3.3前台信息接收及查看模块112.3.4后台登陆模块的实现142.3.5后台信息发布模块实现152.3.6后台信息管理模块实现162.3.7后台人员管理模块的实现18三、实训完成情况19四、实训总结19五、参考文献20一、 实训目的及要求1.1实训目的毕业实训是计算机科学与技术专业重要的实践性教学活动。 其目的是使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机专业基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社 会生活、 社会生产中应用的感性认识, 深入了解计算机在各个领域中的应用状况。 学生在实训的同时,进行一定的社会实践与调查活动。 毕业实训环节对于提高学生的综合能力和全面素质具有重要意义。1.2 实训要求通过课程设计,要求学生在指导教师的指导下,独立完成课程的设计的全部内容,包括:(1).确定开发的系统,收集和调查有关技术资料。(2).按软件工程步骤进行系统开发。(3).对系统进行测试和完善。(4).完成课程设计报告。二、 设计思路2.1作品介绍2.1.1作品名称信息接收发布系统2.1.2作品大小2.93MB2.1.3作品功能信息接收发布系统的主要功能实现包括后台管理员登录并对信息的操作及管理,通过后台发布信息,Android手机端用户登录接收并查看信息。从而实现前台与后台的相互交流。Android前台功能主要有:用户名的登录、信息的查看。后台包括管理员的登录、信息发布、信息管理(添加及删除)、关于(系统的一些介绍)。2.1.4技术实现在作品设计及实现的过程中,系统采用apache-tomcat为服务器、mysql做数据库、android作为前台、jsp为后台的模式进行设计。前台android主要运用到的技术包括、等进行布局,进行信息的显示,Intent进行页面的跳转。后台通过jsp实现信息的发布、管理及用户的管理,主要运用到的技术有css+div进行页面布局及定位,通过servlet来进行用户名与数据库的验证及处理结果。后台页面采用c/s模式进行设计。2.2作品操作实践首先,进入后台管理员登陆界面。如图:用户登陆成功,进入信息发布页面实现对信息的发布,如下图:输入所要发布的信息内容,点击“发送信息”,提示信息发送状态,如图:然后,登陆Android手机客户端进行接收信息,如图:登陆成功后接收并查看后台发布的信息,如下图:2.3 开发过程2.3.1数据库模块数据库采用当前比较流行的mysql作为数据库,数据库的名字为jnvcmis。数据库包括五张表,adminmis管理员表、friendmis好友表、infomis信息表、reply信息回复表、usermis用户表管理员表(adminmis)主要用于管理管理员的表,它包括三个属性:adminid、adminname、adminpwd,分别用于记录管理员的编号、姓名以及登录密码。具体如下图:好友表(friendmis)用来管理好友,好友表包括三个属性:username、friendnumber、remarks,用来记录好友的编号、姓名及评论。具体如下图:信息表(infomis)管理信息发布的内容content、发布时间time、发布人adminname、信息的编号infoid以及信息的主题thenum。具体如下图:信息回复表(reply)主要是用来记录信息回复的内容(replyrecord)、信息回复人(replyname)、信息回复时间(replytime)、信息编号(replyid),具体如下图:用户表(usermis)包括用户名(username)、用户编号(usernumber)、用户密码(userpwd)、用户性别(usersex)、所在部门(department)、所在状态(state)(是否在线)等属性,还有一些其他的属性。具体如下图:连接数据库的部分代码如下:DBOP.javapublic class DBOP public static Connection getConnection()Connection con=null;String JDriver = com.mysql.jdbc.Driver; / MySQL提供的JDBC驱动,要保证它在CLASSPATH里可见String conURL = jdbc:mysql:/localhost/jnvcmis;/ 本地计算机上的MySQL数据库Company的URLtry Class.forName(JDriver);catch(ClassNotFoundException cnf_e) / 如果找不到驱动类 System.out.println(找不到驱动类Driver Not Found: + cnf_e);try con = DriverManager.getConnection(conURL, root, root); / 连接数据库 catch(SQLException sql_e) / 都是SQLException System.out.println(sql_e);return con;2.3.2前台登陆模块整个前台用户登录界面采用冷色调,主要以浅蓝加白色搭配。因为考虑到时信息发布系统,所以风格仿当前比较流行的QQ设计的,延续了QQ的一些功能的同时也进行了一些简化。登录功能通过读取mysql数据库的数据进行验证用户是否是合法用户,同时也对用户的一些基本设置进行保存。例如:是否记住密码、是否隐身登陆等的设置。部分代码如下:public class MainActivity extends Activity private EditText etname, etpwd;private Button btn;private CheckBox cbpwd, cbzt;private String name, pwd;Overridepublic void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);etname = (EditText) findViewById(R.id.login_name);etpwd = (EditText) findViewById(R.id.login_password);cbpwd = (CheckBox) findViewById(R.id.auto_save_password);cbzt = (CheckBox) findViewById(R.id.hide_login);btn = (Button) findViewById(R.id.login_btn);btn.setOnClickListener(new OnClickListener() public void onClick(View v) / TODO Auto-generated method stubname = etname.getText().toString().trim();pwd = etpwd.getText().toString().trim();if (validate() String flag = query();if (flag.equals(3) showDialog(登陆失败,请检查网络); else Intent intent = new Intent(MainActivity.this,TheMain.class);intent.putExtra(name, name);intent.putExtra(nickname, flag);startActivity(intent);finish(););Overridepublic 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) AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setMessage(msg).setCancelable(false).setPositiveButton(确定, new DialogInterface.OnClickListener() public void onClick(DialogInterface dialog, int id) );AlertDialog alert = builder.create();alert.show();private String query() String queryString = username= + name + &password= + pwd;String url = HttpUtil.BASE_URL + /UserLogin + ? + queryString;String aString = HttpUtil.queryStringForGet(url);System.out.println(aString + url);return aString;2.3.3前台信息接收及查看模块Android客户端信息接收及查看采用ListView来显示信息列表,json技术来解析数据。他是一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。具体实现部分代码如下:Message.java:public class Message extends Activity private List sysmessage;private ListView messagelv;Overrideprotected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.message);messagelv = (ListView) findViewById(R.id.messagelv);try / 得到Json解析成功之后数据sysmessage = SysMessage.getListMessage();ListHashMap data = new ArrayListHashMap();for (int i = 0; i sysmessage.size(); i+) HashMap map = new HashMap();int j=i+1;map.put(j, +j);map.put(time, sysmessage.get(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(_Adapter); catch (Exception e) Toast.makeText(Message.this, 读取失败, 2000);messagelv.setOnItemClickListener(new OnItemClickListener() public void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) / TODO Auto-generated method stubHashMap map=(HashMap)messagelv.getItemAtPosition(arg2);String id=map.get(time);Intent intent=new Intent(Message.this,ShowMessage.class);intent.putExtra(id,id);startActivity(intent););private String query() String url = HttpUtil.BASE_URL + /SysMessage;String aString = HttpUtil.queryStringForGet(url);System.out.println(aString + url);return aString;public boolean onKeyDown(int keyCode, KeyEvent event) / TODO Auto-generated method stubif(keyCode = KeyEvent.KEYCODE_BACK)this.finish();return super.onKeyDown(keyCode, event);ShowMessage.java:public class ShowMessage extends Activityprivate TextView timetv,messagetv;Overrideprotected void onCreate(Bundle savedInstanceState) / TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.showmessage);timetv=(TextView)findViewById(R.id.showmessagetimeid);messagetv=(TextView)findViewById(R.id.showmessagetvid);Bundle bd=getIntent().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 aString;Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) / TODO Auto-generated method stubif(keyCode = KeyEvent.KEYCODE_BACK)this.finish();return super.onKeyDown(keyCode, event);2.3.4后台登陆模块的实现后台登陆后可以对信息的管理,包括(信息的发布、删除),同时也可以实现对好友的管理(人员信息的修改及删除)打开Web端的登录页面,登录页面通过index.jsp实现,向控制器Log.java发出请求并处理其返回信息来实现管理员的登录。实现代码如下:Log.javapublic class Log extends HttpServlet private static final long serialVersionUID = 1L;public Log() super(); / TODO Auto-generated constructor stub protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubdoPost(request,response);protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubresponse.setContentType(text/html);response.setCharacterEncoding(UTF-8);String adminname=request.getParameter(adminname);String password=request.getParameter(password);AdminDao mi=Factory.getAdminDao();boolean flag=mi.log(adminname, password);if (flag) request.getSession().setAttribute(user, adminname);response.sendRedirect(main.jsp);else/request.setAttribute(error, new String(error);response.sendRedirect(index.jsp?error=error);/response.sendRedirect(./log.jsp);/request.getRequestDispatcher(./log.jsp).forward(request, response);2.3.5后台信息发布模块实现管理员登陆系统后,跳入main.jsp该页面控制信息的发布,及发布状态(是否发送成功),当点击发送信息时该页面向Release.java发送请求,Release处理该请求,具体代码如下:Release.javapublic class Release extends HttpServlet private static final long serialVersionUID = 1L; public Release() super(); / TODO Auto-generated constructor stub protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubdoPost(request,response);protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubint y,m,d,h,mm,ss;String rtime;String rid;response.setCharacterEncoding(UTF-8);Calendar c = Calendar.getInstance();y = c.get(Calendar.YEAR); /年m = c.get(Calendar.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); String title=学院通知 +rtime; String titles=学院通知: + 年+月+日+rn; request.getSession().setAttribute(title,title); request.getSession().setAttribute(text,info); request.getSession().setAttribute(time, rtime);/System.out.println(info=+info);String adminname=(String) request.getSession().getAttribute(user);ReleaseDao rd=Factory.getReleaseDao();boolean flag=rd.release(info, rtime, adminname, rid);if(flag)response.sendRedirect(main.jsp);else/response.getWriter().print(alert(添加失败!请重新发送!););response.sendRedirect(main.jsp?aa=no);2.3.6后台信息管理模块实现登入系统后可以对信息的管理(查看和删除),当点击查看超链接时,页面跳转到messagesearch.jsp从而实现对信息的查看;当点击删除超链接时,页面向MessageDel.java发送请求,MessageDel将处理的结果返回到message.jsp。具体代码如下:messagesearch.jsp信息查看 信 息ID:管 理员:发布时间:信息内容:!- 信 息ID: 管 理员: 发布时间: 信息内容: -MessageDel.javapublic class MessageDel extends HttpServlet private static final long serialVersionUID = 1L;public MessageDel() super();/ TODO Auto-generated constructor stubprotected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubrequest.setCharacterEncoding(UTF-8);response.setCharacterEncoding(GB2312);String op = request.getParameter(op);if (del.equals(op) String usernumber = request.getParameter(cid);if(usernumber!=null)if(Factory.getMessageDao().del(usernumber)response.getWriter().print(alert(删除成功!););elseresponse.getWriter().print(alert(删除失败!););response.setHeader(Refresh,0.1;URL=message.jsp);protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stubdoPost(request, response);2.3.7后台人员管理模块的实现人员管理有show.jsp来显示,它包括两个功能:人员信息的编辑及删除。当单击编辑超链接时页面跳向usermodify.jsp,在usermodify.jsp页面中可以修改人员的一些信息,当修改完毕后,单击确认修改按钮,向UserModify.java发送请求。UserModify将处理的结果返回到show.jsp.具体代码如下:UserModify.javapublic class UserModify extends HttpServlet private static final long serialVersionUID = 1L; public UserModify() super(); / TODO Auto-generated constructor stub protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stub response.setContentType(text/html);response.setCharacterEncoding(UTF-8);String username=request.getParameter(adminname);protected void doPost(HttpServletRequest request, HttpServletResponse response) t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年房贷还息转账代办服务合同范本
- 2025年度事业单位科研助理聘用合同修订版
- 2025年农业农业资源管理技术员聘用协议
- 金融企业客户关系管理数字化升级对市场营销的影响报告
- 2025年智能电动伸缩门设计与安装一体化合同
- 2025版健身教练专业运动营养咨询合同范本
- 2025宠物领养与宠物医疗救治合作协议书
- 2025版智能交通系统工程承包合同样书
- 2025年仓储物流设备维修保养服务合同范本
- 2025版并购交易中涉及劳动合同法及社会保障法律风险评估合同
- GB/T 1508-2002锰矿石全铁含量的测定重铬酸钾滴定法和邻菲啰啉分光光度法
- GA 1800.6-2021电力系统治安反恐防范要求第6部分:核能发电企业
- 办公室主任竞聘报告课件
- 行为金融学案例
- 万科集团财务管理制度手册207
- “李可中医药学术流派论治厥阴病”-课件
- 通用技术作品设计报告
- 锚杆支护技术规范正式版本
- 下一代互联网技术
- 皮肤知识与问题性皮肤分析(入行必看)
- 单位消防安全评估报告(模板)
评论
0/150
提交评论