基于javaEE+SSH+SQL Server的学生信息管理系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于javaEE+SSH+SQL Server的学生信息管理系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。

文章目录:

  • 基于javaEE+SSH+SQL Server的学生信息管理系统设计与实现(毕业论文+程序源码)
    • 1、项目简介
    • 2、资源详情
    • 3、关键词:
    • 4、毕设简介:
    • 5、源码下载:

1、项目简介

  1. 学生信息管理系统采用的是B/S模式,使用JSP技术实现动态网页的效果,SQL Server 2005为数据库来进行设计与开发。毕业设计的项目经过了需求分析、概要设计、详细设计、编码实现和测试等一系列的工作。通过这些工作对项目进行开发。
  2. 本系统的最终要实现对学生信息的管理.主要用户为老师、学生和管理员,其中,学生可对自己的信息进行查询,也可以修改有关信息,教师可对自己的信息进行查询,管理员拥有所有的权限,可以添加删除学生信息,教师信息。系统提供非常友好的界面,操作简便,管理方便。

2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:31769个字58页
包含内容:整套源码+完整毕业论文+答辩PPT+任务书


3、关键词:

学生信息管理系统;JSP;SQL Server 2005


4、毕设简介:

提示:以下为毕业设计的简略介绍,项目源码及完整毕业论文下载地址见文末。

绪论
1.1 选题背景和目的、意义
省略

基于互联网的学生信息管理系统,在规范性管理、科学化统计和快速查询、简化操作等方面有了很大的提高且具有很高的实用性,提高了信息的开放性、保密性、可靠性,大大的改善了管理员、学生、教师对其有关信息查询的准确性。

1.2 国内外的对学生信息管理系统的研究现状
省略

1.3 本论文所研究的内容
本系统的主要任务就是负责对学生信息管理.主要用户为老师、学生和管理员,其中,学生可对自己的信息进行查询,也可以修改有关信息,教师可对自己的信息进行查询,管理员拥有所有的权限,可以添加删除学生信息,教师信息。系统提供非常友好的界面,操作简便,管理方便。

为实现这些功能,系统一个包含如下几个基本模块:
1.学生信息的导入、导出模块。
2.添加信息模块.管理员可以实现对学生信息和教师信息的添加。
3.修改信息模块.管理员可以实现对学生信息和教师信息的修改。
4.查询信息模块.学生和教师可以在此界面进行操作。
5.删除信息模块.管理员可以实现对学生、教师和课程信息的删除。

1.4 本毕业设计的可行性分析
省略

1.5 本项目的开发步骤
省略

2 相关关键技术和开发环境简介
我设计此项目时采用软件工程设计开发项目的思想,使用JSP技术实现动态网页的效果,SQL Server 2005为数据库,My eclipse的程序开发工具和Hibernate技术连接数据的方式进行对学生信息管理系统的设计与开发。

2.1 软件工程简介
省略

2.2 JSP简介
2.2.1 什么是JSP
JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。

省略

2.2.2 JSP技术的优势
1.一次编写,到处运行。由于JSP/Servlet都是基于Java的,在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。

2.系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署, 在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。

3.强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。

4.多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。

2.3 SQL Server 2005简介
SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。

省略

2.4 Hibernate简介
2.4.1 什么是Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

省略

2.4.2 Hibernate的优势
1、封装了jdbc,简化了很多重复性代码。
2、简化了DAO层编码工作,使开发更对象化了。
3、移植性好,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。
4、支持透明持久化,因为hibernate操作的是纯粹的(pojo)java类,没有实现任何接口,没有侵入性。所以说它是一个轻量级框架。

2.5 Struts2简介
Struts2虽然从名称上看是Struts1的升级版,但Struts2在实现原理和使用方法上与Struts1有很大区别。Struts2实际上是从WebWork框架演变过来的,从本质上看Struts2是WebWork的升级版本。

Struts2是MVC框架,因此,在Struts2中必须包含着3个层次对应的部分。Struts2中与MVC模式的三个层次对应的部分如下:

视图层:由JSP画面(包括Struts2标签)及客户端代码(HTML、JavaScript)组成。

控制器层:由Struts2中Action类组成。Action类可以是一个POJO类,也可以是从ActionSupport类继承的类。

模型层:Struts2中的模型层根据系统业务的不同而有所差异。通常模型层包括实体类、DAO类、Service类。

图2-1 框架工作流程图

用Struts2实现MVC框架中各部分的工作流程,如图2-1所示,下面将从Struts2的角度详细展示Struts2的整体结构。Struts 2 的整体结构,如图2-2所示,其来源于Struts2官方站点。

图2-2 Struts2的整体结构图

一个请求在Struts2框架中的处理大概分为以下几个步骤
1.客户端初始化一个指向Servlet容器(例如Apache Tomcat)的请求

2.这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)。

3.接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action 。

4.如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy 。

5.ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类 。

6.ActionProxy创建一个ActionInvocation的实例。

7.ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。

8.一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2框架中继承的标签。在这个过程中需要涉及到ActionMapper。

在上述过程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的。

2.6 CSS简介
CSS是层叠样式表(Cascading Style Sheets)用来定义网页的现实效果。可以解决html代码对样式定义的重复,提高了后期样式代码的可维护性,并增强了网页的现实效果功能。简单一句话:CSS将网页内容和显示样式进行分离,提高了显示功能。

