综合实训报告及成绩评定表.docx

上传人:b****5 文档编号:6695202 上传时间:2023-01-09 格式:DOCX 页数:22 大小:540.93KB
下载 相关 举报
综合实训报告及成绩评定表.docx_第1页
第1页 / 共22页
综合实训报告及成绩评定表.docx_第2页
第2页 / 共22页
综合实训报告及成绩评定表.docx_第3页
第3页 / 共22页
综合实训报告及成绩评定表.docx_第4页
第4页 / 共22页
综合实训报告及成绩评定表.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

综合实训报告及成绩评定表.docx

《综合实训报告及成绩评定表.docx》由会员分享,可在线阅读,更多相关《综合实训报告及成绩评定表.docx(22页珍藏版)》请在冰豆网上搜索。

综合实训报告及成绩评定表.docx

综合实训报告及成绩评定表

XXXX学院计算机系

201-201第学期综合项目实训评定表

填表时间:

201年月日

学号

姓名

专业班级

实训地点

实训题目

信息接收发布系统

实训项目介

(包括实训项目简介,本人承担任务及完成情况,企业联系情况等)

 

学生签名(手写):

指导教师评语

 

指导教师签名(手写):

成绩评定

任务完成情况

出勤情况

教师评价

总成绩

XXXXX学院计算机系

综合项目实训报告

2012-2013第一学期

 

实训题目:

信息接收发布系统

专业班级:

学号:

姓名:

指导教师:

日期:

年月日

目录

一、实训目的及要求4

1.1实训目的4

1.2实训要求4

二、设计思路4

2.1作品介绍4

2.1.1作品名称4

2.1.2作品大小4

2.1.3作品功能4

2.1.4技术实现4

2.2作品操作实践5

2.3开发过程7

2.3.1数据库模块7

2.3.2前台登陆模块9

2.3.3前台信息接收及查看模块11

2.3.4后台登陆模块的实现14

2.3.5后台信息发布模块实现15

2.3.6后台信息管理模块实现16

2.3.7后台人员管理模块的实现18

三、实训完成情况19

四、实训总结19

五、参考文献20

一、

实训目的及要求

1.1实训目的

毕业实训是计算机科学与技术专业重要的实践性教学活动。

其目的是使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机专业基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社会生活、社会生产中应用的感性认识,深入了解计算机在各个领域中的应用状况。

学生在实训的同时,进行一定的社会实践与调查活动。

毕业实训环节对于提高学生的综合能力和全面素质具有重要意义。

1.2实训要求

通过课程设计,要求学生在指导教师的指导下,独立完成课程的设计的全部内容,包括:

(1).确定开发的系统,收集和调查有关技术资料。

(2).按软件工程步骤进行系统开发。

(3).对系统进行测试和完善。

(4).完成课程设计报告。

二、设计思路

2.1作品介绍

2.1.1作品名称

信息接收发布系统

2.1.2作品大小

2.93MB

2.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.java

