JavaEE项目开发实训设计说明书
JavaEE课程设计任务书

(二)开发语言与开发环境:
MyEclipse、Java、数据库(sqlserver2000、mysql、oracle等任选一种)
4、试卷分析报告产生系统
(一)必备功能说明:
(1)功能描述:用户以合法身份登录系统后,才能进行所有操作;用户可以添加、查看和删除学生成绩;用户添加完所有学生的成绩后,统计出<60分、60<=成绩<75、75<=成绩<90、90<=成绩<=100这四个分数段的学生人数。
(2)功能描述:用户以合法身份登录系统后,才能进行所有操作;用户可以添加、查看和删除课程设计信息(课程设计名称、指导教师、课程设计报告成绩、上机考勤成绩、程序开发成绩)。
(3)添加课程设计信息
(4)查看课程设计信息
(5)删除课程设计信息
(6)计算每个课程设计的最终成绩
(二)开发语言与开发环境:
MyEclipse、Java、数据库(sqlserver2000、mysql、oracle等任选一种)
(3)查看图书信息:合法用户可以查看图书信息;
(4)修改图书信息:合法用户可以修改图书信息;
(5)删除图书信息:合法用户可以删除图书信息。
(二)开发语言与开发环境:
MyEclipse、Java、数据库(sqlserver2000、mysql、oracle等任选一种)
1、学生基本信息管理系统
(一)必备功能说明:
2.报告中代码总篇幅必须低于报告总篇幅的20%;一旦超过20%,报告必须返工修改,直到满足要求为止;返工2次及以上者,以不合格为最终成绩。
3.报告中要有框图、图表,每个图要有图号、图名,每个表要有表号、表名;所有图、表都必须在正文中有引用说明。制作图、表时,保证图、表内数据清晰、准确,能说明核心问题。框图、表格可以使用word自带的工具绘制,也可以用visio等工具绘制;截图必须保证图像清晰,尽量没有冗余数据。
javaee企业级应用开发教程实验

一、简介JavaEE(Java Platform, Enterprise Edition)是一种用于开发企业级应用的评台。
它提供了一系列的技术和API,用于构建大型、复杂的分布式系统。
本教程将介绍JavaEE企业级应用开发的基本概念、技术和最佳实践。
二、环境搭建1. 安装Java Development Kit(JDK):首先需要安装JDK,可以从Oracle全球信息站下载最新的JDK版本,并按照冠方指南进行安装。
2. 下载并配置JavaEE开发工具:可以选择Eclipse、NetBeans、IntelliJ IDEA等集成开发环境,然后安装相应的JavaEE插件。
3. 安装数据库:在开发JavaEE应用时,通常需要使用数据库。
可以选择MySQL、Oracle、PostgreSQL等数据库,并进行相应的安装和配置。
三、创建第一个JavaEE应用1. 创建一个新的JavaEE项目:在IDE中创建一个新的JavaEE项目,并选择适当的项目类型(如Servlet、JSP、EJB等)。
2. 编写代码:根据项目需求,编写相应的Java类、Servlet、JSP页面等。
3. 部署和运行:将项目部署到服务器上,并启动服务器,然后在浏览器中访问应用程序。
四、 JavaEE基础知识1. Servlet和JSP:介绍Servlet和JSP的基本概念、工作原理和使用方法。
2. EJB(Enterprise JavaBeans):介绍EJB的类型(Session Bean、Entity Bean、Message-Driven Bean)、生命周期和用法。
3. JPA(Java Persistence API):介绍JPA的基本概念、实体管理、查询语言等。
4. CDI(Contexts and Dependency Injection):介绍CDI的概念、注解、作用域等。
5. RESTful Web Services:介绍RESTful风格的Web服务的开发和使用。
Java项目实训设计说明书

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、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
JavaEE教学大纲(实战训练)