2.7 MyEclipse简介
MyEclipse企业级工作平台(MyEclipseEnterprise Workbench ,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,支持HTML,Stus,JSP,JavaScript,Spring,SQL,Hibernate。

省略

3 系统的需求分析
3.1 系统的背景和所要解决的问题
省略

3.2 系统的功能需求
本系统的主要任务就是负责对学生信息管理.主要用户为老师、学生和管理员,其中,学生可对自己的信息进行查询,也可以修改有关信息,教师可对学生的信息进行增、删、改查,管理员拥有所有的权限,可以添加、删除、修改、查询学生信息,教师信息。系统提供非常友好的界面,操作简便,管理方便。总的来说,此毕业设计就是解决管理学生信息的问题,能够存储一定的用户信息和学生信息,并方便有效地进行相应的用户信息和学生信息的操作和管理,这主要包括:用户能够对自身信息进行修改;添加、修改用户的相关信息;添加、修改、删除学生的相关信息;对学生的相关信息的查询。最终实现学生信息的网络化的查询与管理。

3.2.1 管理员的功能分析
基本操作,一个是查看系统属性,有操作系统板本的查看,操作系统类型的查看,目录的查看,JDK版本和安装目录的查看、总内存和剩余内存的查。另一个是对个人信息的管理,如修改个人密码。

学生信息的管理,查看学生详的细信息:查看学生的姓名、年龄、政治面貌等信息,学生信息的查询:通过学号对学生详细信息进行查询,删除学生:可以删除需要删除的学生。修改学生的详细信息:可以对需要修改信息的学生进行修改,如密码等。添加学生:对入学的学生进行详细信息的录入,导入、导出学生:导出数据库中的表,生成Excel表格,将Excel表格中的表导入到数据库中。

教师信息的管理,查看教师的详细信息:查看教师的姓名、性别、年龄等信息,教师信息的查询:通过教师姓名对教师详细信息进行查询。删除教师:可以删除需要删除的教师,添加教师:对新进行的教师进行详细信息的录入,导入、导出教师:导出数据库中的表,生成Excel表格,将Excel表格中的表导入到数据库中。

3.2.2 教师的功能分析
基本操作,查看系统属性,有操作系统板本的查看,操作系统类型的查看,目录的查看,JDK版本和安装目录的查看、总内存和剩余内存的查。
学生信息的管理,查看学生详的细信息:查看学生的姓名、年龄、政治面貌等信息,学生信息的查询:通过学号对学生详细信息进行查询,删除学生:可以删除需要删除的学生。修改学生的详细信息:可以对需要修改信息的学生进行修改,如密码等。添加学生:对入学的学生进行详细信息的录入,导入、导出学生:导出数据库中的表,生成Excel表格,将Excel表格中的表导入到数据库中。

3.2.3 学生的功能分析
基本操作,查看系统属性,有操作系统板本的查看,操作系统类型的查看,目录的查看,JDK版本和安装目录的查看、总内存和剩余内存的查。

学生本人的个人信息管理,对自己的信息进行查看,对自己所要变更的信息进行修改,如修改密码,银行账号等。

3.2.4 系统的用例分析
通过对学生信息管理系统的分析,可以得出该系统涉及三个实体:管理员、老师、学生。

通过对各实体数据关系的整理,我们可以画出如下用例图如图3-1所示:

图3-1 系统用例图

这些实体涉及的数据项有:
学生:学号、姓名、性别、年龄、身份证号、登陆账号、登陆密码。
老师:编号、姓名、性别、年龄。
管理员:登陆编号、登陆密码。

3.3 系统性能需求
系统的运行对于运行环境的要求是:
1.硬件环境
目前,我们所开发的系统主要应用在中小规模的学校内部,因此,一般配置的计算机硬件就可以满足系统要求,可以充分发挥本系统的性能。
服务器的配置,CPU最低备至为Pentium III 800,推荐配置是P4 1.8。硬盘最低备至为20G空余硬盘空间,推荐配置是60G空余硬盘空间。内存最低备至为256M或更高,推荐配置是512M或更高。网卡最低备至为10/100M,推荐配置是512M或更高。操作系统最低备至为Windows 7,推荐配置是Windows 7。Web 服务组件最低备至为20GIIS,推荐配置是IIS。

2.软件环境
操作系统是Windows7,开发软件是MyEclipse,所用数据库:Microsoft SQL Server 2005。

3.4 业务分析
本系统主要包括三种业务流程:管理员业务流程、教师业务流程、学生业务流程。

3.4.1 管理员业务流程概述
选择以管理员身份登录,输入用户名、密码,登录到系统,对相关信息进行增、删、改、查以及导入和导出。进行完操作之后,点击安全退出,退出系统。管理员业务流程图如图3-2所示。

图3-2 管理员业务流程图

3.4.2 教师业务流程概述
选择以教师身份登录,输入用户名、密码,登录到系统,对相关信息进行增、删、改、查以及导入和导出。进行完操作之后,点击安全退出,退出系统。教师业务流程图如图3-3所示。

图3-3 教师业务流程图

3.4.3 学生业务流程概述
选择以学生身份登录,输入用户名、密码,登录到系统,对学生个人信息进行查看、修改。进行完操作之后,点击安全退出,退出系统。学生业务流程图如图3-4所示。

图3-4 学生业务流程图

4 系统的概要设计
省略

4.1 系统体系结构设计
本系统采用了多层架构。其中JSP页面和Action类作为Web层,这里的JSP页面除了要向客户端展示信息外,还要获取管理员或教师或学生输入的信息。

省略

4.2 本系统的功能模块结构设计
本系统的功能划分主要是从管理员、教师、学生三个个角度进行划分的,角色不同他们的相应权限也不同。管理员拥有最高权限,维护整个学生信息管理系统学生信息管理系统,对基本信息的操作,对学生信息进行管理以及对教师信息进行管理。权限第二的是教师,他可以对基本信息进行操作和对学生信息进行管理。权限最低的是学生,他可以对基本信息进行操作和对个人信息进行管理。其功能划分如图4-1所示。总体来讲,对不同权限的用户,他们从功能模块上可以分为如下几大模块:学生信息的导入、导出模块、删除学生信息模块、修改学生信息模块、查询学生信息模块、添加学生信息模块。主要功能模块如图4-2所示。管理员、教师、学生可以使用这个系统对各自所具有的功能进行操作。

图4-2 学生信息管理系统主要功能模块功能模块图

4.3 系统的各个功能模块设计
从上节的划分角度下面划分模块对各模块进行功能的分析与设计,系统的主要用户有管理员、教师和学生。现在从这三种用户的权限来分析并设计出属于不同用户的功能。也就是说有管理员模块功能、教师模块功能和学生模块功能。

(1)管理员模块的功能分析与设计
管理员,他具有系统正常运行的全部功能与系统使用的管理权限。他拥有整个系统的最高权限。对管理员来说,他拥有教师和学生的所有权限,在整个系统中,它的所拥有功能最多,管理范围最大。他对基本操作有,可以查看系统属性,可以对个人信息进行管理。对学生信息管理有,可以查看学生详细信息,可以对学生信息的查询,可以删除学生,可以对学生的详细信息进行修改,可以添加学生,可以导入、导出学生信息。对教师信息的管理有,可以对教师的详细信息进行查看,可以对教师信息进行查询,可以删除教师,可以添加教师,可以导入、导出教师信息。管理员模块功能图如图4-3所示。

图4-3 管理员功能模块图

(2)教师模块的功能分析与设计
教师是除了管理者之外,管理权限最高的用户,教师也可以对学生信息进行管理。对于学生管理系统,主要使用者肯定有教师,教师对于学生来说是管理者。每位教师都必须多学生的情况做个整体把握,而且要了解每个学生的具体情况。对于学生如果对自己的一些信息想做修改但是忘记了密码,这时本系统如果没有设定教师这种用户,学生去找管理员,就显得很不方便,对于管理员来说他们的工作量会大大增加。教师不能去查看其他教师的信息,只有管理员才能去查看所有教师的信息。本系统主要是用于对学生信息进行管理,所涉的教师这种用户也是为了更方便的去管理学生的信息,所以说,如果教师有了查看其他教师的权限,是没有多大意义的。拥有管理员权限的用户毕竟是少数,而教师相对与学生也是非常少的,从这个角度看,管理员的工作量不会很大。我们可以想到,当新生入学或者是学生毕业,都要对学生的信息进行操作,学生的数量那是很庞大的,如果只有管理员,那可想而知管理员的工作量得有多大,所以说增加教师用户是必须的。这就是重实际情工作情况出发对教师功能的分析,所以说教师对基本操作有,可以对系统属性进行查看。对学生信息的管理有,可以查看学生详的细信息,可以对学生信息进行查询,可以删除学生,可以对学生的详细信息进行修改,可以添加学生,可以对学生信息进行导入、导出。教师模块功能图如图4-4所示。

图4-4 教师功能模块图

(3)学生模块的功能分析与设计
学生是三个用户中所拥有权限最低的,是学校管理的主体,但不是系统使用的主体,唯一专为学生提供的使用接口是学生通过学号和登录密码进行与自己相关的操作,其主要功能是查看与自己相关信息,修改部分个人信息,修改自身登录密码,无任何删除权限。对基本操作有查看系统属性,对个人信息管理有,对自己信息的操作。学生模块功能图如图4-5所示。

图4-5 学生功能模块图

4.4 数据库设计概述
省略

4.5 数据库设计周期
省略

4.6 SQL查询语言及使用
省略

JSP中的数据库操作对象都提供了对SQL语句的支持。其一般的用法是以JSP的各种控件接收用户对数据库访问的请求,在事件响应程序代码中将其转换成对数据库的SQL查询语句,并以字符串的形式存在,然后将其传递给相应的数据库操作对象,最终完成对数据库的访问。

4.7 数据库设计命名规范
(1) 表名命名规则
更具主要数据模型将数据表分为用户表、相册表、图片表、用户角色表、权限表、角色-权限表等。根据与同的数据模型命名。

(2) 表项命名规则
代表表名的单词或单词简写作为字段名的开头,命名中其他的单词或简写间用‘_’间隔。

4.8 本系统数据库概念结构设计
省略

E-R图是直观表示概念模型的工具,它有三个基本成分:
矩形框,表示实体类型(考虑问题的对象)。
菱形框,表示联系类型(实体间的联系)。
椭圆形框,表示实体的属性。
根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。本系统包括的实体有管理员实体,教师实体,学生实体。

学生实体的属性有,学号、姓名、性别、年龄、政治面貌、太平洋银行卡号、登录帐号和登录密码。学生实体如图4-6所示。

图4-6 学生实体图

教师实体的属性有,教师编号、姓名、性别、年龄、登录帐号和登录密码。教师实体图如图4-7所示。

图4-7 教师实体图

管理员实体的属性有,管理员编号、用户名、密码。管理员实体图如图4-8所示。

图4-8 管理员实体图

4.9 系统数据库设计
1.学生信息数据表
学生信息数据表的主要功能在于保存学生的主要信息和相关信息,包括:‘学号’、‘姓名’、‘性别’、‘年龄’、‘政治面貌’、‘太平洋银行卡号’、‘登录帐号’和‘登录密码。’学生信息数据表如表4-1所示。

表4-1 学生信息数据

2.老师信息数据表
老师信息数据表的主要功能是保存老师的相关信息。它包括:‘老师编号’、‘老师姓名’、‘老师性别’、‘老师年龄’、登录帐号和登录密码。 老师信息数据表如表4-2所示。
表4-2 老师信息数据

3.管理员信息数据表
管理员信息数据表的主要功能是保存管理员的相关信息。它包括:‘管理员编号’、‘登录账号’、‘登录密码’。 管理员信息数据表如表4-3所示:
表4-3 管理员信息数据

4.10 本系统数据库逻辑结构设计
由以上的实体图可以得到以下几个关系模式:
学生基本信息(学号,姓名,性别,年龄,政治面貌,太平洋银行卡号,登录帐号,登录密码)
教师基本信息(教师编号,姓名,性别,年龄,登录帐号,登录密码)
管理员基本信息(管理员编号,登录帐号,登录密码)
说明:以上关系模式中,带“ ”的是属性是主键。

4.11 本系统数据库物理结构设计
系统配置
硬件环境:硬盘: 10G 以上空闲硬盘空间
软件环境:支持中文的Windows win7,Microsoft SQL Server 2005

4.12 安全保密设计
4.12.1 登录用户的安全性
系统设计了登陆界面,每个合法用户有一个密码,该密码由用户自行维护,从而实现对用户的身份验证。

4.12.2 数据安全性
客户端层和数据库层隔离,客户端无法接触本质的数据库,无法进行非法的修改和破坏,使得数据库得到有效安全的保护。

5 详细设计和实现
省略

5.1 用户登录界面
当系统登录时,首先出现的是一个用户权限登陆的界面如图5-1所示。这时用户可以在界面上输入用户名和密码,输入完之后,用户得在界面身份中选择与自己相匹配的身份,点击登录,系统从后台数据库的管理员表中检查是否有相应的用户名和密码,配系统提示通过验证,系统登录成功如图5-2所示,点击确定,进入到相应用户操作界面。系统用户包含三个角色有管理员、教师、学生。权限设置主要是维护系统的安全性和完整性。当选择管理员身份。管理员是系统权限最高的用户,点击登录,系统从后台数据库的管理员表中检查是否有相应的用户名和密码,用户名或者密码没有相匹配,则提示用户名或密码错误,如果匹配系统提示通过验证,系统登录成功,点击确定。进入到管理员操作界面。当选择教师身份,点击登录,系统从后台数据库的教师表中检查是否有相应的用户名和密码,用户名或者密码没有相匹配,则提示用户名或密码错误,如果匹配系统提示通过验证,系统登录成功,点击确定,进入到教师操作界面。当选择学生身份,点击登录,系统从后台数据库的学生表中检查是否有相应的用户名和密码,用户名或者密码没有相匹配,则提示用户名或密码错误,如果匹配提示通过验证,系统登录成功,点击确定,进入到学生操作界面。如果不输入用户名、密码、身份时,点击登录系统会有相应的提示。

图5-1 登录主界面图

图5-2 选择管理员身份点击登录后系统进行提示界面图

我在用户登录页面的设计中使用了表格,因为通过表格才能使得页面中的各个元素对齐、使整个页面显得整齐、干净,给人以美感。相关核心代码如下:

<form name="ThisForm" method="POST" action="">
<th>用户名:</th>
<input name="userName" type="text" class="input2" onMouseOver="this.style.background='#F0DAF3';"onMouseOut="this.style.background='#FFFFFF'">
<th>密码:</th>
<input name="userPw" type="password" class="input2" align="bottom"
onMouseOver="this.style.background='#F0DAF3';
"onMouseOut="this.style.background='#FFFFFF'">
<th>身份:</th>
<select class="INPUT_text" name="userType">
<option value="-1" selected="selected">请选择登陆身份</option>
<option value="0">管理员</option>
<option value="1">老师</option>
<option value="2">学生</option>
</select>
<input name="button" type="button" class="submit1" value="登录" onclick="check1()">
<input name="Submit2" type="reset" class="submit1" value="重置">
<img id="indicator" src="<%=path %>/images/loading.gif" style="display:none"/>

如下代码是完成表单验证功能,通过看option的value值判断用户身份,不同的值代表不同的身份,确定身份后,系统通过在后台数据库表的查找,验证相应身份的用户名和密码是否正确。

通过调用dwr调用后台的service()的方法处理业务逻辑去完成验证功能,核心代码如下:

loginService.login(document.ThisForm.userName.value,document.ThisForm.userPw.value,document.ThisForm.userType.value,callback);调用回调函数,获得数据,相关代码如下:
function callback(data){if(data=="yes"){alert("通过验证,系统登录成功");
window.location.href="<%=path %>/loginSuccess.jsp";
}

后台的service层,login方法中,通过dao层实现与数据库的交互,相关核心代码如下:

public String login(String userName,String userPw,int userType){if(userType==0){//系统管理员登陆
String sql="from TAdmin where userName=? and userPw=?";
Object[] con={userName,userPw};
List adminList=adminDAO.getHibernateTemplate().find(sql,con);
}
if(userType==1)//老师登陆
{String sql="from TTea where loginName=? and loginPw=?";
Object[] con={userName,userPw};
List teaList=teaDAO.getHibernateTemplate().find(sql,con)
}
}
if(userType==2){//学生登陆
String sql="from TStu where loginName=? and loginPw=?";
Object[] con={userName,userPw};
List stuList=stuDAO.getHibernateTemplate().find(sql,con);
}

5.2 用户操作界面
当用户通过系统验证之后,就各自角色的不同,进入到各自的操作界面,在自己的操作界面中进行自己的相关操作。在此界面设计,我布局采用的是frameset,由三个frame构成,分别是topFrame、menu、main。顶部是用于显示网站名称、登录用户名、注销退出,左侧是导航区,显示可以进行的功能,点击链接在界面的右侧展示出相应功能操作。在右侧用户可以做自己做相应的操作。管理员的操作界面设计进行说明,操作页面顶部显示JAVA学生信息管理系统,左侧为导航区,当左侧点击修改个人密码链接,右侧显示用户名,原密码、新密码、确认密码,修改按钮和重置按钮。教师的操作界面设计进行说明,操作页面顶部显示JAVA学生信息管理系统,左侧为导航区,当左侧点击学生信息管理链接,右侧显示表格、按钮,可以进行相关操作。学生的操作界面设计进行说明,操作页面顶部显示JAVA学生信息管理系统,左侧为导航区,当左侧点击我的个人信息链接,右侧显示个人信息的编辑框、提交按钮和重置按钮,可以进行相关操作。用户操作界面如图5-3所示。用户点击左侧超链接后,在右侧显示用户要做的相关操作如图5-4所示。

图5-3 用户操作界面图

图5-4 点击左侧超链接后右侧显示相关操作界面图

不同的角色登录进去之后,系统根据不同角色,跳转到不同的页面,相关核心代码如下:

function tiao()
{<s:if test="#session.userType==0">window.location.href="<%=path %>/admin/index.jsp";
</s:if>
<s:if test="#session.userType==1">window.location.href="<%=path %>/atea/index.jsp";
</s:if>
<s:if test="#session.userType==2">window.location.href="<%=path %>/astu/index.jsp";
</s:if>
}

通过action文件跳转到teaMana.jsp页面,相关核心代码如下:

<action name="teaMana" class="teaAction" method="teaMana">
<result name="success">/admin/tea/teaMana.jsp</result>
</action>后台的service层,teaMana()方法中,通过dao层实现与数据库的交互,相关核心代码如下:
public String teaMana(){String sql="from TTea where del='no'";
List teaList=teaDAO.getHibernateTemplate().find(sql);
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("teaList", teaList);
return ActionSupport.SUCCESS;
}

5.3 添加学生、教师
拥有此权限的用户进入界面后,可以对学生或者教师进行添加,向系统添加学生的详细信息或者老师的详细信息,学生的详细信息有学号、姓名、性别、年龄、政治面貌、太平洋银行卡号、登录帐号、登录密码,教师的详细信息有,姓名、性别、年龄、登录帐号、登录密码。拥有此权限的用户填写好各项信息后,单击提交按钮,系统将把这些信息交给后台数据库进行处理,处理后,提示操作成功,系统将数据库中的学生或教师信息,用表格的形式显示在界面。录入教师信息图如图5-5所示,点击提交后页面显示如图5-6所示。

图5-5 录入教师信息图

图5-6 点击提交后的页面图

教师的录入界面,有姓名文本框、性别单选框、年龄文本框、登录帐号文本框、登录密码文本框、提交按钮和,重置按钮,相关主要代码如下:

<form action="<%=path %>/teaAdd.action" name="formAdd" method="post">
<td colspan="3" background="<%=path %>/images/wbg.gif" class='title'><span>老师录入</span></td>
姓名:<input type="text" name="teaRealname" size="20"/>
性别:<input type="radio" name="teaSex" value="男" checked="checked"/>男<input type="radio" name="teaSex" value="女"/>女年龄:<input type="text" name="teaAge" size="20"/>
登录账号:<input type="text" name="loginName" size="20"/>
登录密码:<input type="submit" value="提交"/>
<input type="reset" value="重置"/></form>通过action文件做处理,相关核心代码如下:
<action name="teaAdd" class="teaAction" method="teaAdd">
</action>

后台的service层,teaAdd()方法中,通过dao层实现与数据库的交互,相关核心代码如下:

public String teaAdd(){TTea tea=new TTea();
tea.setLoginName(loginName);
tea.setLoginPw(loginPw);
tea.setTeaRealname(teaRealname);
tea.setTeaSex(teaSex);
tea.setTeaAge(teaAge);
tea.setDel("no");
teaDAO.save(tea);
this.setMessage("操作成功");
this.setPath("teaMana.action");
return "succeed";
}

5.4 删除学生
有删除学生权限的用户,可以在学生信息表格中点击删除,将所要删除的学生删除。点击删除链接,系统提示您确定删除吗如图5-7所示,点击取消则不进行删除。点击确定,系统后台对其进行处理后,系统提示删除成功,点即确定,页面呈现出删除后的界面如图5-8所示。

图5-7 点击删除链接后系统提示图

图5-8 点击确定后显示删除后的图

在页面进行详细显示的,通过对后台数据库的遍历进行页面的显示,相关主要代码如下:

<td width="11%">学号</td>
<td width="11%">姓名</td>
<td width="11%">性别</td>
<td width="11%">年龄</td>
<td width="11%">政治面貌</td>
<td width="12%">太平洋银行卡号</td>
<td width="11%">登陆账号</td>
<td width="11%">登录密码</td>
<td width="11%">操作</td>
<s:iterator value="#request.stuList" id="stu">
<s:property value="#stu.stuXuehao"/>
<s:property value="#stu.stuRealname"/>
<s:property value="#stu.stuSex"/>
<s:property value="#stu.stuAge"/>
<s:property value="#stu.stuZhengzhimianmao"/>
<s:property value="#stu.stuCard"/>
<s:property value="#stu.loginName"/>
<s:property value="#stu.loginPw"/>
<a href="#" onclick="stuDel(<s:property value="#stu.stuId"/>)" class="pn-loperator">删除</a>
<a href="#" onclick="stuEditPre(<s:property value="#stu.stuId"/>)"
class="pn-loperator">编辑</a>
</s:iterator>通过action文件做处理,相关核心代码如下:
<action name="stuDel" class="stuAction" method="stuDel"></action>后台的service层,teaAdd()方法中,通过dao层实现与数据库的交互,相关核心代码如下:
public String stuDel(){TStu stu=stuDAO.findById(stuId);
stu.setDel("yes");
stuDAO.attachDirty(stu);
this.setMessage("删除成功");
this.setPath("stuMana.action");
return "succeed";
}

5.5 修改学生信息
有修改学生权限的用户,可以在学生信息表格中点击编辑,对所需要修改的学生进行修改,页面跳转到学生编辑页面如图5-9所示,修改页面有编辑框,具体有学号、姓名、性别、年龄、政治面貌、太平洋银行卡号、登录帐号、登录密码、对文本框里面的信息进行修改,点击提交,系统后台对其进行处理后,系统提示操作成功,点击确定,页面显示修改后的页面表格如图5-10所示。

图5-9 学生编辑界面

图5-10 修改后的页面表格界面图

通过action文件跳转到stuEditPre.jsp页面,相关核心代码如下:

<action name="stuEditPre" class="stuAction" method="stuEditPre">
<result name="success">/admin/stu/stuEditPre.jsp</result>
</action>
后台的service层,stuEditPre()方法中,通过dao层实现与数据库的交互,相关核心代码如下:
public String stuEditPre(){TStu stu=stuDAO.findById(stuId);
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("stu", stu);
return ActionSupport.SUCCESS;
}

5.6 学生、教师的查询
有查询权限的用户,可以对学生或者教师进行查询操作,本系统对于学生查询,提供学生学号查询和学生姓名查询,对教师提供教师姓名查询。用户在查询学生时,可以在学生查询界面的学号文本框中输入要查询的学号如图5-11所示,点击查询,交由系统后台进行处理,存在则页面显示所要查询人的详细信息,不存在则页面什么也不显示。也可以可以在学生查询界面的姓名文本框中输入要查询的姓名,点击查询,交由系统后台进行处理,存在则页面显示所要查询人的详细信息如图5-12所示,不存在则页面什么也不显示。用户在查询教师时,可以在教师查询界面的姓名文本框中输入要查询的姓名,点击查询,交由系统后台进行处理,存在则页面显示所要查询人的详细信息,不存在则页面什么也不显示。

图5-11 学生查询界面

图5-12 点击查询后页面显示所查询人的详细信息图

学生学号查询页面展示相关主要代码如下:

<form action="<%=path %>/stuSearch.action" name="formAdd" method="post">
学号:<input type="text" name="stuXuehao" size="20"/>
<input type="submit" value="查询"/>;
<input type="reset" value="重置"/>;
</form>学生姓名查询页面展示相关主要代码如下:
<form action="<%=path %>/stuSearchByName.action" name="formAdd" method="post">
姓名:<input type="text" name="stuRealname" size="20"/>
<input type="submit" value="查询"/>;
<input type="reset" value="重置"/>;
</form>       通过action文件跳转到stuSearch.jsp页面,相关核心代码如下:
<action name="stuSearch" class="stuAction" method="stuSearch">
<result name="success">/admin/stu/stuMana.jsp</result>
</action>
后台的service层,stuSearch()方法中,通过dao层实现与数据库的交互,相关核心代码如下:
public String stuSearch(){String sql="from TStu where del='no' and stuXuehao like '%"+stuXuehao.trim()+"%'";
List stuList=stuDAO.getHibernateTemplate().find(sql);
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("stuList", stuList);
return ActionSupport.SUCCESS;
}
后台的service层,stuSearchByName()方法中,通过dao层实现与数据库的交互,相关核心代码如下:
public String stuSearchByName(){String sql="from TStu where stuRealname ="+stuRealname;
//List stuList=stuDAO.getHibernateTemplate().find(sql);
List stuList = stuDAO.findByStuRealname(stuRealname);
Map request=(Map)ServletActionContext.getContext().get("request");
request.put("stuList", stuList);
return ActionSupport.SUCCESS;
}

5.7 学生信息的导入和导出管理
拥有此权限的用户可以对当前系统中所有存在的学生信息导出到excel表格中或者对系统外的excel表格中的学生信息进行导入操作,存放在系统数据库中。用户可以在学生信息表格的左下角点击导出按钮,通过系统后台的处理弹出窗口,选择安装路径如图5-13所示,点击下载,将在桌面上生成所想生成的excel表格,打开表格显示学生详细信息。用户也可以对系统之外的excel表格进行导入,点击学生信息表格中的导入按钮,点击后按钮下方显示选择文件,点击选择文件按钮,选择所要导入的excel表格如图5-14所示,点击打开,再点击导入按钮,系统提示操作成功,点击确定,将excel表格中的信息导入到系统数据库中,显示在页面学生信息表格。

图5-13 选择存放路径图

图5-14 选择要导入的excel表格图
导入导出按钮,通过javaScript将要导入或导出的文件交由后台去处理,相关主要代码如下:

<input type="button" value="添加" style="width: 80px;" onclick="stuAdd()" />
<input type="button" value="导出" style="width: 80px;" onclick="daochu()" />
<input type="button" value="导入" style="width: 80px;" onclick="daoru()" />
function daochu(){var url="<%=path %>/stuDaochu.action";
window.open(url,"_self");
}
function daoru(){document.getElementById("liu").style.display="block";
}通过action文件经过一些参数配置将文件导入,相关核心代码如下:
<action name="stuDaochu" class="stuAction" method="stuDaochu">
<result name="success"  type="stream">
<param name="contentType">application/vnd.ms-excel</param>
<param name="contentDisposition">attachment;filename="${filename}"</param>
<param name="inputName">inputStream</param>
<param name="bufferSize">4094</param>
</result>
</action>
<action name="stuDaoru" class="stuAction" method="stuDaoru"></action>将所选定的文件,通过IO流进行导入和导出,相关核心代码如下:
public String stuDaochu(){
this.filename=new String("学生信息.xls".getBytes(), "ISO-8859-1");
return ActionSupport.SUCCESS;
}
public String stuDaoru() throws IOException{String dstPath = "c:\\:"+fujianFileName;
File dstFile = new File(dstPath);
copy(this.getFujian(),dstFile);
FileInputStream fin=new FileInputStream(dstPath);
HSSFWorkbook workbook=new HSSFWorkbook(fin);//创建工作薄
HSSFSheet sheet=workbook.getSheetAt(0);//得到工作表
HSSFRow row=null;//对应excel的行
HSSFCell cell=null;//对应excel的列
int totalRow=sheet.getLastRowNum();//得到excel的总记录条数
for(int i=1;i<=totalRow;i++){row=sheet.getRow(i);
cell=row.getCell(0);
String stuRealname=cell.getRichStringCellValue().toString();
cell=row.getCell(1);
String stuSex=cell.getRichStringCellValue().toString();
cell=row.getCell(2);
String stuAge=cell.getRichStringCellValue().toString();
cell=row.getCell(3);
String stuXuehao=cell.getRichStringCellValue().toString();
cell=row.getCell(4);
String stuZhengzhimianmao=cell.getRichStringCellValue().toString();
cell=row.getCell(5);
String stuCard=cell.getRichStringCellValue().toString();
cell=row.getCell(6);
String loginName=cell.getRichStringCellValue().toString();
cell=row.getCell(7);
String loginPw=cell.getRichStringCellValue().toString();
TStu stu=new TStu();
stu.setStuXuehao(stuXuehao);
stu.setStuRealname(stuRealname);
stu.setStuSex(stuSex);
stu.setStuAge(stuAge);
stu.setStuZhengzhimianmao(stuZhengzhimianmao);
stu.setStuCard(stuCard);
stu.setLoginName(loginName);
stu.setLoginPw(loginPw);
stu.setDel("no");
stuDAO.save(stu);
}
this.setMessage("操作成功");
this.setPath("stuMana.action");
return "succeed";
}

5.8 管理员设置
管理员,他在系统中拥有最高的权限,只有自己才可以对自己的密码进行修改,其他用户如教师、学生都不可一对他的密码进行修改。管理员修改个人密码。管理员将自己的原密码、新密码和确认密码分别写入对应的三个文本框,点击修改,如果用户输入的原密码不正确,未输入新密码,两次输入密码不一致,经系统后台处理后,系统都将有相应的提示,修改就没有成功。如果经系统后台处理,没有上述问题,则系统提示修改成功如图5-15所示,点击确定后显示到修改页面。

图5-15 系统提示修改成功图
管理员修改密码界面,有登录名文本框、原密码文本框、新密码文本框、确认密码文本框,相关主要代码如下:

登录名:<input type="text" value="${sessionScope.admin.userName }" name="userName" size="20" disabled="disabled"/>
原密码:<input type="password" name="userPw" id="userPw" size="22"/>
新密码:<input type="password" id="userPw1" name="userPw1" size="22"/>
确认密码:<input type="password" name="userPw2" id="userPw2" size="22"/>
<input type="button" value="修改" onclick="check()"/>
<input type="reset" value="重置"/>
img id="indicator" src="<%=path %>/images/loading.gif" alt="Loading..." style="display:none"/>通过javaScript将录入的信息的文件交由后台去处理:
function check(){document.getElementById("indicator").style.display="block";
loginService.adminPwEdit(document.formPw.userPw1.value,callback);
}
后台的service层,在adminPwEdit()方法中,通过dao层实现与数据库的交互,相关核心代码如下:
public String adminPwEdit(String userPwNew){System.out.println("DDDD");
e.printStackTrace();
WebContext ctx = WebContextFactory.get();
HttpSession session=ctx.getSession();
TAdmin admin=(TAdmin)session.getAttribute("admin");
admin.setUserPw(userPwNew);
adminDAO.getHibernateTemplate().update(admin);
session.setAttribute("admin", admin);
return "yes";
}在jsp页面中通过回调函数换取后台信息,相关核心代码如下:
function callback(data){document.getElementById("indicator").style.display="none";
alert("修改成功");
}

5.9 项目中主要类的命名规范
1)Action层类名命名为模型名+Action,例如用户相关的命名为UserAction,其中包含了与用户相关的操作;
2)Service层类名命名为模型+Service,例如用户相关的命名为UserService;
3)DAO层类名为模型名+DAO,例如用户相关的则为UserDAO;
4)Model层类名为模型名,例如用户类命名为User。