publicclassDBOP{

publicstaticConnectiongetConnection(){

Connectioncon=null;

StringJDriver="com.mysql.jdbc.Driver";//MySQL提供的JDBC驱动,要保证它在CLASSPATH里可见

StringconURL="jdbc:

mysql:

//localhost/jnvcmis";//本地计算机上的MySQL数据库Company的URL

try{

Class.forName(JDriver);

}

catch(ClassNotFoundExceptioncnf_e){//如果找不到驱动类

System.out.println("找不到驱动类DriverNotFound:

"+cnf_e);

}

try{

con=DriverManager.getConnection(conURL,"root","root");//连接数据库

}catch(SQLExceptionsql_e){//都是SQLException

System.out.println("sql_e");

}

returncon;

}

}

2.3.2前台登陆模块

整个前台用户登录界面采用冷色调,主要以浅蓝加白色搭配。

因为考虑到时信息发布系统,所以风格仿当前比较流行的QQ设计的,延续了QQ的一些功能的同时也进行了一些简化。

登录功能通过读取mysql数据库的数据进行验证用户是否是合法用户,同时也对用户的一些基本设置进行保存。

例如:

是否记住密码、是否隐身登陆等的设置。

部分代码如下:

publicclassMainActivityextendsActivity{

privateEditTextetname,etpwd;

privateButtonbtn;

privateCheckBoxcbpwd,cbzt;

privateStringname,pwd;

@Override

publicvoidonCreate(BundlesavedInstanceState){

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(newOnClickListener(){

publicvoidonClick(Viewv){

//TODOAuto-generatedmethodstub

name=etname.getText().toString().trim();

pwd=etpwd.getText().toString().trim();

if(validate()){

Stringflag=query();

if(flag.equals("3")){

showDialog("登陆失败,请检查网络");

}else{

Intentintent=newIntent(MainActivity.this,

TheMain.class);

intent.putExtra("name",name);

intent.putExtra("nickname",flag);

startActivity(intent);

finish();

}

}

}

});

}

@Override

publicbooleanonCreateOptionsMenu(Menumenu){

getMenuInflater().inflate(R.menu.activity_main,menu);

returntrue;

}

publicbooleanvalidate(){

if(name.equals("")){

showDialog("请输入您的账号");

returnfalse;

}else{

if(pwd.equals("")){

showDialog("请您输入密码");

returnfalse;

}

}

returntrue;

}

privatevoidshowDialog(Stringmsg){

AlertDialog.Builderbuilder=newAlertDialog.Builder(this);

builder.setMessage(msg).setCancelable(false)

.setPositiveButton("确定",newDialogInterface.OnClickListener(){

publicvoidonClick(DialogInterfacedialog,intid){

}

});

AlertDialogalert=builder.create();

alert.show();

}

privateStringquery(){

StringqueryString="username="+name+"&password="+pwd;

Stringurl=HttpUtil.BASE_URL+"/UserLogin"+"?

"+queryString;

StringaString=HttpUtil.queryStringForGet(url);

System.out.println(aString+url);

returnaString;

}

}

2.3.3前台信息接收及查看模块

Android客户端信息接收及查看采用ListView来显示信息列表,json技术来解析数据。

他是一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。

业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。

JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为。

具体实现部分代码如下:

Message.java:

publicclassMessageextendsActivity{

privateListsysmessage;

privateListViewmessagelv;

 

@Override

protectedvoidonCreate(BundlesavedInstanceState){

//TODOAuto-generatedmethodstub

super.onCreate(savedInstanceState);

setContentView(R.layout.message);

messagelv=(ListView)findViewById(R.id.messagelv);

try{

//得到Json解析成功之后数据

sysmessage=SysMessage.getListMessage();

List>data=newArrayList>();

for(inti=0;i

HashMapmap=newHashMap();

intj=i+1;

map.put("j",""+j);

map.put("time",sysmessage.get(i).getTime());

data.add(map);

}

SimpleAdapter_Adapter=newSimpleAdapter(Message.this,data,

R.layout.message_list,newString[]{"j","time"},newint[]{

R.id.messagetvtime,R.id.messagetv});

messagelv.setAdapter(_Adapter);

}catch(Exceptione){

Toast.makeText(Message.this,"读取失败",2000);

}

messagelv.setOnItemClickListener(newOnItemClickListener(){

publicvoidonItemClick(AdapterView

>arg0,Viewarg1,intarg2,

longarg3){

//TODOAuto-generatedmethodstub

HashMapmap=(HashMap)messagelv.getItemAtPosition(arg2);

Stringid=map.get("time");

Intentintent=newIntent(Message.this,ShowMessage.class);

intent.putExtra("id",id);

startActivity(intent);

}

});

}

privateStringquery(){

Stringurl=HttpUtil.BASE_URL+"/SysMessage";

StringaString=HttpUtil.queryStringForGet(url);

System.out.println(aString+url);

returnaString;

}

publicbooleanonKeyDown(intkeyCode,KeyEventevent){

//TODOAuto-generatedmethodstub

if(keyCode==KeyEvent.KEYCODE_BACK){

this.finish();

}

returnsuper.onKeyDown(keyCode,event);

}

}

ShowMessage.java:

publicclassShowMessageextendsActivity{

privateTextViewtimetv,messagetv;

@Override

protectedvoidonCreate(BundlesavedInstanceState){

//TODOAuto-generatedmethodstub

super.onCreate(savedInstanceState);

setContentView(R.layout.showmessage);

timetv=(TextView)findViewById(R.id.showmessagetimeid);

messagetv=(TextView)findViewById(R.id.showmessagetvid);

Bundlebd=getIntent().getExtras();

Stringtime=bd.getString("id");

timetv.setText(time);

messagetv.setText(query(time));

}

privateStringquery(Stringtime){

Stringurl=HttpUtil.BASE_URL+"/ShowMessage"+"?

"+"time="+time;

StringaString=HttpUtil.queryStringForGet(url);

returnaString;

}

@Override

publicbooleanonKeyDown(intkeyCode,KeyEventevent){

//TODOAuto-generatedmethodstub

if(keyCode==KeyEvent.KEYCODE_BACK){

this.finish();

}

returnsuper.onKeyDown(keyCode,event);

}

}

2.3.4后台登陆模块的实现

后台登陆后可以对信息的管理,包括(信息的发布、删除),同时也可以实现对好友的管理(人员信息的修改及删除)打开Web端的登录页面,登录页面通过index.jsp实现,向控制器Log.java发出请求并处理其返回信息来实现管理员的登录。

实现代码如下:

Log.java

publicclassLogextendsHttpServlet{

privatestaticfinallongserialVersionUID=1L;

 

publicLog(){

super();

//TODOAuto-generatedconstructorstub

}

 

protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

//TODOAuto-generatedmethodstub

doPost(request,response);

}

protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{

//TODOAuto-generatedmethodstub

response.setContentType("text/html");

response.setCharacterEncoding("UTF-8");

Stringadminname=request.getParameter("adminname");

Stringpassword=request.getParameter("password");

AdminDaomi=Factory.getAdminDao();

booleanflag=mi.log(adminname,password);

if(flag){

request.getSession().setAttribute("user",adminname);

response.sendRedirect("main.jsp");

}else{

//request.setAttribute("error",newString("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.java

publicclassReleaseextendsHttpServlet{

privatestaticfinallongserialVersionUID=1L;

publicRelease(

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1