J2EE实战系统教程——实训大纲一、课程性质与任务可能主要针对学生的实际上机操作安排。
学习方式:实践→理论→实践。
根据学生上机的实际操作进行指导,尤其有针对性的对于项目流程操作。
二、实验目的与任务1、把JEE知识技能培训,转化为JEE项目实战训练。
通过实战训练,不仅巩固知识、提升技能,还能获得符合市场需求的实战能力。
2、把单机个人开发,转化为团队开发,培养学生的团队精神。
3、实施需求管理(REQM)、项目计划(PP)、项目监控(PMC)和配置管理(CM)等CMMI二级的四个主要软件过程。
4、实行结对学习和结对编程,鼓励学生自学、互帮互学,激发学生的自主学习热情、提升学生自学能力和独立开发软件能力。
5、在原有JEE培训内容基础上,构建三个培训组件:巩固基础、强化技能、实战培训。
三、实验内容及课时分配四、实验内容及基本要求训练一:创建一个用户登录信息的功能教学要求:①掌握对Struts2标签使用②掌握Struts2的Action的配置及其web.xml的配置实验任务:熟悉Myeclips开发工具的使用,以及对于B/S开发环境的配置处理。
并且如何配置Tomcat的Debug模式状态。
正确的加载Struts2的lib包信息。
搭建出Struts2的运行环境,并且配置Struts.xml。
训练二:配置hibernate的数据表信息,实际完成用户对象的实例化。
教学要求:①掌握hibernate的配置及其使用数据库映射关系②完成设计及编写实体对象的类。
实验任务:熟悉Hibernate的使用,以及熟悉使用配置数据库中表及字段的映射方式。
并且了解myeclipse加载的使用方式。
训练三:编写一个过滤器,用来判断用户是否登录,并且阻止未登录用户提示并跳转登录用户教学要求:①熟悉过滤器的工作原理,以及过滤器的使用情况。
②配置过滤器,并且编写一个实用过滤器来配合项目工程使用。
当前练习用户是否登录的状态信息实验任务:了解过滤器在系统项目中充当的角色及功能,并且灵活应用过滤器。
Java EE项目

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、页面布局尽量合理,各组件位置分布均匀美观。
JavaEE项目开发实训设计说明书