5.10 项目总体框架
学生信息管理系统采用MVC架构开发,整个项目总体框架如图5-16所示,action包里主要是各种Action处理方法;service包中的类调用DAO (Data Access Objects)层的方法实现复杂的数据库访问;DAO层是数据访问层,主要进行数据访问;model是抽象数据模型,包括用户类。Struts.xml是Structs2的配置文件。

图5-16 项目源文件分布图

6 系统调试与测试
6.1 程序调试
省略

6.2 程序的测试
6.2.1 测试的重要性及目的
省略

6.2.2 测试的步骤
省略

6.2.3 测试的主要内容
省略

6.3 关于本系统的测试
学生信息管理系统”软件是一个规模较小、面向一般应用、操作简单的软件。程序模块调用结构简单,代码量不大,而且我们用的编程工具是Eclipse系统,可以提供强有力的调试环境。设计测试用例时,应尽量具有代表性和典型性,注意边界情况和非常规操作过程的测试。要求测试者有最基本的计算机使用经验、对Win 7等Windows环境使用的基本技能、会使用鼠标、能够录入汉字。会使用Microsoft SQL Server 及其管理工具。

6.3.1 用户登录模块测试
在登录界面,用户不输入用户名和密码,直接点击登录,系统会提示请输入用户名如图6-1所示。

