Java Web开发课程设计
JavaWeb开发课程设计
一、性质、目的和任务
本课程设计是在《JavaWeb开发》课程上设置的,是巩固学生所学理论知识、培养学生动手能力并使理论与实际相结合的重要实践环节。本课程设计的目的和任务,是使学生综合应用所学知识完成软件的分析、设计、调试和总结,提高学生对JavaWeb开发的综合应用能力和解决问题的能力。
二、参考设计内容与指标要求(允许选择其它内容,要求可参此)1、参考题目:
新闻发布系统、网上书店系统、制造业(或零售业)客户关系管理系统、企业进销存管理系统、制造企业门户网站、班级网站、网上辅助教学系统
也可自己设计其它题目(难度要相当,且经过老师同意),完成系统的可行性研究、需求分析、总体设计、详细设计、编码、测试。2、总体要求
①采用面向对象的方法对系统进行分析和设计,要求掌握建模工具的使用如Rationalrose、visio,用powerDesigner进行数据库设计。②系统设计要实用(模块设计、界面设计、数据库设计)③编程简练,可用,功能全面,具有较好的健壮性
④在项目开发过程中,应该按要求编写好各种软件文档
可行性研究报告:说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。项目开发计划:为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。
软件需求说明书(软件规格说明书):对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。
概要设计说明书:该说明书是概要设计阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。详细设计说明书:着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。用户操作手册:本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。
测试计划:为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。
测试分析报告:测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。开发进度月报:该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。项目开发总结报告:软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。
软件维护手册:主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。
软件问题报告:指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软件修改提供准备文档。
软件修改报告:软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。三、计划与学时安排
1、教师介绍本课程设计的目的、内容、要求、方法和安排。2、学生完成可行性研究、开发计划、需求分析。3、教师审查,然后调整确定实施方案。
4、学生完成课程设计的系统设计、编码等环节,指导老师作必要的现场指导。5、验收。
6、撰写总结报告。7、答辩与考核
指导教师选择部分学生进行当面提问答辩,答辩既可以以语言表达的方式,也可以直接在机房中进行实际操作与调试。指导教师将综合每一学生的表现及能力进行综合评分。四、考核评估
结合学生的动手能力,独立分析解决问题的能力和创新精神,总结报告和答辩水平以及学习态度综合考评。成绩分优、良、中、及格和不及格五等。1、设计与报告20%2、软件编程能力30%3、综合解决问题能力20%4、创新能力10%5、学生答辩10%
6、态度和纪律10%分为优、良、中、及格和不及格五档。
扩展阅读:Java Web开发(jsp)课程设计
JavaWeb开发(JSP)课程设计
JavaWeb开发(JSP)
课程设计报告
题目:报价管理系统设计者:XXX专业班级:软件学号:XXXXX指导教师:XXXXX
201*年12月26日
河南理工大学计算机学院
JavaWeb开发(JSP)课程设计
报价管理系统报告书
一、系统需求背景
随着国家队采购项目的不断规范,通过招标的方式来进行商品销售已经成为主流。由于生产厂家数以千计,其产品更是种类繁多,而且商品的数量、报价和规则也是不断更新,手工的预算报价已经难以胜任。报价管理系统的产生很好的解决了这一难题,能够非常快熟的生成报价方案,具有维护方便、操作简单等特点。
该报价管理系统采用JSP+JDBC+MySQL来实现,同时还将使用MVC设计模式。其中视图层采用JSP来实现,控制层则采用Sevlert来实现,并通过JDBC来连接MySQL数据库。
该系统包括五个模块,分别是客户管理模块、产品管理模块、产品类型管理模块、订单模块以及报价模块。
其中,在数据库方面,我们需要建立数据库表,包括客户表、产品类型表、产品表、订单表和报价表。
二、系统所涉及的一些知识
2.1JSP技术
JavaServerPages技术是一个纯Java平台的技术,它主要用来产生动态网页内容。在传统的网页HTML文件中加入Java程序片段和JSP标记,就构成了JSP网页。Web服务器接收到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。JSP是基于JavaServlet以及整个Java体系的Web开发技术,利用这一技术可以建立先进、安全、快速和跨平台的动态网页。
JSP在多个方面加速了动态的Web页面的开发:
1JavaWeb开发(JSP)课程设计
程序写一次,到处可以运行。JSP在设计时,充分考虑到应用平台的无关性。依赖于Java的可移植性,JSP得到目前许多流行操作平台的支持,可在Apache、NetScape、IIS等服务器上执行。
执行速度快。JSP页面只需编译一次转化为Java字节代码,其后一直驻留于服务器内存中,加快了对JSP页面的响应速度。若不考虑JSP页面第一次编译所花的时间,则JSP的响应速度要比ASP快得多。
Java的优势。JSP技术是用Java语言作为脚本语言的。跨平台、成熟、健壮、易扩充的Java技术使得开发人员的工作在其他方面也变得容易和简单。Java语言通过提供防止内存泄漏的方法,在内存管理方面大显身手。加之,JSP为应用程序提供了更为健壮的意外事件处理机制,充分发挥了Java的优势。
JSP标签可扩充性和跨平台的可重用性。JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,大大减少对脚本语言的依赖。由于定制标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复杂程度。JSP组件(企业Javabeans,JavaBeans或定制的JSP标签)都是跨平台可重用的。Javabeans和企业Javabeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。
2.2JDBC
JDBC由一组Java语言编写的类和接口组成,使用内嵌式的SQL,主要实现三方面的功能:建立与数据库的连接,执行SQL声明以及处理SQL执行结果。JDBC支持基本的SQL功能,使用它可方便地与不同的关系型数据库建立连接,进行相关操作,并无需再为不同的DBMS分别编写程序。
2.3MySQL
MySQL是一个多用户、多线程的SQL数据库,是一个客户机/服务器结构的应用,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。MySQL的快速和灵活性足以满足一个网站的信息管理工作。因为许可证的灵活,任何人都可以以任何目的免费使用,修改,和分发PostgreSQL,不管是私用,商用,还是学术研究使用。命令执行速度快,也许是现今最快的;简单有效的用户特权系统。MySQL使用完全免费,使得其运用范围更加广泛。
2JavaWeb开发(JSP)课程设计
2.4TOMCAT
Tomcat服务器是ApacheGroupJakarta小组开发的一个免费服务器软件,适合于嵌入Apache中使用,而且,它的源代码可以免费获得,你可以自由地对它进行扩充。Tomcat服务器的兼容性很好,如WebLogic服务器采用其为Web服务器引擎,Jbuilder将其作为标准的测试服务器,Sun公司也将其作为JSP技术应用的示例服务器。但是Tomcat服务器有众多大软件公司的支持,而且服务器的性能稳定,其发展前景很好。
2.5Eclipse
Eclipse是一个非常优秀的集成开发环境,它旨在简化用于多操作系统软件工具的开发过程,可以用于管理多种开发任务,其中包括测试、性能调整以及程序调试等,而且还可以集成来自多个供应商的第三方应用程序开发工具。通过集成大量的插件,Eclipse的功能可以不断扩展,以支持各种不同的应用。
Eclipse平台是一个成熟的、精心设计的、可扩展的体系结构,其组成结构如图所示用Eclipse开发的插件,可以适应多平台的需要,且具有良好的可扩展性和灵活性。
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
2.6MVC设计模式
设计模式是面向对象的程序设计人员用来解决编程问题的一种形式化表示。本系统开发采用目前一种目前广泛流行的软件设计模式MVC。MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征。
3JavaWeb开发(JSP)课程设计
这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。
MVC模式的出现,很好的解决了传统开发WEB应用方式中存在的问题。M代表模型(Model),包含完成任务所需要的所有的行为和数据;V代表视图(View)界面,显示模型提供的数据;C代表控制器(Controller),它将模型映射到界面中,处理用户的输入并响应请求。其模型关系如图所示。在MVC模式中,三层各尽其职、相对独立,各层内部的改变不会影响到其它层,从而降低了数据表达、数据描述和应用操作的耦合度,也能更好的实现开发中的分工,加快工程进度。
MVC设计模式中的三个模式结构
视图:数据的展现。视图是用户看到并与之交互的界面。视图向用户显示
相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。
模型:应用对象。模型是应用程序的主体部分。模型代表了业务数据和业务逻辑;当数据发生改变时,它要负责通知视图部分;一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。控制器:逻辑处理、控制实体数据在视图上展示、调用模型处理业务请求。当Web用户单击Web页面中的提交按钮来发送HTML表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。
4JavaWeb开发(JSP)课程设计
三、功能需求分析
本系统是为了方便价格管理而设计的,分为五个模块:客户管理,订单管理,
产品管理,产品类型管理,报价管理模块。系统的基本功能是:商家可以通过该系统很方便对客户,订单,产品,产品类型,价格等统一管理,既方便又很节省时间,同时也提高了工作效率。里如果客户管理这一块来说,商家可以通过统一的添加方式一一添加不同的客户,然后在管理时可以通过客户编号,客户名称,电话,地址,联系人或者其他方式对客户进行查询。对于订单管理这模块,里面可以有订单编号,客户编码,产品编码,数量,订单时间,商家可以统一管理这些信息,还有专门的报价表共同以查询物品单价等等这些功能。
四、系统设计方案
整体设计方案。
如:根据系统功能需求分析,可将系统完善大致分为如下几步:(1)根据系统需要,做出系统分析;(2)根据功能分析,设计出客户管理页面;(3)对客户管理模块DAO层进行设计:
(4)添加控制器实现客户添加功能和查询所有客户的功能;
(5)对某些页面实行分页技术,因为一页不可能把所有的信息都显示出来;(6)、、、、、、、
五、系统涉及的数据库表
所使用的数据库及其字段。
5JavaWeb开发(JSP)课程设计
如:数据库安装的是MySQL5.1,根据系统功能需求分析得到如下数据库表:客户表:
列名customercode数据类型varchar(32)否允许空用户编号用户名电话地址联系人其他说明customernamevarchar(255)phoneaddressralationmanother
产品类型表:
varchar(20)varchar(255)varchar(30)varchar(255)列名producttypecode数据类型varchar(32)否允许空用户编号用户名说明pruducttypenamevarchar(100)产品表:
列名productcode数据类型varchar(32)否允许空产品编号产品类型名产品名产品区域产品所有者产品单位说明producttypetypenamevarchar(32)productnameproducingareaproductownerunitpricequantityother
varchar(255)varchar(255)varchar(255)varchar(10)Varchar(10)varchar(10)varchar(255)产品价格产品数量其他信息6
JavaWeb开发(JSP)课程设计
订单表:
列名ordercodecustomercodeproductcodequantityordertimeother报价表:
数据类型varchar(32)varchar(32)varchar(32)varchar(10)datetimevarchar(255)否允许空订单编号客户编码产品编码数量订单时间其他信息说明列名数据类型否允许空报价编码产品编码客户编码报价人报价时间其他说明quotationcodevarchar(32)productcodecustomercodequotationmanvarchar(32)varchar(32)varchar(32)quotationtimedatetimeother
varchar(255)写好这些数据库表,定好每个数据库表的主键,再设置好外键的连接。
五、具体功能分析
6.1客户管理模块页面设计
该页面是用户登录后所显示的初步页面,该页面包括五个模块:客户添加页面、按客户编号查询客户页面、按客户名称查询客户页面、按电话查询客户页面、按地址查询客户页面、按联系人查询客户页面、按其它查询客户页面。管理人员可以通过以上任意一种方式查询客户信息。其结果图如下:
7JavaWeb开发(JSP)课程设计
6.2客户添加
下面是部分代码:客户添加客户添加td{font-size:12px;}8
JavaWeb开发(JSP)课程设计
客户添加客户编码客户名称联系电话联系地址联系人其他9
JavaWeb开发(JSP)课程设计
(1.)在业务控制器中需要接受表单参数。
publicvoidexecute(HttpServletRequestrequest,HttpServletResponseresponse){}
(2.)接受参数
//接受参数Stringcustomercode=request.getParameter("customercode");Stringcustomername=request.getParameter("customername");Stringphone=request.getParameter("phone");Stringaddress=request.getParameter("address");Stringrelationman=request.getParameter("relationman");Stringother=request.getParameter("other");(3).封装Customer对象//封装Customer对象Customercustomer=newCustomer();customer.setCustomercode(customercode);customer.setCustomername(customername);customer.setPhone(phone);customer.setAddress(address);customer.setRelationman(relationman);customer.setOther(other);
(4.)通过DAO完成客户添加。//获得DAO实例CustomerDAOcdao=CustomerDAOFactory.getCustomerDAO();//通过DAO实例完成客户添加cdao.addCustomer(customer);6.3在查询客户信息时,首先.得添加DAO中查询所有客户的方法
publicListfindAll(){
//1.获得连接对象Connectionconn=DataBaseManager.getConnection();//2.查询SQL语句JavaWeb开发(JSP)课程设计
}StringquerySql="select*fromcustomer";PreparedStatementpstmt=null;ResultSetrs=null;Listcustomers=null;//3.通过连接对象获得预处理语句对象try{}returncustomers;pstmt=conn.prepareStatement(querySql);//4.设置参数//5.执行查询rs=pstmt.executeQuery();customers=newArrayList();while(rs.next()){}e.printStackTrace();DataBaseManager.close(rs);DataBaseManager.close(pstmt);DataBaseManager.close(conn);Customercustomer=newCustomer();customer.setCustomercode(rs.getString(1));customer.setCustomername(rs.getString(2));customer.setPhone(rs.getString(3));customer.setAddress(rs.getString(4));customer.setRelationman(rs.getString(5));customer.setOther(rs.getString(6));customers.add(customer);}catch(SQLExceptione){}finally{然后再添加业务控制器,代码如下:packagecom.ibeifeng.action;importjava.util.List;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcom.ibeifeng.dao.CustomerDAO;11
JavaWeb开发(JSP)课程设计
importcom.ibeifeng.daofactory.CustomerDAOFactory;importcom.ibeifeng.vo.Customer;publicclassCustomerFindAllextendsWebAction{}publicvoidexecute(HttpServletservlet,HttpServletRequestrequest,}HttpServletResponseresponse){//获得DAO实例CustomerDAOcdao=CustomerDAOFactory.getCustomerDAO();//通过调用cdao中查询所有记录的方法Listall=cdao.findAll();//将记录保存到request范围request.setAttribute("all",all);//设置跳转页面Stringpage="/CustomerFindAllResult.jsp";forward(servlet,request,response,page);
查询所有客户显示页面代码:查询所有客户td{}查询所有客户12
font-size:12px;JavaWeb开发(JSP)课程设计
客户编号客户名称联系电话联系地址联系人其他6.4按客户编号查询
代码如下:
13JavaWeb开发(JSP)课程设计
按客户编号查询客户td{}按客户编号查询客户客户编码font-size:12px;添加业务控制器packagecom.ibeifeng.action;importjava.util.List;importjavax.servlet.http.HttpServlet;14
JavaWeb开发(JSP)课程设计
importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcom.ibeifeng.dao.CustomerDAO;importcom.ibeifeng.daofactory.CustomerDAOFactory;importcom.ibeifeng.vo.Customer;publicclassCustomerFindByCustomerCodeextendsWebAction{}publicvoidexecute(HttpServletservlet,HttpServletRequestrequest,}//获得参数Stringcustomercode=request.getParameter("customercode");//通过调用cdao中查询所有记录的方法Customercustomer=cdao.findByCustomerCode(customercode);//将记录保存到request范围request.setAttribute("customer",customer);//设置跳转页面Stringpage="/CustomerFindByCustomerCodeResult.jsp";forward(servlet,request,response,page);HttpServletResponseresponse){//获得DAO实例CustomerDAOcdao=CustomerDAOFactory.getCustomerDAO();配置业务控制器map.put("CustomerFindByCustomerCode",CustomerFindByCustomerCode.class);
添加结果显示页面。${requestScope.customer.customercode}${requestScope.customer.customername}${requestScope.customer.phone}${requestScope.customer.address}${requestScope.customer.relationman}${requestScope.customer.other}15
JavaWeb开发(JSP)课程设计
6.5按客户名称查询
代码如下:按客户名称查询客户td{}按客户名称查询客户客户名称font-size:12px;16
JavaWeb开发(JSP)课程设计
接下来的集中查询客户的方式的添加业务控制器,配置业务控制器,添加结果显示页面的代码的实现,和上述按客户编号查询的代码是类似的,在这里就不重复了。
6.6按联系电话查询
代码如下:按联系电话查询客户td{}
font-size:12px;按联系电话查询客户JavaWeb开发(JSP)课程设计
联系电话6.7按联系地址查询
代码如下:按联系地址查询客户td{}18
font-size:12px;JavaWeb开发(JSP)课程设计
按联系地址查询客户联系地址6.8按联系人查询
代码如下:19
JavaWeb开发(JSP)课程设计
按联系人查询客户td{}按联系人查询客户联系人font-size:12px;
6.9数据库管理类和VO类
a..数据管理类封装了一些常用的JDBC操作,如获得连接对象、关闭连接对象、关闭处理语句、关闭预处理语句、关闭结果集。
20JavaWeb开发(JSP)课程设计
获得连接对象部分代码:
packagecom.ibeifeng.jdbc;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.SQLException;/**数据库管理类*/publicclassDataBaseManager{}//驱动类名称publicstaticStringJDBC_DRIVER="com.mysql.jdbc.Driver";//数据库连接URLpublicstaticStringJDBC_URL="jdbc:mysql://localhost:3306/quote";//数据库用户名publicstaticStringJDBC_USER="root";//数据库密码publicstaticStringJDBC_PASS="admin";/***获得连接对象*/publicstaticConnectiongetConnection(){}Connectionconn=null;try{//1.加载驱动类Class.forName(JDBC_DRIVER);//获得连接对象conn=DriverManager.getConnection(JDBC_URL,JDBC_USER,JDBC_PASS);}catch(ClassNotFoundExceptione){}returnconn;e.printStackTrace();e.printStackTrace();}catch(SQLExceptione){21
JavaWeb开发(JSP)课程设计
六、
总结:
通过本次的课程设计,让我自己动手进行数据库的连接、网页的设计、代码的编写与调试,加深了对这门课程的理解,更是锻炼了自己,使我从中学习到了非常多的东西。在实验中也遇到了很多问题,但是通过向老师同学询问,不断试验改错,虽然过程很辛苦,但是看着自己写的程序运行出想要的结果心里也是感到很满足。这次的设计让我很系统的运用了所学到的知识。
22友情提示:本文中关于《Java Web开发课程设计》给出的范例仅供您参考拓展思维使用,Java Web开发课程设计:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
《Java Web开发课程设计》
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/585496.html
- 上一篇:java web 编程课程总结