版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学院Jsp技能训练计划(2010年至2011学年度第1学期)学院:专业:训练项目:JSP设计成员: 目录JSP实现网络通讯录 3第1章JavaWeb应用背景介绍 31.1什么是Web编程 31.2JSP简介 31.3JSP的优点 4第二章网络通讯录的实现 42.1需求分析 42.2数据库实现过程 42.3在线通讯录的实体类设计 62.4在线通讯录的功能 72.5在线通讯录MVC模式设计 72.6各阶段具体实现过程 82.6.1项目文件结构图 82.6.2用户登录的实现 82.6.3通讯录名片的插入操作 92.6.4通讯录名片的查看操作 112.6.5通讯录名片的删除操作 112.6.6通讯录名片的分类查询操作 12第三章个人总结 13个人总结 13JSP实现网络通讯录第1章JavaWeb应用背景介绍WWW是目前Internet上的主要服务类型之一,WWW的基础是基于HTML的页面,使用在HTML基础上的脚本语言进行应用程序开发,可以创建动态生成内容的Web页面。JSP是一种在服务器端编译执行的Web设计语言,其脚本语言采用Java,并继承了Java的所有优点。1.1什么是Web编程Web编程简单地说是基于WWW的Internet上的应用程序开发,随着Internet的普及与传播,越来越多的人通过WWW走进网络世界的大门。CGI(CommonGatewayInterface)应用程序的第一次引入了动态交互的概念,这些运行于服务器端的脚本程序通常用Perl语言或C语言写成,需要编译才能运行。随着Web应用程序技术的发展,CGI所引入的动态内容概念被很多新技术所实现和发展,基于程序运行的地点大致可以分为两大类:一类是随着HTML页面下载并运行于客户端的程序脚本,例如ActiveX控件,DHTML,JavaApplet和JavaScript;另一类程序是基于服务器端的技术,例如ActiveServerPage(ASP),PHP,JavaServerPage(JSP),JavaServlet等。1.2JSP简介JSP是JavaServerPage技术的缩写,是由Java语言的创造者Sun公司提出、多家公司参与制定的动态网页技术标准。通过在传统的(*.html,*.htm)中加入Java代码和JSP标记,构成后缀为*.jsp的JSP网页文件。Web服务器在遇到访问JSP页面的请求时,首先执行其中的代码片断,然后将执行的结果以普通HTML方式返回客户浏览器,JSP页面中的程序代码在客户端是看不到的。这些内嵌的Java程序代码可以完成数据库的操作、文件上传、网页重定向、发送电子邮件的等功能,所有的操作均在服务器端进行,客户端得到的仅仅是运行的结果,因而对客户浏览器的要求很低。JSP有JavaServlet技术为基础,利用可跨平台运行的JavaBeans组件,可以方便的操作数据库,执行各种复杂的查询,使逻辑处理和显示互相分离。1.3JSP的优点1.3.1跨平台运行JSP的最大优势在于平台可移植性,利用Java语言的平台无关性,任何JSP程序只要编译一次,就可以在任何服务器平台使用。1.3.2执行效率高JSP在服务器端被Java虚拟机编译成Servlet执行,编译的过程只在第一次执行时进行,以后Servlet对于每个客户端请求都使用内存中的同一副本处理,而不像CGI那样需要为每个请求创建单独的进程,而只要在Java虚拟机中装载一个Servlet,因而节省了大量的服务器资源,执行时性能优化,代码效率高。1.3.3服务器端组件支持服务器端编程语言往往由于缺少强大的服务器组件支持而受到限制,JSP使用成熟的JavaBeans技术,可以轻松得到各种服务器组件的支持。1.3.4数据库支持JSP技术利用Java语言的数据库操纵能力可以与任何JDBC兼容数据库建立连接,执行常用的查询、添加、更新、删除操作和复杂的逻辑代数。利用Sun公司开发的JDBC-ODBC桥,JSP还可以访问现有的ODBC(OpenDataBaseConnection)驱动的数据库系统。目前市场上的主流数据库产品都带有ODBC支持,所以JSP可以访问Oracle、MicrosoftSQLServer和MySQL等数据库产品。第二章网络通讯录的实现2.1需求分析由于纸制或电子形式的通讯录,携带不方便,或容易忘记等方面的缺点,所以要开发一个网络通讯录,方便用户提供使用:用户注册、登录功能登录后,显示出与当前用户相关的联系人名单添加新联系人删除联系人根据联系人类型查找联系人信息 根据以上要求,开发一个网络通讯录。2.2数据库实现过程创建在线通讯录数据库、表,数据库名为:addressBook。数据表为:USERS、BOOK.实现代码如下:Book表Users表USE[addressBook]GO/******Object:Table[dbo].[users]ScriptDate:12/29/201012:30:07******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[dbo].[users]( [userID][int]IDENTITY(1,1)NOTNULL, [userName][varchar](50)NULL, [password][varchar](50)NULL, [realName][varchar](50)NULL, [sex][varchar](50)NULL,CONSTRAINT[PK_users]PRIMARYKEYCLUSTERED( [userID]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOSETANSI_PADDINGOFFGO/******Object:Table[dbo].[book]ScriptDate:12/29/201012:30:07******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOSETANSI_PADDINGONGOCREATETABLE[dbo].[book]( [id][int]IDENTITY(1,1)NOTNULL, [name][varchar](50)NULL, [sex][varchar](50)NULL, [phone][varchar](50)NULL, [address][varchar](50)NULL, [mobilePhone][varchar](50)NULL, [company][varchar](50)NULL, [comPhone][varchar](50)NULL, [comAddress][varchar](50)NULL, [relation][int]NULL, [userID][int]NULL,CONSTRAINT[PK_book]PRIMARYKEYCLUSTERED( [id]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOSETANSI_PADDINGOFFGO2.3在线通讯录的实体类设计用户类:Users.java通讯录类:Book.java实体类实体类数据库表Users.javaBook.javaUSERSBOOK对应关系系属性对应字段2.4在线通讯录的功能用户登录验证添加新联系人删除联系人信息查找所有联系人按照类别查找联系人用户用户登录验证查找所有联系人添加联系人删除联系人分类查找联系人查询联系人2.5在线通讯录MVC模式设计模型(Model)——就是业务流程/状态的处理以及业务规则的制定。视图(View)——视图就是用户交互的界面。控制器(Controller)——可以理解为从用户接受请求,将模型与视图匹配在一起,共同完成用户的请求。2.6各阶段具体实现过程2.6.1项目文件结构图2.6.2用户登录的实现用户登录文件为index.jsp,用来实现用户的登录。用户输入用户名和密码后,提交"LoginServlet"进行验证处理,验证正确之后。实现登陆。具体代码如下:StringuserName=request.getParameter("userName"); Stringpassword=request.getParameter("password"); UserBouserBo=newUserBo(); Usersuser=userBo.valiUser(userName,password); if(user==null){ //登陆失败 PrintWriterout=response.getWriter(); out.println("<script>alert('用户名或密码错误,请重新输入!');history.back();</script>"); out.flush(); out.close(); }else{ //登陆成功 HttpSessionsession=request.getSession(); session.setAttribute("user",user); request.getRequestDispatcher("SelectServlet").forward(request,response); }2.6.3通讯录名片的插入操作实现名片的增加操作,涉及到一下页面:addBook.jsp、AddServlet.java、UsersBo.java。其中,addBook.jsp为用户所见的界面;AddServlet.java处理数据实现数据的插入,将新增名片内容写入数据库。具体代码如下:response.setContentType("text/html;charset=GBK"); Bookbook=newBook(); request.setCharacterEncoding("GBK"); book.setName(request.getParameter("name")); book.setSex(request.getParameter("sex")); book.setPhone(request.getParameter("phone")); book.setAddress(request.getParameter("address")); book.setMobilePhone(request.getParameter("mobilePhone")); book.setCompany(request.getParameter("company")); book.setComPhone(request.getParameter("comPhone")); book.setComAddress(request.getParameter("comAddress")); book.setRelation(Integer.parseInt(request.getParameter("relation"))); book.setUserID(((Users)request.getSession().getAttribute("user")).getUserID()); BookBobookBo=newBookBo(); intresult=bookBo.addBook(book); PrintWriterout=response.getWriter(); if(result>0){ //添加成功 out.println("<script>alert('添加成功');location.href='addBook.jsp'</script>"); }else{ //添加失败 out.println("<script>alert('添加失败');location.href='addBook.jsp'</script>"); } }2.6.4通讯录名片的查看操作实现通讯录的查看操作涉及到一下页面:SelectServlet.java、bookContent.jsp。其中,SelectServlet.java实现在数据库中查找信息,交给bookContent.jsp向用户展示。具体代码如下:Stringrelation=request.getParameter("relation"); BookBobookBo=newBookBo(); HttpSessionsession=request.getSession(false); if(session==null||session.getAttribute("user")==null){ response.sendRedirect("index.jsp"); }else{ Listlist=null; Usersuser=(Users)session.getAttribute("user"); if(relation!=null&&!relation.equals("")){ //根据用户ID和联系人类型查询列表 list=bookBo.selectAllBook(user.getUserID(),Integer.parseInt(relation)); request.setAttribute("list",list); }else{ list=bookBo.selectAllBook(user.getUserID()); request.setAttribute("list",list); } request.getRequestDispatcher("bookContent.jsp").forward(request,response); } }2.6.5通讯录名片的删除操作实现通讯录名片的删除操作,涉及到一下页面:DeleteServlet.java,它的作用是当用户触发“删除”按钮后,在数据库中将该条数据删除。具体代码如下:Stringid=request.getParameter("id"); BookBobookBo=newBookBo(); if(id==null||id.equals("")){ request.getRequestDispatcher("SelectServlet").forward(request,response); }else{ intresult=bookBo.deleteBook(Integer.parseInt(id)); PrintWriterout=response.getWriter(); if(result>0){ //删除成功 out.println("<script>alert(删除成功!');location.href='SelectServlet'</script>"); }else{ //删除失败 out.println("<script>alert(删除失败!');location.href='SelectServlet'</script>"); } out.flush(); out.close(); }2.6.6通讯录名片的分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 虚拟现实广告的跨媒体传播-洞察分析
- 纤维素生物质化学转化-洞察分析
- 初二期末综合评价总结(6篇)
- 天然气合成甲醇-洞察分析
- 元宇宙对时装设计影响分析-洞察分析
- 匠心筑梦技能报国三分钟演讲稿范文(10篇)
- 办公自动化技术的推广与应用研究报告
- 办公空间走向可持续的展馆模式
- 以科技为驱动的家庭财富增长路径探索
- 煤矿爆破员劳动合同三篇
- 数字化变电站的IEC61850建模
- 管道闭水试验记录表自动计算软件
- 学校综合督导汇报ppt课件
- 人流咨询话术
- 铁路建设征地拆迁补偿标准(附表)
- 农村祠堂上梁说辞
- GB31644-2018食品安全国家标准复合调味料
- 建筑施工现场安全检查的程序及要点
- 市政工程沟槽开挖与回填自动计算表
- SJ8002B电子测量原理实验指导书(V3.1)
- 2岁宝宝思维能力的发展特点
评论
0/150
提交评论