图6-1 系统提示输入用户名
用户输入了用户名,但未输入密码,点击登录,系统会提示请输入密码如图6-2所示。

图6-2 系统提示请输入密码
用户输入用户名和密码,但没有选择身份,点击登录后,系统提示请选择登录身份如图6-3所示。

图6-3 系统提示请选择登录身份
用户没有输入正确用户名或者正确密码或选择身份错误,点击登录,系统会提示用户名或密码错误如图6-4所示。

图6-4 系统提示用户名或密码错误

6.3.2 查询学生、教师模块测试
在学生查询界面,用户输入系统中不存在的学号如图6-5所示,点击查询,系统界面显示为空的界面表格如图6-6所示。用户输入系统不存在的学生姓名如图6-7所示,点击查询,系统界面显示为空的界面表格如图6-8所示。用户输入系统不存在的教师姓名如图6-9所示,点击提交查询,系统界面显示为空的界面表格如图6-10所示。

图6-5 用户输入不存在的学生学号

图 6-6 点击查询后系统界面显示

图6-7 用户输入不存在的学生姓名

图6-8 点击查询后系统界面显示

图6-9 用户输入不存在的教师姓名

图6-10 点击查询后系统界面显示

6.3.3 管理员设置模块测试
在管理员密码修改界面,管理员未在输入新密码文本框和确认密码文本框中输入新密码和确认密码,点击修改,系统提示新密码不能为空如图6-11所示。管理员在新密码文本框中与确认密码文本框中输入的密码不一致时,点击修改,系统提示两次输入密码不一致如图6-12所示。管理员在原密码文本框中输入的原密码不正确时,点击修改,系统提示原密码不正确如图6-13所示。管理员未在原密码文本框中输入密码时,点击修改,系统提示原密码不正确如图6-14所示。