J2EE 项目开发实训 设计说明书
姓 名: 学 号: 班 级: 指导教师: 完成日期:
设计要求
考核 目的
考核 项目 要求
考查 Struts2、Hibernate、Spring 三种框架技术。考查三 种技术的融合, 能否使用三种技术快速开发出完成的项 目。
主要考核三种框架的使用,具体如下: 1. Struts2 的使用 使用 Struts2开发系统的前台页面和业务逻辑功能, 要求使用 Struts2的拦截器、过滤器等功能,要求实 现权限控制。 2. Hibernate 的使用 使用 Hibernate 作为数据持久层, 数据库设计时, 要 考虑表与表之间的关联关系。数据库建议使用 MySQL 。 3. Spring 的使用
《JavaEE项目实践》教案
授课日期:第6周周二3—8、周三3—4、周四5—10、周五1—2授课类型:演示、讲解、练习、辅导课时:16教学内容:1、如何使用图片代替提交按钮2、制作回车切换输入的特效和即时提示错误的特效3、制作内容动态改变的层特效教学目标:1、会使用图片代替提交按钮2、会使用OnKeyDown事件检查用户输入的特效字符3、会使用DIV的innerHTML或innerText动态显示内容4、会使用多个DIV动态隐藏或显示内容教学重点:1、OnKeyDown键盘事件2、会使用DIV的innerHTML或innerText动态显示内容教学难点:会使用多个DIV动态隐藏或显示内容教学过程:内容讲授学生实践作业布置新课内容预告教学手段:多媒体教学软件 + 个别辅导作业:页面中加入动态效果实训1:使用JavaScript验证表单一、实训目的1、掌握使用JavaScript验证表单的方法二、实训环境Dreamweaver三、实训教学方法“演示、讲解、练习、辅导”相结合:演示页面最终效果;讲解页面元素的功能和实现方法;让学生自己实现页面效果;对学生的练习进行辅导。
四、实训注意事项1、JavaScript不容易调试,在写代码时需格外注意2、JavaScript区分大小写五、实训内容及步骤1、演示使用JavaScript制作的客户端验证的网页2、修改表单把注册帐号、帐号密码、确认密码对应的文本框名称分别改为:zczh、zhmm1、zhmm2。
3、编写事件驱动代码在提交按钮的代码中加入事件驱动代码:onclick="return check()"4、编写check函数在<head></head>中插入客户端验证代码,主要保证1)“注册帐号”、“帐号密码”、“确认密码”非空;2)“帐号密码”和“确认密码”一致;3)“帐号密码”位数为6-20位代码如下:<script language="javascript">function check(){if(document.form1.zczh.value==""){window.alert("请输入注册帐号");document.form1.zczh.value="";document.form1.zczh.focus();return false;}if(document.form1.zhmm1.value==""){window.alert("请输入帐号密码");document.form1.zhmm1.value="";document.form1.zhmm1.focus();return false;}if(document.form1.zhmm2.value==""){window.alert("请输入确认密码");document.form1.zhmm2.value="";document.form1.zhmm2.focus();return false;}if(document.form1.zhmm1.value!=document.form1.zhmm2.value){window.alert("两次密码不一致,请重新输入");document.form1.zhmm1.value="";document.form1.zhmm2.value="";document.form1.zhmm1.focus();return false;}if(document.form1.zhmm1.value.length<6||document.form1.zhmm1.value.length>20){window.alert("密码长度范围必须在6和20之间");document.form1.zhmm1.value="";document.form1.zhmm2.value="";document.form1.zhmm1.focus();return false;}return true;}</script>六、实训结果提交与成绩评定1、提交用客户端验证的表单页面七、实训小结表单客户端验证可以减轻服务器负担,使得客户端反应更快。
实训_JavaEE项目实训
实训成绩批阅教师日期实训报告课程名称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管理员登陆此模块主要实现管理员登陆,根据登陆名和密码登陆用户。
JavaEE应用实训
淮南联合大学计算机系课程实训报告书实训科目:JavaEE应用实训专业班级:11级计算机应用技术学号:20118031139姓名:吕昌盛实训时间:2013-4-24一、课程实训目的《JavaEE商务应用开发》课程实训是计算机应用技术专业集中实践性环节之一,是学习完《JAVA语言程序设计》课程、学习《Java Web开发》后进行的一次全面的综合练习,其目的是为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际应用问题进行有机结合,锻炼学生分析、解决实际问题的能力,提高学生使用Java 进行项目开发及程序调试能力。
二、课程实训内容利用《JAVA语言程序设计》及《Java Web开发》课程中所学到的编程知识和编程技巧,独立完成下列任务:网上电子书店系统开发。
三、课程实训要求1.对系统进行功能需求分析;2.利用建模工具进行数据库设计;3. 利用JavaEE框架分层设计;4.程序功能齐全,能正确运行;5.课程实训完成后必须按要求提交课程实训报告。
四、实训过程一、用户前台界面的实现用户注册功能实现<%@ page contentType="text/html;charset=gb2312" %><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/1999/REC-html401-19991224/loose.dtd"><HTML><HEAD><TITLE>网上书店</TITLE><LINKhref="css/dearbook2008.css" type=text/css rel=stylesheet><SCRIPT src="js/prototype.js" type=text/javascript></SCRIPT><style type="text/css"><!--.STYLE3 {color: #000066}--></style></HEAD>图书显示代码browseBook.jsp<%@ page contentType="text/html;charset=gb2312" %><%@ taglib prefix="s" uri="/struts-tags" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/1999/REC-html401-19991224/loose.dtd">打开JAVA ,设立工作区为E盘建工程录入代码打开数据库建立一系列参数五、指导教师评语及成绩:。
_JavaEE实训
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)数据库五、实习总结本次实训的成果是建立一个自己的音乐网站,可以实现的功能也很基础,主要是可以登录,注册,还要有验证码,可以上传和下载音乐。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
J2EE项目开发实训设计说明书姓名:学号:班级:指导教师:完成日期:设计要求目录一网站概述 (4)1.1开发背景 (4)1.2需求分析 (4)1.2开发环境 (5)二系统流程与功能实现 (6)2.1 .系统功能概述 (6)2.2系统整体流程图 (6)2.3系统功能 (7)2.3.1系统登录界面 (7)2.3.2学生信息界面 (7)2.3.3课程管理界面 (9)2.3.4成绩管理界面 (10)2.4数据库设计 (11)三核心代码 (14)四总结 (17)五参考文献 (18)学生成绩管理系统设计说明书一网站概述1.1开发背景随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使人民的生活与工作方式发生了很大的改观。
网络技术的应用使得计算机之间通信,信息共享成为可能,而数据库角色的应用则为人们提供了数据存储、信息探索、信息分析等功能,从而使得工作更效率地进行。
数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。
数据库技术体现了当代先进的数据管理方法,使计算机的应用真正参透到国民经济各个部门,在数据库处理领域发挥着越来越大的作用。
而互联网技术的出现,更进一步丰富的人类生活,数字化生存已经一步步走进我们的生活与工作。
互联网技术与数据库技术的结合为计算的人类生活中的应用带来了巨大的影响。
产业信息化,管理现代化,科学化已经成为行业发展的重要课程,这不仅是企业提高自身竞争力,甚至是国家提高综合国力,走向国民富强的重要手段。
1.2需求分析随着高校的不断扩招,需要处理的学生信息日趋加大,不仅花费大量的教师资源,处理的效果还十分低下。
为了提高学生管理的管理水平,优化资源,尽可能的降低管理成本,成为学生管理的新课题。
学生管理系统是从学生管理的实际出发,它解决了学生管理数据信息量大,修改不方便,对一系列数据进行统计与分析花费时间长等问题,实现了有效管理学生信息,成为高校管理中必不可少的管理工具。
1.3开发环境MyEclipse 简介MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE 的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。
SSH框架简介SSH框架为struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。
集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。
其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate 框架对持久层提供支持,Spring做管理,管理struts和hibernate。
具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java 对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。
MySql简介MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQL AB公司。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
二系统流程与功能实现说明2.1 .系统功能概述根据需求把整个系统分化成不同的模块,包括用户登陆、学生信息管理、学生课程管理、学生成绩管理;每个模块完成一个特定的子功能,最后有机的结合起来组成一个整体,完整而流畅的逐一实现各个功能,从而达到预期的设计目标。
2.2系统整体流程图2.2.1系统总流程图2.3系统功能分析2.3.1系统登录界面首先,需要进行用户登录,成功之后会有“登录成功,你可以进行相关的操作了!”的提示,并且跳转到如下界面:图2.3.1用户登录成功界面2.3.2学生信息界面点击左侧的“学生信息录入”进入如下界面:图2.3.2学生信息添加界面点击左侧的“学生信息查询”进入如下界面:图2.3.2学生信息查询界面2.3.3课程管理界面点击“课程录入”进入如下界面:图2.3.3课程添加界面图2.3.3课程查询界面点击“修改“,即进入如下界面:图2.3.3课程修改界面2.3.4成绩管理界面图2.3.4成绩添加界面2.4数据库设计登录表建表语句:CREATE TABLE `dlb` (`Id` int(11) NOT NULL AUTO_INCREMENT,`xh` char(6) NOT NULL DEFAULT '',`kl` varchar(100) NOT NULL DEFAULT '', PRIMARY KEY (`Id`))图2.4.1登录表数据学生表建表语句:CREATE TABLE `xsb` (`xh` char(6) NOT NULL DEFAULT '',`xm` varchar(50) NOT NULL DEFAULT '',`xb` bit(1) DEFAULT NULL,`cssj` datetime DEFAULT NULL,`zy_id` int(11) NOT NULL DEFAULT '0',`zxf` int(11) DEFAULT '0',`bz` varchar(500) DEFAULT NULL,`zp` blob,PRIMARY KEY (`xh`),KEY `zy_id` (`zy_id`))图2.4.2学生表数据课程表建表语句:CREATE TABLE `kcb` (`kch` char(3) NOT NULL DEFAULT '',`kcm` varchar(50) DEFAULT NULL,`kxxq` tinyint(3) DEFAULT NULL,`xs` int(11) DEFAULT '0',`xf` int(6) DEFAULT '0',PRIMARY KEY (`kch`))图2.4.3课程表数据成绩表建表语句:CREATE TABLE `cjb` (`xh` char(6) NOT NULL DEFAULT '',`kch` char(3) NOT NULL DEFAULT '',`cj` float(6,1) DEFAULT '0.0',`xf` int(6) DEFAULT '0',PRIMARY KEY (`xh`,`kch`),KEY `kch` (`kch`))图2.4.8成绩表数据三核心代码部分登陆验证代码……public class DlAction extends ActionSupport {private Dlb dl;public Dlb getDl() {return dl;}public void setDl(Dlb dl) {this.dl = dl;}public String execute() throws Exception {DlService dlService=new DlServiceImp();Dlb user=dlService.find(dl.getXh(), dl.getKl());if(user!=null){Map session=(Map) ActionContext.getContext().get("session");session.put("user", dl.getXh());return SUCCESS;}elsereturn ERROR;}}部分Struts配置文件……<struts><package name="default" extends="struts-default"><interceptors><interceptor name="myInterceptor"class="chao.tool.MyInterceptor"/></interceptors><global-results><result name="login">/login.jsp</result></global-results><action name="login" class="chao.action.DlAction"><result name="success">/main.jsp</result><result name="error">/login.jsp</result></action>……</package></struts>部分Hibernate配置文件<hibernate-configuration><session-factory><property name="dialect">org.hibernate.dialect.MySQLDialect</property><property name="connection.url">jdbc:mysql://localhost:3306/xscj_chao</property><property name="ername">root</property><property name="connection.password">bhxy</property><property name="connection.driver_class">com.mysql.jdbc.Driver</property><property name="myeclipse.connection.profile">MyConn</property> ……<mapping resource="chao/model/Dlb.hbm.xml" />……</session-factory></hibernate-configuration>部分Test测试文件package chao.test;……public class Test {public static void main(String[] args) {// TODO Auto-generated method stubSession session=HibernateSessionFactory.getSession();Transaction ts=session.beginTransaction();Query query=session.createQuery("from Xsb where xh='081104'"); Xsb xs=(Xsb) query.uniqueResult();session.delete(xs);mit();session.close();}}四总结宝剑锋从磨砺出,梅花香自苦寒来。