网页登陆界面论文

  • 格式:doc
  • 大小:400.50 KB
  • 文档页数:25

武汉工程大学计算机科学与工程学院毕业实习报告专业软件工程班级01学号1005100120学生姓名王冠豪指导教师牛志梅(讲师)2013~2014学年第2学期实习时间2014.2.24至2014.3.14 实习成绩武汉工程大学计算机科学与工程学院制说明:1、实习指导教师由学院校内教师担任,负责组织实习、学生管理、参加实习答辩、实习成绩评定、给出实习评语等工作。

2、实习报告由武汉工程大学计算机科学与工程学院提供基本格式(适用于学院各专业),各专业教研室和指导教师可根据本专业特点及实习内容做适当的调整,学生须按指导教师下达的实习报告格式认真进行填写。

3、实习成绩由指导教师根据学生的实习情况给出各项分值及总评成绩。

4、指导教师评语一栏由实习指导教师(校内教师)就学生在整个实习期间的表现给出客观、全面的评价,包括实习期间的表现、实习报告的质量、实习答辩的情况等。

5、学生必须参加实习答辩,凡不参加实习答辩者,实习成绩一律按不及格处理。

实习答辩小组应由2人及以上教师组成,其中校内指导教师必须参加,否则视作无效答辩。

6、实习报告正文字数应不少于5000字,实习日记字数不少于300字/天。

7、实习报告正文中实习目的与任务、实习地点、实习内容和要求等项,可由指导教师统一给出(自主实习除外)。

学生自主实习的,可根据实习的情况自行填写以上内容。

8、自主实习的学生还应提供由实习单位出具的实习鉴定表(复印件),与实习报告一起装订,作为参加实习答辩和评定成绩的依据。

学生姓名:王冠豪学号:1005100120 班级:01指导教师评语一、实习目的与任务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中的内容如下:<servlet><servlet-name>friend</servlet-name><servlet-class>service.FriendServlet</servlet-class></servlet><servlet-mapping><servlet-name>friend</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping>首先通过*.do找到请求,然后根据这个名字找到friend中的FriendServlet,让他去执行具体的后台处理。

在后台我们通过if语句来处理不同的请求。

注册功能的实现如下://处理注册事务//1.获取从页面传过来的数据User user =new User();user.setUserName(request.getParameter("username"));//判断用户名是否被占用boolean registed = userDao.findByUserName(user.getUserName());if(registed){//不能注册,提示用户已经被注册,跳转到注册界request.setAttribute("username_error", "用户名已经被注册"); RequestDispatcher rd=request.getRequestDispatcher("regist.jsp");rd.forward(request, response);return ;}//判断密码String pwd = request.getParameter("pwd");user.setPwd(pwd);if(pwd.equals("")){//提示密码不能为空request.setAttribute("pwd_error", "密码不能为空");RequestDispatcher rd = request.getRequestDispatcher("regist.jsp");rd.forward(request, response);return;}//判断年龄(自己编写)Pattern p= pile("\\d{1,3}");String age = request.getParameter("age");Matcher m = p.matcher(age);boolean agechecked = m.matches();System.out.println(agechecked);if(!agechecked){request.setAttribute("age_error","请输入1-3位数字");RequestDispatcher rd = request.getRequestDispatcher("regist.jsp");rd.forward(request, response);return;}else{user.setAge(Integer.parseInt(age));}String checkcode =request.getParameter("checkCode");session = request.getSession();if(!session.getAttribute("number").equals(checkcode)){request.setAttribute("checkcode_error", "验证码输入有误,请重新有误");RequestDispatcher rd = 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语句来查询数据库中是否有同用户名的人。

用到的对象初始化如下: Connection conn = null;PreparedStatement statement = null;ResultSet rs = null;conn = DBUtil.getConnection();然后执行SQL语句,返回boolean类型。

在注册功能中还有一个就是验证码的功能,为了这个功能,专门做了一个servlet,叫做CheckCodeServlet,这个servlet也一样的需要在xml文件中进行配置,代码如下:<servlet><servlet-name>checkCode</servlet-name><servlet-class>service.CheckCodeServlet</servlet-class></servlet><servlet-mapping><servlet-name>checkCode</servlet-name><url-pattern>/checkCode</url-pattern></servlet-mapping>实际上这里的功能实现原理,和上一个是一样的,只是写法不一样罢了,特别是在url-pattern中,用了一种新的写法,而不是*.do,这种方式就只能获取到form表单中src="checkCode"的请求了。