图6-11 系统提示新密码不能空

图6-12 系统提示两次输入的密码不一致

图6-13 系统提示原密码不正确

图6-14 系统提示原密码不正确

结 论
省略

参考文献
[l]刘星星.基于B/S模式的学生信息管理系统[J].软件导刊,2006,(7)
[2]刘洪星,谢玉山.Eclipse开发平台及其应用[J].武汉理工大学学报(信息与管理工程版),2005,(2)
[3]张璐,马丽.数据库设计[J].安阳工学院学报,2007,(4)
[4]陈宗娇. 基于Struts+Spring+Hibernate多层框架的Web应用系统研究与实现
[D].辽宁工程技术大学,2006
[5]李平.基于JSP的动态网页开发技术[J].微计算机信息,2009,(21)
[6]李继蕊.Struts和Hibernate多层架构的研究与应用[D].武汉理工大学,2006
[7]孙振亚.JSP与MYSQL的连接[J].数字技术与应用,2012,(11)
[8]顾晓宁.基于JAVA语言在WEB开发的知识探讨[J].湖北函授大学学报,2012,(1)
[9]刘媛春, 罗云翔.基于JSP的动态网页技术[J]。成都信息工程学院学报,2005,(4)
[10]Xu Yongsen,hebiao.Specification language NUJSL based on JSP and its supporting system[J].Journal of Computer Science and Technology,1992,vol.7(2),pp.153-163
[11]Gage J S.Implications of java technology[J]. M.D. computing : computers in medical practice,1997, Vol.14 (4), pp.283-5
[12]Yongchang Ren,Deyi Jiang,Tao Xing,Ping Zhu. Research on software development platform based on SSH framework structure[J].Procedia Engineering,2011, Vol.15 , pp.3078-3082

