Java EE项目开发实训设计说明书(原稿)
- 格式:doc
- 大小:171.50 KB
- 文档页数:8
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==javaee实验指导书篇一:java程序设计实验指导书Java程序设计实验指导书教师:董辉时间:201X.9~201X.1E-mail:181588266@亳州职业技术学院信息工程学二O一四年九月前言一、上机实验目的上机实验的目的是提高学生的分析问题、解决问题的能力和动手能力,通过实践环节理解 Java 语言的基本结构和程序设计方法。
通过亲手编程掌握 Java 语言编程的方法。
二、实验基本内容为了使学生在上机实验时目标明确,本实验指导书针对课程内容编写了 8 个实验。
学生可以在课内机时先完成指导书中给出的程序,理解所学的知识,在此基础上再编写其他应用程序。
指导书中的 8 个实验如下。
1.Java 程序运行环境安装与配置。
2.Java 基本语法的编程练习。
3.面向对象编程练习。
4.Java 包、接口和异常处理的练习。
5.常用系统类的练习。
6.窗口与菜单界面编程练习。
7.Java 多线程、图形与多媒体处理练习。
8.综合应用练习。
三、实验任务与时间安排《Java 语言》是一门实践性很强的课程,除了在课内安排的实验外,鼓励同学在课外用相关技术进行编程练习。
《Java 语言》上机实验时间为 18学时,分为三大部分:Java基础、Java核心、12目录前言 .................................................................. ..................................................................... ...................... 1一、上机实验目的 .................................................................. ........................................................... 1二、实验基本内容 .................................................................. ........................................................... 1三、实验任务与时间安排 .................................................................. ............................................... 1目录 .................................................................. ..................................................................... .................. 1实验 1 Java 运行环境的安装、配置与运行 .................................................................. ...................... 5一、实验目的 ..................................................................5二、实验要求 .................................................................. ...................................................................5三、实验内容 .................................................................. ...................................................................5(一)SDK 的下载与安装 .................................................................. ..................................... 5(二)设置环境变量 .................................................................. ............................................... 7(三)安装java 虚拟机 .................................................................. .................................... 11(四)编写Java 源程序 .................................................................. ..................................... 15(五)编译Java 源程序 .................................................................. ..................................... 15(六)运行Java 程序 .................................................................. ......................................... 16(七)安装、使用JCreator软件 .................................................................. ........................ 16(八)浏览SDK 自带的Applet 应用小程序。
J2EE编程技术实验报告书专业:软件工程指导老师:罗翌陈学号:0800350114姓名:凌浩实验一JSP网页设计一、实验目的掌握J2EE JSP+Servlet+JavaBean开发模式开发JSP网页步骤;掌握该开发模式实现用户登录页面功能。
二、实验环境PC系列微机,CPU2G以上,内存1G以上,Windows XP,MyEclipse6.5以上。
三、实验步骤1、创建Servlet LoginServlet实现登录验证编写该Servlet实现登录验证并进行配置。
2、创建login.jsp、admin.jsp、user.jsp这3个jsp的页面采用的JSP+JavaBean开发模式中相同。
3、调试程序是否正常运行四、实验报告LoginServlet.java:package com.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import erDao;import erDaoImpl;import er;public class LonginServlet extends HttpServlet {public LonginServlet() {super();}public void destroy() {super.destroy();}public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String a="123";User user=new User();user.setUsername(request.getParameter("username"));user.setUserpassword(request.getParameter("password"));user.setRole(request.getParameter("role"));UserDao userdao=new UserDaoImpl();if(userdao.login(user)){if(user.getRole().equals("admin")){request.getRequestDispatcher("Admin.jsp").forward(request,response);}else{request.getRequestDispatcher("User.jsp").forward(request, response);}}else{request.setAttribute("errormessage", "error");request.getRequestDispatcher("login.jsp").forward(request, response);}}public void init() throws ServletException {}}Login.jsp:<%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%> <%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'login.jsp' starting page</title></head><body><center><form action="Login" method="post"><h3>登录</h3><%if(request.getAttribute("errormessage")!=null){%><label style="color:red;font-size:20px;" ><%out.write("账号或密码错误");%></label><%}%><table><tr><td>账号:</td><td><input type="text" name="username" size="20"/></td></tr><tr><td>密码:</td><td><input type="password" name="password" size="20"/></td></tr> <tr><td colspan="2" align="center"></td></tr><tr><td colspan="2" align="center"><input type="submit" value="登录"/> <input type="reset" value="清空"/></td></tr></table></form></center></body></html><%@ page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%> <%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>Admin.jsp:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'Admin.jsp' starting page</title></head><body><h3 style=color:blue>登录成功</h3><hr/>用户信息:<br/>用户类型:ADMIN<br/>用户账号:<%=request.getParameter("username")%> <br/>用户密码:<%=request.getParameter("password")%> <br/></body></html>五、实验小结通过这一次实验,我基本掌握了J2EE JSP+Servlet+JavaBean开发模式开发JSP 网页步骤;掌握该开发模式实现用户登录页面功能。
Java EE 项目开发实训设计说明书姓名:佟乃坤学号: 20091130126班级: 09 软件指导教师:李红军完成日期: 2011-12-15设计要求目录一系统概述 (1)1.1开发背景 (1)1.2需求分析 (1)二系统设计 (3)2.1 系统框架设计 (3)2.2 主页面设计 (4)2.3数据库设计 (7)三系统部署运行 (9)3.1 Tomcat的安装调试 (9)3.2 系统部署运行 (9)四核心代码 (10)五总结 (12)六参考文献 (13)J2EE学生信息管理系统设计说明书一系统概述1.1开发背景当今世界,随着科学技术的不断提高,计算机科学日益成熟,其强大的功能已为人们所认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
随着计算机网络技术发展,Web数据库技术已经成为应用最为广泛的网站架构基础技术在应用系统中,Web提供了与用户进行通信联络的有效手段,利用Web技术,实现Web服务器与数据库系统的连接,完成对数据的处理与查询,用户可以通过操作简单易学的浏览器来查询处理所需要的各种数据。
学生信息的管理是学校日常工作中的重要组成部分。
高校招生规模的逐步扩大和认识制度的改革,在校学生人数将不断增加,而学生管理人员则相对减少。
加上我国高等学校基层学生管理工作量大,内容杂且多,管理要求高,传统管理办法已基本不适应新形势的要求。
在校生的基本信息的管理,选课及成绩的信息的管理,学生学籍的管理,稍有不慎就会出现错误。
同时学生成绩的手工登录与查询,是一项非常繁重而枯燥的劳动,每年课程的变化都需要重新规划,选修的课程多种多样,耗费许多人力和物力,而且会因人的情绪烦燥而出现失误。
因此在计算机飞速发展的今天,应用数据库技术实现学生信息的管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高的效率。
实现高校学生信息网上管理,既能够提高工作效率,又可以提高工作水平。
《JavaEE架构与程序设计》课程设计说明书题目:电子书城学院:计算机与信息工程学院专业:计算机科学与技术班级:姓名:学号:起止时间:2012.6.25-2012.7.6课程设计任务书一、设计题目:《电子书城》二、设计内容:完成用户管理、图书分类、搜索图书、查看购物车功能。
三、设计要求:1.掌握软件开发的基本思想和学习方法,培养团队合作能力和自学能力;2.掌握JSP技术开发流程,包括需求分析、概要设计、详细设计、编码、测试等;3.掌握大型网站的数据库设计技巧,及mysql数据库的使用;4.熟悉B/S架构软件的封装技巧,深入理解MVC的思想;5.熟悉大型购物网站的业务流程,提升学员分析能力;6.实践主流编程工具,提升JSP网站制作的动手开发能力;7.熟练使用Tomcat等中间件;8.课程设计说明书选择在线购书系统的部分功能模块,详细阐述从分析到设计实现的全过程。
本科课程设计说明书摘要Internet时代的到来已经形成了势不可挡的趋势,越来越多的人已经开始应用三大框架,而此时三大框架个性化不是原来的网页个性化,本设计首先介绍了Struts2、Spring和Hibernate三大框架相关技术,针对书店的实际需求,设计开发了一个基于SSH的小型电子商务网站(网上书店)。
在设计开发中,采用基于Browser/Server的三层数据库应用体系结构,三层结构自成体系,任何一层的变化,不需要其他另外两层的变化,适宜于任何底层操作系统。
通过对大型购物网站的业务流程的分析产生自身的理念思想,形成自己的电子书城。
并应用大型网站的数据库设计技巧和B/S架构软件的封装技巧的学习,对电子书城程序进行需求分析、概要设计、详细设计,最后使用Java编程实现的全过程。
同时形成一个功能(其中功能包括查询图书功能、管理购物车、提交订单)比较全面、系统相对稳定的电子书城。
本设计采用面向对象的软件工程的思想,介绍了网上书店的整体规划和数据库的设计,并将图书等实体封装成相应的类和与其对应的操作类,提高了对数据库操作的安全性和系统的可扩展性。
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==javaee实验指导书篇一:java程序设计实验指导书Java程序设计实验指导书教师:董辉时间:201X.9~201X.1E-mail:181588266@亳州职业技术学院信息工程学二O一四年九月前言一、上机实验目的上机实验的目的是提高学生的分析问题、解决问题的能力和动手能力,通过实践环节理解 Java 语言的基本结构和程序设计方法。
通过亲手编程掌握 Java 语言编程的方法。
二、实验基本内容为了使学生在上机实验时目标明确,本实验指导书针对课程内容编写了 8 个实验。
学生可以在课内机时先完成指导书中给出的程序,理解所学的知识,在此基础上再编写其他应用程序。
指导书中的 8 个实验如下。
1.Java 程序运行环境安装与配置。
2.Java 基本语法的编程练习。
3.面向对象编程练习。
4.Java 包、接口和异常处理的练习。
5.常用系统类的练习。
6.窗口与菜单界面编程练习。
7.Java 多线程、图形与多媒体处理练习。
8.综合应用练习。
三、实验任务与时间安排《Java 语言》是一门实践性很强的课程,除了在课内安排的实验外,鼓励同学在课外用相关技术进行编程练习。
《Java 语言》上机实验时间为 18学时,分为三大部分:Java基础、Java核心、12目录前言 .................................................................. ..................................................................... ...................... 1一、上机实验目的 .................................................................. ........................................................... 1二、实验基本内容 .................................................................. ........................................................... 1三、实验任务与时间安排 .................................................................. ............................................... 1目录 .................................................................. ..................................................................... .................. 1实验 1 Java 运行环境的安装、配置与运行 .................................................................. ...................... 5一、实验目的 ..................................................................5二、实验要求 .................................................................. ...................................................................5三、实验内容 .................................................................. ...................................................................5(一)SDK 的下载与安装 .................................................................. ..................................... 5(二)设置环境变量 .................................................................. ............................................... 7(三)安装java 虚拟机 .................................................................. .................................... 11(四)编写Java 源程序 .................................................................. ..................................... 15(五)编译Java 源程序 .................................................................. ..................................... 15(六)运行Java 程序 .................................................................. ......................................... 16(七)安装、使用JCreator软件 .................................................................. ........................ 16(八)浏览SDK 自带的Applet 应用小程序。
第一章实习目标和与要求Java程序设计是计算机网络工程专业一门重要的专业必修课。
为了进一步巩固课堂上所学到的知识,深刻把握Java技术的重要概念及其面向对象的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,开设Java程序设计的课程设计。
课程设计的任务是完成课程设计内容,写出课程设计报告。
要求学生掌握:1)掌握Java的语言规范,面向对象的核心概念和特性。
2)掌握Java的编程技术,包括异常处理,图形界面设计,多线程,网络通信程序等。
3)掌握Java应用软件的开发环境和开发过程4)掌握基于Jsp网站的开发环境和开发过程5)掌握面向对象的思想和程序设计方法。
第二章基于命令行程序开发2.1.JDK 安装从/javase/downloads/中找到JDK的下载链接,根据操作系统选择相应的版本。
Windows下可以直接执行安装源文件完成安装。
2.2.设置环境变量在桌面上的“我的电脑”上选择右键菜单中的“属性”菜单,在“高级”选项卡中单击“环境变量”。
在弹出的环境变量窗口中,选中“path”变量,然后单击“编辑”按钮。
编辑变量值,增加对JDK下bin目录的包含。
2.3.打开命令行选择开始菜单->程序->附件->命令提示符.或者在运行中输入cmd 打开命令行,如图所示2.4.编写java源代码使用记事本或者其它文本编辑器编写以下内容,然后保存为Hello.java。
public class Hello{public static void main(String[] args){System.out.println("Hello World");}}2.5.编译Java程序命令行中切换到java 源代码所在目录,然后使用“javac”命令编译上面编写的Hello.java。
示例如下:javac Hello.java编译后会生成Hello.class文件。
Java项目实训设计说明书姓名:学号:班级:指导教师:完成日期:目录第一章系统概述 (1)1.1功能介绍 (1)1.2开发技术 (1)第二章系统设计 (3)2.1 系统模块划分 (3)2.2 页面设计 (3)2.3 数据库设计 (3)参考文献 (10)学生成绩管理设计说明书第一章系统概述1.1功能介绍成绩管理成为学校教学管理中十分重要又相当复杂的管理工作之一,单纯的采用传统的手工处理已经不符合教育和管理的要求,而计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。
因此为了保证学校的信息流畅,工作高效,有必要设计一个学生成绩管理系统。
这不但能使教务人员从复杂的成绩管理中解脱出来,而且对于推动教学的发展也起到非常重要的作用。
本系统分为了二个大模块,第一个大模块是学生权限的用户模块;第二个大模块是管理员权限的用户模块。
其中第一个大模块中又分为注册模块、登录模块、学生管理模块、课程管理模块以及成绩管理模块;第二个大模块中又分为了管理员登陆模块、学生管理模块、课程管理模块以及成绩管理模块。
在第一个大模块中,用户可以进行学生权限账号的注册、登录以及在学生管理、课程管理以及成绩管理三个模块中进行相关信息的查询。
在第二个大模块中,管理员权限的用户可以进行管理员登录,并且可以在学生管理、课程管理以及成绩管理三个模块中对信息进行增删改查。
1.2开发技术本系统运用的是Java和android技术,用到的开发工具有Eclipse、PS3、MySQL数据库等。
java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。
Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
Java EE 项目开发实训设计说明书姓名:李孟学号: 20101130108班级: 10软件指导教师:李红军完成日期: 2012.6.23设计要求目录第一章系统概述 (1)1.1开发背景 (1)1.2需求分析 (1)第二章系统设计 (2)2.1界面设计 (2)2.2数据库设计.................................. 错误!未定义书签。
第三章系统部署运行.. (6)3.1 Tomcat安装 (6)3.2 部署运行 (6)参考文献 (8)图书管理系统设计说明书第一章系统概述1.1开发背景本程序用于用户和管理员进行简单的图书信息管理,本程序针对于对安全系数要求不高,操作不是很复杂的小型客户开发。
本程序可以实现对图书信息的录入、查询、修改、删除等操作,同时支持查看所有课程信息,功能完善,界面简洁美观,布局合理,操作简便,简单易用,任何人可轻松操作。
同时,本程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低。
本程序数据库采用MySQL进行数据存储,该数据库可实现关系较为简单的数据管理1.2需求分析为了适应现代人们的需求,程序对系统要求配置较低,运行速度快,而却对数据库管理要求较低。
本程序数据库采用MySQL进行数据存储,该数据库可实现关系较为简单的数据管理。
第二章系统设计2.1界面设计1、为了便于各种操作,软件采用多页面的模式。
用户可在不同网页进行相应操作(录入、查询、修改、删除、显示所有信息)。
2、主页面(显示所有信息页面)是用户进行各种操作的平台,具体操作在各个独立功能页面中完成。
3、主页面的主要功能位于操作表列中,为进入各个功能窗口的唯一通道。
4、当用户在进行个别录入、删除或错误输入操作时,会弹出相应对话框提示用户。
如当录入成功或删除成功,弹出成功以及相应的简明信息提示当,当录入、删除失败以及输入不当时,弹出错误以及简单的错误原因提示用户重新操作。
5、页面布局尽量合理,各组件位置分布均匀美观。
实训成绩批阅教师日期实训报告课程名称Java EE 项目实训专业班级学号学生姓名指导教师实训地点2013 年11 月24 日《员工管理》需求说明书目录1项目编写背景 (2)1.1系统名称 (2)2软件运行环境以及技术约束 (2)2.1软件约束 (2)2.2硬件约束 (2)Windows 2000及以上 (2)3参考文档 (2)4用例清单 (3)5管理员登陆 (3)5.1用户登陆 (3)5.2验证码 (5)6员工信息管理模块 (5)6.1用例图 (6)6.2员工信息管理功 (6)6.2.1员工信息浏览 (6)6.2.2删除员工信息 (7)6.2.3增加员工信息 (8)6.2.4修改员工信息 (9)1项目编写背景1.1系统名称员工信息管理系统系统用户负责此系统管理的系统管理员,使用此系统的企业工作人员;本项目的目的是运用servlet来实现员工信息的管理,主要完成员工大量的基本信息管理,包括员工信息的录入,员工信息的删除,员工信息的修改,主要目的是协助管理人员管理员工的大量信息,将大量分散的信息统一集中到数据库中。
员工信息管理系统是一个web应用形式(B/S),可以通过互联网进行访问。
2软件运行环境以及技术约束2.1软件约束员工信息管理系统采用Java技术进行开发。
开发及运行的软件环境为:Java开发包JDK:jdk1.7.0_10-windows版应用服务器Tomcat:apache-tomcat-7.0.18数据库:Oracle运用技术:Servlet开发工具:myeclipse2.2硬件约束Windows 2000及以上3参考文档《企业薪酬管理系统》作者:王晶。
《面向对象系统分析与设计》清华大学出版社4用例清单编号模块用例定义 用例描述重要程度1员工信息管理员工信息浏览 查看所有的员工列表 A 查询员工信息根据查询条件查询员工信息 A 删除员工信息 删除员工信息 A 增加员工信息 增加新的员工信息 A 修改员工信息修改某员工的信息 A 2管理员登陆用户登陆用户登陆页面A5管理员登陆此模块主要实现管理员登陆,根据登陆名和密码登陆用户。
JA V AWEB 版本音乐网站一、实习目的1)了解及学习HTML标准化语言同时学会使用tomcat6.0.2)学会MySql数据库的安装并进行数据库,表以及其他的操作.3)学会在MyEclipse8.5环境中完成Java Project的创建以及具体实现.4)重点是使用Servlet以及JSP进行项目的设计.5)了解JDBC以及连接的代码书写、JSP、同时学会JavaScript脚本的实现.二、实训环境开发环境:window xp 、jdk 6.0 、tomcat6.0数据库: mysql5.5开发工具:MyEclipse8.5 EidtPlus Navicat使用技术: JDBC、DBCP、Servlet、JSP 、EL表达式JavaScript、Ajax实训周期:两周三、实习内容及要求本次实习主要实现一个简单的音乐网站,其主要包括六大模块:●网站登录:用户名,密码,登录,登录失败显示信息,登录成功跳转音乐列表界面。
●网站注册:用户名,密码,邮箱,性别,验证码。
●网站音乐上传:可以上传mp3的格式的音乐,并对其他格式的文件进行限制.●音乐下载:可以下载mp3的格式的音乐,但其他的格式比如.exe不能下载。
●音乐列表的显示:序号,歌曲名,歌手名,大小,试听,下载。
●音乐的试听:进入下载界面后可以对上传音乐进行播放试听.四、实习内容及结果1.实验时序图2.程序代码(1).连接数据库package org.softeem.fileload;import java.sql.*;public class DBUtils {private static final String USER="root";//数据库的账号private static final String PASSWORD="123321";//密码向下复制 ctrl+shift+下private static final String URL="jdbc:mysql://localhost:3306/netmusic";//连接数据库的详细的地址private static final String DRIVERCLASS="com.mysql.jdbc.Driver";//mysql数据驱动类的全路径//注册驱动static{try {Class.forName(DRIVERCLASS);//alt+shift+z} catch (ClassNotFoundException e) {e.printStackTrace();}}//建立连接public static Connection getConnection() throws SQLException{return DriverManager.getConnection(URL,USER,PASSWORD);}//关闭连接public static void close(Connection conn) throws SQLException{if(conn!=null){conn.close();}}}(2).下载功能package org.softeem.fileload;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.IOException;import java.io.OutputStream;import java.sql.Connection;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class DownLoad extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {HttpSession session=request.getSession();if(session.getAttribute("account")==null){Connection conn=null;try {conn=DBUtils.getConnection();//得到数据连接Statement stat=conn.createStatement();//创建Statement对象String sql="select * from t_song";//查询歌曲表中的所有歌曲的sqlResultSet rs=stat.executeQuery(sql);//得到数据库返回的表中数据结果List<Song> songList=new ArrayList<Song>();while(rs.next()){//开一个while循环判断还有没有数据了Song song=new Song();song.setId(rs.getInt("id"));song.setName( rs.getString("name"));song.setSize(rs.getString("size"));song.setSongger(rs.getString("songger"));songList.add(song);}request.setAttribute("msg", "游客你好对不你需要登录好可以下载本网站的音乐");;request.setAttribute("songList", songList);//把歌曲数据撞到request对象中request.getRequestDispatcher("../musicList.jsp")//跳转到歌曲列表页面中.forward(request, response);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try{conn.close();}catch(SQLException se){se.printStackTrace();}}}else{String songName=request.getParameter("name");//得到歌曲的名字System.out.println(songName);response.setCharacterEncoding("UTF-8");String fname = new String(songName.getBytes("gbk"), "ISO8859-1");System.out.println(fname);response.setHeader("Content-Disposition", "attachment; filename=\"" + fname + "\".mp3");//服务器告诉浏览器以附件的形式打开该文件(下载)FileInputStream fis=newFileInputStream("C:/Tomcat6.0/webapps/load/music/"+songName+".mp3");/ /ctrl +shift +oBufferedInputStream bis=newBufferedInputStream(fis);//使用BufferedInputStream 提高文件的读取的效率OutputStream os=response.getOutputStream();//创建一个基于服务器响应的文件输出流BufferedOutputStream bos=new BufferedOutputStream(os);//使用BufferedOutputStream 提高文件写的效率int temp=0;//定义个临时变量把每次读取到字节装到该临时变量中while((temp=bis.read())!=-1){//开一个while循环一个一个的读取字节如果读取到文件的末尾temp的值=-1bos.write(temp);}bis.close();//流是一种资源使用完毕以后需要关闭关闭输入流bos.close();//关闭输出流}}}(3),上传功能package org.softeem.fileload;import java.sql.*;import java.io.File;import java.io.IOException;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import mons.fileupload.FileItem;import mons.fileupload.FileUploadException;import mons.fileupload.disk.DiskFileItemFactory;import mons.fileupload.servlet.ServletFileUpload;public class FileUpload extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {DiskFileItemFactory dif=new DiskFileItemFactory();ServletFileUpload sfu=new ServletFileUpload(dif);sfu.setHeaderEncoding("utf-8");//解决接受文件中文乱码问题File file=null;try {List<FileItem> fileItemList=sfu.parseRequest(request);for(FileItem fileitem:fileItemList){if(fileitem.isFormField()){}else{//上传的歌曲要放到tomcat的发布的项目的制定的位置上//C:\Program Files\Apache Software Foundation\Tomcat6.0\webapps\load\musicString fileName=fileitem.getName();//得到文件名String[] fs=fileName.split("\\\\");fileName=fs[fs.length-1];//得到不带文件路径的文件名针对于IE浏览器//真正在做企业开发的时候路径是不能这样写死的导致项目失去了扩展性增大了后期的维护难度file=newFile("C://Tomcat6.0/webapps/load/music/"+fileName);fileitem.write(file);//文件上传成功// 歌手的名字歌曲名文件的大小 mp3 wav 两种两种文件格式// 两只蝴蝶.mp3String songName=fileName.split("\\.")[0];Long size=fileitem.getSize();//得到歌曲的大小Bdouble dSize=size/(1024D*1024D);System.out.println("大小:"+dSize);String songSize=String.valueOf(dSize);//把整型转换成字符串歌曲的大小songSize=songSize.substring(0, 4);System.out.println("大小:"+dSize);String songger="";//歌手名稍后获取Connection conn=null;try{conn=DBUtils.getConnection();//得到数据库的链接Statementstat=conn.createStatement();//Statement向数据发送并执行sql语句的对象String sql="insert intot_song(name,songger,size) " +"values('"+songName+"','"+songger+"','"+songSize+"')";int flag=stat.executeUpdate(sql);if(flag>0){request.setAttribute("msg", "恭喜你上传音乐成功");request.getRequestDispatcher("../index.jsp").forward(request, response);}else{//如果数据库保存音乐信息是失败了要把上传成功的音乐删除掉if(file.exists()){file.delete();}request.setAttribute("msg", "对不起上传音乐失败");request.getRequestDispatcher("../index.jsp").forward(request, response);}}catch(SQLException se){se.printStackTrace();System.out.println("出错了~~~~~~~~~~~~~~~~~");if(file.exists()){file.delete();}request.setAttribute("msg", "对不起上传音乐失败");request.getRequestDispatcher("../index.jsp").forward(request, response);}finally{DBUtils.close(conn);}}}} catch (FileUploadException e) {if(file.exists()){//判断文件是否存在如果存在近if语句file.delete();//删除存在的文件}request.setAttribute("msg","对不起伤处音乐失败");request.getRequestDispatcher("../index.jsp").forward(request, response);System.out.println("如果进到此处说明上传失败");e.printStackTrace();} catch (Exception e) {if(file.exists()){//判断文件是否存在如果存在近if语句file.delete();//删除存在的文件}request.setAttribute("msg", "对不起上传音乐失败");request.getRequestDispatcher("../index.jsp").forward(request, response);e.printStackTrace();}}}(4),登录功能package org.softeem.fileload;import java.sql.*;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;public class loginServlet extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String account=request.getParameter("account");String password=request.getParameter("password");Connection conn=null;try{conn=DBUtils.getConnection();Statement stat=conn.createStatement();String sql="select * from t_user whereaccount='"+account+"'and password='"+password+"'";ResultSet rs=stat.executeQuery(sql);HttpSession session=request.getSession(true);if(rs.next()){session.setAttribute("account", account);request.getRequestDispatcher("../index.jsp").forward(request, response);}else{request.setAttribute("msg", "账号或密码不正确");request.getRequestDispatcher("../login.jsp").forward(request, response);}}catch(SQLException e){e.printStackTrace();}finally{try{conn.close();}catch(SQLException se){se.printStackTrace();}}}}(6)上传音乐列表package org.softeem.fileload;import java.sql.*;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.util.*;public class MusicList extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponseresponse)throws ServletException, IOException {//该类的作用就是把t_song表中的所有的歌曲都现在歌曲列表页面中Connection conn=null;try {conn=DBUtils.getConnection();//得到数据连接Statement stat=conn.createStatement();//创建Statement对象String sql="select * from t_song";//查询歌曲表中的所有歌曲的sqlResultSet rs=stat.executeQuery(sql);//得到数据库返回的表中数据结果List<Song> songList=new ArrayList<Song>();while(rs.next()){//开一个while循环判断还有没有数据了Song song=new Song();song.setId(rs.getInt("id"));song.setName( rs.getString("name"));song.setSize(rs.getString("size"));song.setSongger(rs.getString("songger"));songList.add(song);}System.out.println(songList);request.setAttribute("songList", songList);//把歌曲数据撞到request对象中request.getRequestDispatcher("../musicList.jsp")//跳转到歌曲列表页面中.forward(request, response);} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{try{conn.close();}catch(SQLException se){se.printStackTrace();}}}}(7)登录功能package org.softeem.fileload;import java.io.IOException;import java.io.PrintWriter;import java.sql.*;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class registaction extends HttpServlet {public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String account=request.getParameter("account");String password=request.getParameter("password");try {Connection conn=DBUtils.getConnection();Statement stat=conn.createStatement();ResultSet rs=stat.executeQuery("select * from t_user where account='"+account+"'");if(rs.next()){request.setAttribute("message","对不起该账号已存在请更换");request.getRequestDispatcher("../regist.jsp").forward(request, response);}else{int rows=stat.executeUpdate("INSERT INTO t_user " +"(account,password)VALUES('"+account+"','"+password+"')");if(rows>0){request.setAttribute("message", "ok");request.getRequestDispatcher("../login.jsp").forward(request,resp onse);}else {request.setAttribute("message", "no");request.getRequestDispatcher("../regist.jsp").forward(request,res}}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}(8)歌曲列表package org.softeem.fileload;public class Song {private int id;private String songger;private String name;private String size;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getSongger() {return songger;}public void setSongger(String songger) { this.songger = songger;}public String getName() {return name;}public void setName(String name) { = name;}public String getSize() {return size;}public void setSize(String size) {this.size = size;}(10)下载页面<%@page language="java"import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.get ServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'download.jsp' starting page</title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description"content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><a href="servlet/DownLoad">java.doc下载</a></body></html>(11)上传页面<%@page language="java"import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath =request.getScheme()+"://"+request.getServerName()+":"+request.get ServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description"content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><style>*{padding:0px;margin:0px}.file{margin-left:256px;}.music{margin-left:420px;}</style></head><body><form action="servlet/FileUpload"method="post" enctype="multipart/form-data"><h3>文件上传</h3><br><hr size="4"color=blue><br><div class="file"><input type="file"name="filename"><input type="submit" value="上传">${msg}</div></form><br><div class="Music"><a href="servlet/MusicList">返回音乐列表</a></div><h3>上传说明</h3><HR COLOR=BLUE SIZE="4"><br><tr><td>1.文件最大上传10M.</td><td>2.文件上传的格式为:.MP3</td></tr></body></html>(13)登录页面<%@page language="java"import="java.util.*" pageEncoding="utf-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.get ServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>登录</title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description"content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--><style>body{margin:0px;padding:0px;}.bg{margin:auto auto;width:100%;height:700px;background:#ccffcc;}.top{width:100%;height:50px;background:yellow;}.msg{height:52px;float:left;font-size:12px;color:gra y;line-height:30px;}.outer{margin-left:500px;margin-top:200px;width:500px;height:300px;border:1px solid red;background:url("images/login.png");float:centre;}.ipt{width:150px;height:20px;}.cop{margin-top:100px;margin-left:150px;}</style></head><body><form action="servlet/loginServlet"method="post"><div class="bg"><div class="top"><div class="mag"><p>返回首页|帮助中心</p><p>如遇问题请拨打:010-111</p></div></div><div class="outer"><div class="cop"><p>账号:<input type="text"name="account"class="ipt"></p><p>密码:<input type="password"name="password" class="ipt"></p><input type="submit"value="登录"><a href="regist.jsp">用户注册</a></div></div></div></form></body></html>(14)音乐列表页面<%@page language="java"import="java.util.*" pageEncoding="utf-8"%><%@taglib prefix="c"uri="/WEB-INF/c.tld"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.get ServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>My JSP 'musicList.jsp' starting page</title><meta http-equiv="pragma"content="no-cache"><meta http-equiv="cache-control"content="no-cache"><meta http-equiv="expires"content="0"><meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description"content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><style>.s1{background:url("images/logo.png");}</style><body><div class="s1"><a href="index.jsp">音乐上传</a><table align="center"><tr><td align="center">序号</td><td align="center">歌曲名</td><td align="center">歌手名</td><td align="center">大小</td><td align="center">试听</td><td align="center">下载</td></tr><c:forEach var="song"items="${songList}"><tr><td align="center"><c:out value="${song.id}"/></td><td align="center"><c:out value="${}"/></td><td align="center"><c:out value="${song.songger}"/></td><td align="center"><c:out value="${song.size}"/>M</td><td align="center"><a href="playMusic.jsp?name=<c:out value="${}"/>">试听</a></td><td align="center"><a href="servlet/DownLoad?name=<c:out value="${}"/>">下载</a></td></tr></c:forEach></table></div>${msg}</body></html>(15)音乐播放<%@page contentType="text/html"pageEncoding="utf-8"%><html><head><title>音乐播放</title></head><body><div id="div"></div><%String mName=request.getParameter("name");%><script>var oDiv=document.getElementById("div");//得到id值为div的div div元素对像var oEmbed=document.createElement("embed");//创建音乐播放元素素var name="<%=mName%>";oEmbed.src="music/"+name+".mp3";oDiv.appendChild(oEmbed);</script></body></html>(16)注册页面<%@page language="java"import="java.util.*"pageEncoding="utf-8"%> <%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.get ServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><base href="<%=basePath%>"><title>注册页面</title><script>function check(){var oAtVal=document.frm.account.value;var oPassVal=document.frm.password.value;if(oAtVal==""){alert("对不起账号不能为空");return false;}if(oPassVal==""){alert("对不起密码不能为空");return false;}if(oAtVal.length>15){alert("对不起账号的长度不能大于15位");return false;}if(oPassVal.length>15){alert("对不起密码的长度不能大于15位");return false;}return true;}</script><style>*{margin:0px;padding:0px}.do{font-size:35px;font-color:red;margin-left:650px;}.bg{margin:auto auto;width:100%;height:700px;background:#ccffcc;}.outer{margin-left:500px;margin-top:200px;width:500px;height:300px;border:1px solid red;background:url("images/touxiang.png");float:centre;}.cop{margin-top:100px;margin-left:150px;}</style></head><body><div class="do">用户注册</div><div class="bg"><form action='servlet/registaction'method='post'name="frm"> <div class="outer"><div class="cop">账号:<input type="text"name="account"><br><br><br>密码:<input type="password"name="password"><br><br><br><input type="Submit"value="确定"onclick="return check()"><font color='red'>${message}</font></div></div></form></div></body></html>3.实验结果截图(1)上传页面(2)登录页面(3)注册页面(4)上传成功(5)上传音乐列表(6)播放页面(7)数据库五、实习总结本次实训的成果是建立一个自己的音乐网站,可以实现的功能也很基础,主要是可以登录,注册,还要有验证码,可以上传和下载音乐。
Java EE 项目开发实训设计说明书
姓名:
学号:
班级:
指导教师:李红军
完成日期: 2012.6.23
设计要求
目录
第一章系统概述 (1)
1.1开发背景 (1)
1.2需求分析 (1)
第二章系统设计 (2)
2.1界面设计 (2)
2.2数据库设计 (2)
第三章系统部署运行 (3)
3.1 Tomcat安装 (3)
3.2 部署运行 (3)
参考文献 (4)
XXXXX 设计说明书
第一章系统概述
1.1开发背景
简单介绍项目背景(宋体小四字体,1.5倍行间距)
1.2需求分析
需求描述(宋体小四字体,1.5倍行间距)
第二章系统设计
2.1界面设计
1、抓图介绍各界面和功能(宋体小四字体,1.5倍行间距)
图2.1 XXXX
2.2数据库设计
数据库表的介绍,表的字段介绍等(宋体小四字体,1.5倍行间距)1、
2、
第三章系统部署运行
3.1 Tomcat安装
简单介绍,不要超过一页内容
3.2 部署运行
怎么算成功部署,如何访问系统,如何算访问成功等内容
参考文献
[1]郭伟业,仇新红,动态网页设计(jsp),第一版,机械工业出版社,2008 年4月,23页-168页。
[2] 刘彬,JSP数据库高级教程,第二版,清华大学出版社,2006年3月,56 页-145页。
[3] Jason Brittain,Ian F. Darwin 著 O'Reilly Taiwan 译. Tomcat权威指南,第一版,中国电力出版社,2004年8月,
[4]张莉,王强,赵文,SQL Server数据库原理及应用教程,第二版,清华大学出版社,2003年4月,45页-203页
信息工程学院
《JavaEE项目开发实训》实践环节考核报告单
2011-2012学年度第二学期期末
排课编号:(2011-2012-2)-0503452-09419-1 批阅日期:年月日。