实习报告
实习性质: 顶岗实习 学生姓名: 彭杨科 专业班级: 计算机网络工程132班 指导教师: 陈顺立、张坤、刘方涛 实习时间: 2016年2月29日-2016年5月13日 实习地点: 普软件科技有限公司
重庆工程职业技术学院
.
.
学生姓名 彭杨科 实习时间 实习地点 实习名称 专业班级 计算机网络132班 指 导 教 师 刘方涛、张坤、陈顺立 2016年2月29日-2016年5月13日 普软件科技有限公司 顶岗实习 实习是每一个大学生必须拥有的一段经历,它使我们在实践中了解社会、在实践中巩固知识;实习又是对每一位大学毕业生专业知识的一种检验,它让我们学到了很多在课堂上根本学不到的知识。既开阔了视野,又增长了见识,为我们以后进一步走向社会打下坚实的基础,也是我们走向工作岗位的第一步。此次的实习我学习了弱电工程上的一系列东西,例如如何做工程预算,如何安装调试各种设备,如何管理好一个工程项目等。在做这些事情的时候,一开始十分的紧张也很胆怯,因为第一次做这些,怕做得不好导致影响全部的工程进度;但是在后来的工作过程中,通过我的不断积累与不断的探索和询问,绝大多数的工程问题我都能够应付自如。除了工程方面的东西,我还去了公司的售后服务部以及IT外包事业部。都学习到了不错的社会经验,以及工作经历。我相信通过的努力我会学到更多,做得更好。 自我总结 指导教师 意见 实习单位 意见并盖章 (院内实习由系签署) 考核等级
.
.
目录
1.前言 .......................................... 1
2.实习目的 ....................................... 1 3.实习单位简介 ................................... 1 4.实习任务 ....................................... 2
4.1相关技术简介 ....................................... 2
5.实习内容 ....................................... 3
5.1数据逻辑设计 ....................................... 4 5.2数据表结构 ........................................ 4 5.3相关技术简介 ....................................... 2
6.实习总结 ...................................... 12
.
.
1.前言
作为还没有踏入社会的大学生,面对自己未来的生活与工作,我们心中是有很多疑问的,我们特别需要到真正的工作环境中去感受一下自己几年后会所从事的工作。因此在刚开学的两周时间里,学校为我们安排了生产实习,主要是让我们较深层次接触社会,运用所学的专业知识认识企业实践活动,了解企业运行环境,认识企业管理业务流程,为将来走上工作岗位打下基础。
2.实习目的
1、加强和巩固理论知识,发现问题并运用所学知识分析问题和解决问题的能力。
2、锻炼自己的实习工作能力,适应社会能力和自我管理的能力。 3、了解实习单位的计算机技术的应用情况、需求情况和发展方向及前景。
4、亲身参与项目的实际完成工作,了解计算机专业软件开发的具体流程。 5、通过实习来认识了解自己,发现不足,提前做好自己的职业规划。
3.实习单位简介
杰普软件科技有限公司(Briup Technology, Inc. )是一家专注于高端IT培训、软件外包、研发咨询的高新技术企业。公司核心成员由海外留学人员和来自Sybase、亚信、Sun等国际大公司的资深技术人员组成,在电信、金融、电子商务等方面有着丰富的专业开发、管理和培训经验。公司全面致力于开展以面向外企、电信、金融等行业为主的中高级软件人才培训及人才外包业务。公司经过多年运营,先后为浦东软件园、徐汇软件园、漕河泾软件园、天地软件园、南京雨花软件园等提供数千名软件开发人员,同时成为全国首家专业软件外包园区---龙软园区最为紧密的合作伙伴,为园区专业提供软件外包人才。上海紧缺人才办公室指定的高端IT培训基地 2007年度获得“促进上海信息化建设奖” 2007年度、2008年度最受网友推崇的IT培训品牌百家高校指定的专业实习孵化基地首家与“211工程”大合培养软件工程硕士的培训机构首家提出“优质就业”理念的IT培训机构国内首家面向大学生提供免费JAVA集训的IT公司。
公司业务: IT培训:A)DPS人才培训项目:高级JAVA软件开发实训/职业规划及入职培训。B)企业培训项目:企业客户定制开发课程/软件开发/项目管
.
.
理
软件外包:提供软件开发服务和人力资源外包服务。 研发咨询:提供专业的研发管理咨询服务 公司文化:诚信、专业、 和谐、创新
公司资质:公司成立于2006年,注册资金100万人民币,是上海市人事局许可的高级人才培训中心。同时也是上海市紧缺人才办公室培训基地。
4.实习任务
基于B/S架构下的网络聊天室系统。
4.1相关技术简介
B/S结构
B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器,如Netscape Navigator或Internet Explorer,服务器安装SQL Server、Oracle、MYSQL等数据库。浏览器通过Web Server 同数据库进行数据交互。
MySQL
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。
MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非
.
.
洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。
MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。
2.4.2 MyEclipse
MyEclipse,是在eclipse 基础上加上自己的插件开发而成的功能强大的企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错。MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。MyEclipse打开,新建项目,保证mysql和tomcat服务能够正常启动,项目才可以正常运行。
MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSP,CSS,Javascript,Spring,SQL,Hibernate。
MyEclipse 是一个十分优秀的用于开发Java, J2EE的 Eclipse 插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse可以支持Java Servlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。可以说MyEclipse是几乎囊括了目前所有主流开源产品的专属eclipse开发工具。
5.实习内容
基于B/S架构下的网络聊天室系统。
需求分析:
系统功能需求根据用户对象的不同分为普通会员功能的需求和管理员对功能的需求两部分。
普通会员对功能的需求: 新用户注册 取回密码 在线发送消息 修改个人基本信息
.
.
离开聊天室
管理员对功能的需求: 用户管理
浏览所有用户信息 查找用户 用户权限分配 删除不合法用户
踢人
5.1数据逻辑设计
ID ChatRoom ChatFrom ChatTo ChatTime ChatAction ChatContent Secret Chat N 1 Users ID UserName UserPassword LoginTime UserSign 1 1 Userlist ID ChatRoom UserName ChatTime DenyRoom DenyTime
图1 聊天室系统数据表关系图
5.2数据表结构
表1 chat表
表头 ID ChatRoom ChatFrom .
类型 bigint varchar varchar 长度 20 50 50 是否允许为空 否 是 是 是否主键 是 否 否 描述 用户编号 聊天室 聊天信息发送人 .
ChatTo ChatTime ChatAction ChatContent Secret
varchar datetime varchar varchar tinyint 50 - 50 200 1 是 是 是 是 是 否 否 否 否 否 聊天信息接收人 信息发送时间 聊天表情 聊天信息内容 悄悄话
表2 users表
表头 ID UserName UserPassword LoginTime UserSign 类型 bigint varchar varchar bigint varchar 长度 20 50 50 20 50 是否允许为空 否 是 是 是 是 是否主键 是 否 否 否 否 描述 用户编号 用户名 密码 登录时间 个性签名
表3 userlist表
表头 ID ChatRoom UserName ChatTime DenyRoom DenyTime 类型 bigint varchar varchar bigint varchar bigint 长度 20 50 50 20 50 20 是否允许为空 否 是 是 是 是 是 是否主键 是 否 否 否 否 否 描述 用户编号 聊天室 用户名 信息发送时间 封禁的聊天室 封禁的时间 数据库连接类Open_DB.java
5.3.数据库建立
package chat;
import java.sql.*;
.
.
public class Open_DB {
//数据库用户名
String userName=\"root\"; //数据库密码
String userPassword=\"123456\"; String
//数据库的URL,包括连接数据库所使用的编码格式
url=\"jdbc:mysql://localhost:3306/chat?useUnicode=true&characterEncoding=UTF8\"; //定义一个连接对象
Connection dbConn; String errDesc;
//错误信息串 { }
//连接数据库
public Connection getConn() {
.
public Open_DB()
//初始化操作 errDesc=\"\"; dbConn=null;
try {
}
catch(Exception ex) { }
return dbConn;
System.out.println(\"数据库连接失败!\"); dbConn = null;
errDesc=ex.toString();
//声明所用的类包
Class.forName(\"com.mysql.jdbc.Driver\");
//获得数据库的连接对象
dbConn= DriverManager.getConnection(url,userName,userPassword);
.
}
//获取错误信息
public String getErrDesc() { } }
return errDesc;
重写数据库请求操作方法类Excute_DB.java
package chat;
import java.sql.*;
//这个类继承自Open_DB雷
public class Execute_DB extends Open_DB {
//数据库连接对象
private Connection dbConn; private Statement stmt; private ResultSet rs; //描述 错误号 0=无错误,-1有错误
private int errNum; //error 描述 错误信息 private String errDesc;
{
.
//初始化操作 public Execute_DB()
}
dbConn = super.getConn(); stmt = null; rs = null; errNum = 0; errDesc = \"\";
//执行sql 执行语句,主要是执行插入和删除的SQL语句 public boolean exeSql(String strSql)
.
{ }
//执行sql 查询语句 {
try { }
catch(Exception ex) {
stmt=dbConn.createStatement(); rs =stmt.executeQuery(strSql); try { }
catch(Exception ex) {
this.errNum=-1;
this.errDesc=ex.toString(); return false;
stmt=dbConn.createStatement(); stmt.executeUpdate(strSql); stmt.close();
return true;
}
public ResultSet exeSqlQuery(String strSql)
this.errNum=-1;
this.errDesc=ex.toString();
return rs;
}
rs = null; }
//取得错误号码
public int getErrNum() {
return errNum; }
//取得错误信息
.
.
public String getErrDesc() {
return errDesc; } }
判断用户登录信息是否完整功能docheck()
//判断用户信息是否填写完整
function docheck() { }
if(form1.UserName.value==\"\") { }
else if(form1.UserPassword.value==\"\") { }
else if(form1.UserPassword.value != form1.CUserPassword.value) { } else { }
return true;
alert(\"两次密码不一致\"); return false;
alert(\"请填写您的密码密码!\"); return false;
alert(\"请填写您的用户名!\"); return false;
判断用户登录信息功能
//设置数据格式
.
request.setCharacterEncoding(\"gb2312\"); //用户是否登录的布尔变量
.
.
boolean isLogin = true; //以微秒值返回当前时间
java.util.Date NowDate = new java.util.Date(); long l_LoginTime = NowDate.getTime(); //获取用户填写的登录信息
String str_UserName = (String) request.getParameter(\"UserName\"); String str_UserPassword = (String) request.getParameter(\"UserPassword\"); //查找提交的用户名是否存在
String strSql = \"select * from users where UserName like ResultSet rs = Ex.exeSqlQuery(strSql);
System.out.print(rs.getMetaData().getColumnCount()); if(rs.next()) {
//用户名已经存在
int i_ID = rs.getInt(\"ID\");
String str_UserPassword1 = rs.getString(\"UserPassword\"); long l_LastTime = rs.getLong(\"LoginTime\"); rs.close();
//登录成功后密码将被保存15天
if((l_LoginTime-l_LastTime)> 15*24*3600*1000) { } else { }
//用户名存在但是密码错误的情况
if(str_UserPassword.compareTo(str_UserPassword1)!=0) { } else { }
strSql = \"update users set LoginTime = '\"+l_LoginTime+\"' where Ex.exeSql(strSql); isLogin = false;
strSql = \"update users set LoginTime = '\"+l_LoginTime+\"', Ex.exeSql(strSql);
'\"+str_UserName+\"'\";
UserPassword = '\"+str_UserPassword+\"' where UserName like '\"+str_UserName+\"'\";
UserName like '\"+str_UserName+\"'\";
.
%>
} else { }
if(!isLogin) {
strSql = \"insert into users(UserName,UserPassword,LoginTime) values Ex.exeSql(strSql);
('\"+str_UserName+\"','\"+str_UserPassword+\"','\"+l_LoginTime+\"')\";
踢人功能
//获得被封ID和被封的房间
String str_ID = request.getParameter(\"ID\");
String str_ChatRoom=request.getParameter(\"ChatRoom\"); //获得当前时间
java.util.Date NowDate = new java.util.Date(); long l_DenyTime = NowDate.getTime(); //把被封人时间保存到数据库
String strSql = \"update userlist set DenyTime = '\"+l_DenyTime+\"',DenyRoom Ex.exeSql(strSql); //获得被封的用户名
strSql = \"select UserName from userlist where ID = '\"+str_ID+\"'\"; ResultSet rs = Ex.exeSqlQuery(strSql); rs.next();
String str_UserName = rs.getString(\"UserName\"); rs.close(); //显示被封人信息
= '\"+str_ChatRoom+\"' where ID ='\"+str_ID+\"'\";
退出功能
.
//获取要退出的用户信息
String str_ChatRoom = (String) session.getAttribute(\"ChatRoom\");
.
String str_UserName = (String) session.getAttribute(\"UserName\"); session.invalidate(); //从用户列表中删除用户名
String strSql = \"delete userlist where UserName like '\"+str_UserName+\"'\"; Ex.exeSql(strSql);
//在聊天室中显示该用户的离开信息
java.util.Date NowDate = new java.util.Date(); String str_NowDate = NowDate.toLocaleString(); strSql = \"insert into chat
(ChatRoom,ChatFrom,ChatTo,ChatTime,ChatAction,ChatContent,Secret) values ('\"+str_ChatRoom+\"','\"+str_UserName+\"','all','\"+str_NowDate+\"','依依不舍地','各位,我先走了,后会有期!','0')\";
%>
<%=str_UserName%> 您已经从 <% %> if(str_ChatRoom.compareTo(\"xiuxian\")==0) { } else if(str_ChatRoom.compareTo(\"yuanfen\")==0) { } else if(str_ChatRoom.compareTo(\"tantian\")==0) { } out.print(\"谈天说地\"); out.print(\"缘分天空\"); out.print(\"休闲娱乐\"); Ex.exeSql(strSql); 6.实习总结 从对项目相关的技术完全不了解,到和同学组成的团队一起克服种种困难,解决各种疑问,一起协同合作成功将软件调试成功。我的感触颇深,古语有云: . . 读万卷书,行万里路。古人将读与行并列甚至有偏重行的意味,这正是说明了实践的重要性。“实践是检验真理的唯一标准”,没有实践何来了解、进步之说。也深深的体会到大学期间为什么要安排这样的实习课程。 通过这次实习,我们基本达到了此次实习的目的,加强和巩固了理论知识,提高了发现问题并运用所学知识分析问题和解决问题的能力。锻炼自己的实习工作能力,适应社会能力和自我管理的能力。了解了实习单位的计算机技术的应用情况、需求情况和发展方向及前景。亲身参与了项目的实际完成工作,了解了计算机专业软件开发工作的具体流程。 这次实习不仅拓展了我们的眼界,更为重要的是使我们了解了所学专业的现阶段发展状况及未来发展动向。在实习最后的几天时间里,在公司工作的一个我们学校的学姐为我们上了一堂人生职业规划的课,教我们该怎么给自己一个合适的定位,同时哪些是我们应该着重学的,同时也介绍了计算机行业的发展前景,以及一些当今比较流行比较热门的技术,为我们的学习指明了方向,也将激励我们计算机专业学子更加努力地学好自己的专业知识,为今后的发展打好基础。 同时,在这段时间我得到的最大体会就是,如果一个人在社会上没有一技之长,那他是没有办法很好的活下来的。工欲善其事,必先利其器。而对于我们来说,扎实稳固的技术就是我们以后走上工作岗位,实现人生梦想、自我价值以及在竞争越来越激烈的今天立足社会的最好利器,只有不断的加强自身专业技能学习才行。所以,我会在以后的时间里努力学习,加强自己的专业能力,使自己变得更强,只有这样才能上到为国家、为社会做出贡献,下到为自己、为父母、为学校交出一份满意的答卷。 实习生活暂告一个段落,闲暇之余,我开始静静地长思。通过这次实习,我认识到只有沉下身来,静下心来认真学习,踏实做事,多用心,多动脑,才能让自身能力有好的起色。社会的竞争是激烈的,我想我们应该好好把握住大学学习的时间,充实、完善自我,全面发展,做一名出色的IT精英! .
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务