致 谢
省略

外文原文
省略

中文翻译
省略


5、源码下载:

本项目源码及论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号 毕业设计全套资源(点击下载)
本项目源码 基于javaEE+SSH+SQL Server的学生信息管理系统设计与实现(源码+文档)_JAVAEE_SSH_学生信息管理系统

【java毕业设计】基于javaEE+SSH+SQL Server的学生信息管理系统设计与实现(毕业论文+程序源码)——学生信息管理系统相关推荐

  1. 【java毕业设计】基于Javaee+ajax的影视创作论坛设计与实现(毕业论文+程序源码)——影视创作论坛

    基于Javaee+ajax的影视创作论坛设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Javaee+ajax的影视创作论坛设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 文章 ...

  2. C#毕业设计——基于C#+asp.net+sqlserver的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎

    基于C#+asp.net+sqlserver的搜索引擎设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的搜索引擎设计与实现,文章末尾附有本毕业设计的 ...

  3. asp毕业设计——基于asp+access的网上远程教育网设计与实现(毕业论文+程序源码)——网上远程教育网

    基于asp+access的网上远程教育网设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的网上远程教育网设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下 ...

  4. asp毕业设计——基于asp+access的博客网站设计与实现(毕业论文+程序源码)——博客网站

    基于asp+access的博客网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的博客网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告P ...

  5. asp毕业设计——基于asp+sqlserver的个人网站建设设计与实现(毕业论文+程序源码)——个人网站建设

    基于asp+sqlserver的个人网站建设设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+sqlserver的个人网站建设设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  6. asp毕业设计——基于asp+sqlserver的WEB社区论坛设计与实现(毕业论文+程序源码)——社区论坛

    基于asp+sqlserver的WEB社区论坛设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+sqlserver的WEB社区论坛设计与实现,文章末尾附有本毕业设计的论文和源码下载地 ...

  7. asp毕业设计—— 基于asp+access的课程教学网站设计与实现(毕业论文+程序源码)——教学网站

    基于asp+access的课程教学网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的课程教学网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开 ...

  8. asp毕业设计——基于asp+access的校园网物品交易平台设计与实现(毕业论文+程序源码)——校园网物品交易平台

    基于asp+access的校园网物品交易平台设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的校园网物品交易平台设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  9. C#毕业设计——基于C#+asp.net+sqlserver的网络商店设计与实现(毕业论文+程序源码)——网络商店

    基于C#+asp.net+sqlserver的网络商店设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的网络商店设计与实现,文章末尾附有本毕业设计的 ...

  10. asp毕业设计——基于asp+access的商品销售网站设计与实现(毕业论文+程序源码)——商品销售网

    基于asp+access的商品销售网设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的商品销售网设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 文章目录: ...

