网页登陆界面论文.docx
《网页登陆界面论文.docx》由会员分享,可在线阅读,更多相关《网页登陆界面论文.docx(27页珍藏版)》请在冰豆网上搜索。
网页登陆界面论文
武汉工程大学
计算机科学与工程学院
毕业实习报告
专业
软件工程
班级
01
学号
1005100120
学生姓名
王冠豪
指导教师
牛志梅(讲师)
实习时间
2013~2014学年第2学期
2014.2.24至2014.3.14
实习成绩
武汉工程大学计算机科学与工程学院制
说明:
1、实习指导教师由学院校内教师担任,负责组织实习、学生管理、参加实习答辩、实习成绩评定、给出实习评语等工作。
2、实习报告由武汉工程大学计算机科学与工程学院提供基本格式(适用于学院各专业),各专业教研室和指导教师可根据本专业特点及实习内容做适当的调整,学生须按指导教师下达的实习报告格式认真进行填写。
3、实习成绩由指导教师根据学生的实习情况给出各项分值及总评成绩。
4、指导教师评语一栏由实习指导教师(校内教师)就学生在整个实习期间的表现给出客观、全面的评价,包括实习期间的表现、实习报告的质量、实习答辩的情况等。
5、学生必须参加实习答辩,凡不参加实习答辩者,实习成绩一律按不及格处理。
实习答辩小组应由2人及以上教师组成,其中校内指导教师必须参加,否则视作无效答辩。
6、实习报告正文字数应不少于5000字,实习日记字数不少于300字/天。
7、实习报告正文中实习目的与任务、实习地点、实习内容和要求等项,可由指导教师统一给出(自主实习除外)。
学生自主实习的,可根据实习的情况自行填写以上内容。
8、自主实习的学生还应提供由实习单位出具的实习鉴定表(复印件),与实习报告一起装订,作为参加实习答辩和评定成绩的依据。
毕业实习成绩评定表
学生姓名:
王冠豪学号:
1005100120班级:
01
类别
总分值
各项分值
评分标准
实际得分
总得分
备注
实习表现
30
10
按时参加实习活动,无旷课、迟到、早退等情况。
10
遵守实习单位纪律和安排,无违反实习单位规定的情况;听从指导教师的安排,参加各项活动,无不服从教师管理的现象。
10
按期圆满完成规定的任务,工作量饱满;能运用所学知识和技能去发现与解决实际问题,工作中有创新意识。
实习报告
40
15
实习报告文字通顺,内容翔实,论述充分、完整,结构严谨合理。
能运用所学专业知识对问题加以分析。
15
正确处理相关的数据,分析处理科学;具有收集、加工各种信息及获得新知识的能力。
5
实习报告字数符合相关要求,实习报告工整规范,整齐划一。
5
实习日记(笔记)次数及内容符合要求。
实习答辩
30
15
在规定时间内能就实习的内容进行全面完整的阐述,言简意明,重点突出,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
总评成绩:
分
补充说明:
指导教师:
(签字)
日期:
年月日
毕业实习答辩记录表
学生姓名:
王冠豪学号:
100510020班级:
01
答辩地点:
答辩内容记录:
答辩成绩
总分值
各项分值
评分标准
实际得分
总得分
备注
30
15
在规定时间内能就实习的内容进行全面完整的阐述,言简意明,重点突出,条理清晰。
15
在规定时间内能准确、完整、流利地回答教师所提出的问题。
答辩小组成员(签字):
年月日
指导教师评语
指导教师:
(签字)
日期:
年月日
一、实习目的与任务
IT行业已经渗透到各行各业,非IT业的IT人才需求也稳步增加,为解决企业IT人才需求瓶颈,满足IT企业特别是跨国公司对.NET高级软件人才的需要。
针对各类专、本科院校的一些基础扎实,有一定编程经验(能力)的大学生,本次实习在达内软件有限公司协助下制定此提高班实习计划。
通过严格按照项目的真实开发流程设计,让大学生在企业中经历体会,提高整体把握项目技能,掌握最新流行技术。
本计划以“服务社会、服务企业、服务大学生”为基本理念,结合大学相关专业学生的课程设计,实现企校合作,共同指导课程设计,以期实现学生走出教室,走向社会,通过实际的软件项目实习,让学生既完成了学科教学要求又使学生了解了企业,熟悉了培训平台。
二、实习地点
达内软件有限公司(武汉光谷龙安港汇城)。
三、实习内容和要求
3.1.实习内容:
本项目来自互联网房产交易网站开发理念,在系统中完整的展现商业应用需求需要的业务实体,业务流程。
相关互联网应用成功成熟系统可参照亿房网,搜房网。
随着人们对于网络的使用越来越多,本次毕业实习本着提高我们的动手实践能力为目标,顺应时代潮流,做一个web项目的开发,增加我们对于互联网的了解,同时熟悉一些开发环境和开发工具。
由于是第一次做web项目,所以从servlet开始,模仿一些网站的首页,做一个用户注册登录的效果,同时做一个图片文件的上传。
3.1.1环境搭建
在开始开发之前,首先要搭建好开发环境,这次选用的是Myeclipse+Mysql+Tomcat,Myeclipse可以建立web项目,编写后台功能和前台页面,Mysql负责数据的存储,Tomcat服务器负责浏览器提出的请求,然后交给后台处理。
在这其中数据库的连接是一个非常重要的步骤。
在项目中将与数据库连接相关的类放在util包中。
主要是加载驱动,然后创建连接。
在开发环境都准备好了之后,就可以开始开发了。
本次项目实现的功能主要有注册,登录,图片上传等。
3.1.2注册模块
在设计用户注册页面时,首先需要设计具体的注册填写项目,包括各种必填项目,选填项目等。
设计项目时不能盲目设计,而应参考一些规范:
1.设计项目应目的明确
设计注册填写项目时,应有明确目的。
每一个需要用户填写的内容,都应该是网站经营者需要获得的信息,而不是无聊的玩笑。
2.设计项目应精简易填
网站的注册项目应该通俗易懂。
网站所需要面对的并不只是局限于专业用户。
过于艰深的词汇可能造成用户误解,以致注册无法进行。
因此,能使用中文时尽量使用中文,能使用简单词汇,尽量少使用术语。
注册功能主要是要和数据库进行交互,使用的Mysql数据库。
在插入数据之前首先要从页面上获得数据。
该功能用jsp实现,即用一个表单将信息传到后台,然后进行验证。
当然在这之前,要通过xml配置文件,选择正确的servlet。
xml中的内容如下:
friend
service.FriendServlet
friend
*.do
首先通过*.do找到请求,然后根据这个名字找到friend中的FriendServlet,让他去执行具体的后台处理。
在后台我们通过if语句来处理不同的请求。
注册功能的实现如下:
//处理注册事务
//1.获取从页面传过来的数据
Useruser=newUser();
user.setUserName(request.getParameter("username"));
//判断用户名是否被占用
booleanregisted=userDao.findByUserName(user.getUserName());
if(registed){
//不能注册,提示用户已经被注册,跳转到注册界
request.setAttribute("username_error","用户名已经被注册");RequestDispatcherrd=request.getRequestDispatcher("regist.jsp");
rd.forward(request,response);
return;
}
//判断密码
Stringpwd=request.getParameter("pwd");
user.setPwd(pwd);
if(pwd.equals("")){
//提示密码不能为空
request.setAttribute("pwd_error","密码不能为空");
RequestDispatcherrd=request.getRequestDispatcher("regist.jsp");
rd.forward(request,response);
return;
}
//判断年龄(自己编写)
Patternp=Ppile("\\d{1,3}");
Stringage=request.getParameter("age");
Matcherm=p.matcher(age);
booleanagechecked=m.matches();
System.out.println(agechecked);
if(!
agechecked){
request.setAttribute("age_error","请输入1-3位数字");
RequestDispatcherrd=request.getRequestDispatcher("regist.jsp");
rd.forward(request,response);
return;
}else{
user.setAge(Integer.parseInt(age));
}
Stringcheckcode=request.getParameter("checkCode");
session=request.getSession();
if(!
session.getAttribute("number").equals(checkcode))
{
request.setAttribute("checkcode_error","验证码输入有误,请重新有误");
RequestDispatcherrd=request.getRequestDispatcher("regist.jsp");
rd.forward(request,response);
return;
}
user.setName(request.getParameter("name"));
System.out.println(request.getParameter("username")+",,,,"+user.getUserName());
user.setGendar(Integer.parseInt(request.getParameter("gendar"));
user.setPhone(request.getParameter("phone"));
//把数据插入到数据库
userDao.save(user);
response.sendRedirect("login.jsp");
在登录界面中做了一些验证,当然又涉及到与数据的交互,比如说通过用户名查询该用户名是否被注册过,用到了userDao中的findByUsername函数,该函数主要是通过执行SQL语句来查询数据库中是否有同用户名的人。
用到的对象初始化如下:
Connectionconn=null;
PreparedStatementstatement=null;
ResultSetrs=null;
conn=DBUtil.getConnection();
然后执行SQL语句,返回boolean类型。
在注册功能中还有一个就是验证码的功能,为了这个功能,专门做了一个servlet,叫做CheckCodeServlet,这个servlet也一样的需要在xml文件中进行配置,代码如下:
checkCode
service.CheckCodeServlet
checkCode
/checkCode
实际上这里的功能实现原理,和上一个是一样的,只是写法不一样罢了,特别是在url-pattern中,用了一种新的写法,而不是*.do,这种方式就只能获取到form表单中src="checkCode"的请求了。
由于画验证码是一个新的功能,以前没有接触过,所以此出列出CheckCodeServlet的主要代码如下:
publicclassCheckCodeServletextendsHttpServlet{
HttpSessionsession=null;
@Override
protectedvoidservice(HttpServletRequestreq,HttpServletResponseresp)
throwsServletException,IOException{
//1.设置content-type消息头,告诉浏览器,返回数据类型
resp.setContentType("image/jpeg");
//2.图片的内存映像
BufferedImageimage=newBufferedImage(80,30,BufferedImage.TYPE_INT_RGB);
//3,。
获取画笔
Graphicsg=image.getGraphics();
//4.画背景颜色
Randomr=newRandom();
g.setColor(newColor(r.nextInt(255),r.nextInt(255),r.nextInt(255)));
g.fillRect(0,0,80,30);
//5.画数字(字母)
Stringnumber=r.nextInt(99999)+"";
System.out.println(number);
session=req.getSession();
session.setAttribute("number",number);
g.setColor(Color.white);
g.drawString(number,5,15);
//6.画干扰线
g.setColor(Color.black);
for(inti=0;i<5;i++){
g.drawLine(r.nextInt(50),r.nextInt(20),r.nextInt(60),r.nextInt(20));
}
//7.压缩成jpg格式
JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(resp.getOutputStream());
encoder.encode(image);
}
}
这样一个注册模块就基本实现了,而且功能还很完善,各种检查,例如空检查、用户名已经存在,密码检查等。
3.1.3登录模块
设计合理的用户界面,编制程序,实现如下功能:
1、建立一随机文件,顺序文件或者数据库表文件,建立用户档案,预先存储一些用户的基本信息(用户名,密码,姓名等);
2、当输入“用户名”和“密码”并选择“登录”后,单击“确定”按钮,则在数据文件中去查找该用户名和密码是否均为正确。
若用户名和密码正确,则在对话框中提示“合法用户!
”,否则提示“不是合法用户或密码错误!
”,给用户提供3次输入的机会,超过3次则程序退出或进入一死循环程序执行。
我们处理的主要是表单中的内容,具体html方面,并不是这次项目关注的重点,其中form表单中的代码如下:
class="form_table"width="647"height="100">
用户名:
|
密码:
|
<%Stringerror=(String)request.getAttribute("error");%>
<%if(error==null){%>
<%error="";%>
<%}%>
red"><%=error%>
登录时,首先获得用户名和密码,然后调用findByUsernameAndPwd函数,在数据库中查询是否有这个用户,如果没有用户,则采用转发的方式页面返回登录界面,并显示出错信息,这个是在jsp页面中完成的。
该函数主要是在进行一些数据库的操作,用到了Connection,PreparedStatement,ResultSet对象,一个负责连接,一个负责执行SQL语句,一个负责返回操作结果。