最新文章

  1. 深度解读 OpenYurt :边缘自治能力设计解析
  2. 13-NSPersistentContainer性能比较
  3. ubuntu 16.04 安装教程
  4. 【FPGA】——Verilog语法
  5. linux MISC 驱动模型分析
  6. 计算机辅助设计与图像学学报 改后发表,几种常见图像二值化方法的结果对比与分析...
  7. 22. javacript高级程序设计-高级技巧
  8. 为什么房间的 Wi-Fi 信号这么差
  9. MSSQL生成连续的时间
  10. 关于网狐游戏vs2003移植到vs2013
  11. ES6--Reflect
  12. 求职简历中一些常见的问题
  13. python求一组数的最大值_用python实现在一组数据中,寻找到最大数和最小数并输出最大数和最小数所在的位置...
  14. 浏览器禁用了cookie怎么办
  15. Python 输出[m,n]之间既能被3整除又能被7整除的数
  16. 从两个角度谈谈:什么是产品视角
  17. 如何用Jquery获取某一个Div的Class或者ID
  18. Cisco CCNP认证642-902题库资讯
  19. OpenPortal V5认证计费系统说明文档
  20. BT5 在线视频教程

热门文章

  1. simscape学习
  2. C语言一元多项式相加(链表)
  3. 基于html的咖啡网站
  4. centos7 Jumpserver堡垒机部署以及使用详情
  5. MSDN,好一个资源站
  6. 2017.1-2018.4低运算复杂度和存储复杂度的图像分类网络实现
  7. android电量百分比,新应用可让Android 4.4显示内置电量百分比
  8. CDA学习-------描述性统计分析
  9. Vue使用sign-canvas实现在线手写签名
  10. 生信宝典文章集锦,一站式学习生信!众多干货,有趣有料