




已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章 前 言1.1 开发背景 随着Internet在中国的迅速发展,人们日常生活中越来越多地使用Web技术来为自己的工作和学习服务。由于Web页面能把文本、图像、声音、动画、视像等多种媒体信息集于一体,不但使信息的显示更加生动,而且使信息的浏览更为方便,同时Web页能实现网上交易平台、客户信息反馈等功能,方便了企业与客户之间的信息交流,因此许多企业为增强知名度,以网站作为对外的展示窗口,进行内外信息交流。这也是企业面临的商机和挑战。服装厂正在扩大规模,而且涉及到了出口生意。服装厂的客户很多,分布于各地,甚至还有国外。每次有了新款式的服装时,不是所有的客户都能很方便的来到服装厂看货。所以通知客户的工作很繁琐,因为要给每个客户都发去新款式的数码照片,这是个多次重复而且复杂的工作。另外,客户通知服装厂订货大部分都是通过现场洽谈或者是电话来确定的,很不方便,而且对于现在的时间就是商机的现状,这样的效率是应该提高的。所以我设想开发这样的一个网站。1.2 开发目标开发目标有如下7点:l 能够在系统上展示产品,包括文字信息和图片信息。l 能够管理客户的信息。l 能够动态的给建立关系的客户赋予几种不同级别的权限,不同级别的客户可以看到不同浏览级别的产品。l 客户通过Internet浏览商品信息,可以在网上下订单。l 能够给产品设定不同的浏览级别。l 能够对产品的订货次数进行统计,对服装厂进行简单的决策支持。l 要求系统运行安全稳定。1.3 项目意义项目的意义有如下5点:l 服装企业有了自己的网站,可以将产品信息放在网站上,供所有浏览该网站的顾客浏览,可以起到宣传和广告的作用。l 任何人都可以注册为网站的用户,可以在网上下订单,这样可以增加客户的数量,扩大销售渠道,为客户提供方便。l 固定客户被赋予一定的权限之后统一到网站上浏览新产品的信息和下订单。这样可以省去服装企业为每个客户发送新款产品照片的这一繁琐工作,提高了工作效率,减少了失误。l 一些老款式的服装信息可以长期保存,比如说某个客户想要几年前的某个款式或者是某种面料,开发了这个网站后既方便服装厂又方便了客户。l 通过留言板,及时了解顾客对企业的意见和产品信息的反馈,为及时与顾客沟通信息提供了方便的平台。使企业及时地了解顾客的需求,及时地更新产品,更好的为顾客服务,提高企业的市场竞争力。总之,本项目在提高服装厂工作效率的同时,也能起到广告宣传的作用,正所谓一举多得。第2章 开发工具及运行环境本课题的开发工具有Java、MySQL数据库、Hibernate中间件、Tomcat等,运行环境包括软件环境和硬件环境。2.1 软件环境 1. Java Java能使软件在很小的机器上运行,基础解释和类库支持的大小约为40KB,增加基本的标准库和线程支持的内存需要增加125KB。它的特性列举如下:l Simple And Familiar(简单熟悉)。l Distributed(分布式)。l Object-Oriented(面向对象,OO)。l 健壮特性。l Secure(安全)。l Architecture-Neutral(结构中立)。l Portable(可移植性)。l Multi Threaded(多线索、多线程)。l Somewhat Interpreted(部分解释)。l High Performance(高性能)。l Dynamic(动态)。2. MySQL数据库MySQL默认配置了许多不同的存储引擎,可以预先设置或者在MySQL服务器中启用。可以选择适用于服务器、数据库和表格的存储引擎,以便在选择如何存储信息、如何检索这些信息以及需要数据结合什么性能和功能的时候提供最大的灵活性。选择如何存储和检索数据的这种灵活性是MySQL为什么如此受欢迎的主要原因。其他数据库系统(包括大多数商业选择)仅支持一种类型的数据存储。遗憾的是,其他类型的数据库解决方案采取的是“一个尺码满足一切需求”的方式,这就意味着要么牺牲一些性能,要么就用几个小时甚至几天的时间详细调整数据库。使用MySQL,仅需要修改使用的存储引擎就可以了。MySQL中的数据用各种不同的技术存储在文件或者内存中。这些技术中的每一种都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,能够获得额外的速度或者功能,从而改善应用的整体功能。3. Hibernate中间件对象和关系数据其实是业务实体的两种表现形式。业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承的关系,而在数据库中,关系数据无法直接表达多对多的关联和继承关系。因此把对象持久化到关系数据库中,需要进行对象关系映射(Object/Relation Mapping,简称ORM),这是一项繁琐耗时的工作。选择Hibernate作为中间件的原因如下:l 它可以对JDBC API进行封装,负责Java对象的持久化,在分层的软件架构中它位于持久化层,封装了所有数据访问的细节,使业务逻辑层可以专注于实现业务逻辑。l 它可以方便地使用数据库连接池。而且它是开放源代码。4. TomcatTomcat是一个免费的开源的Servlet容器,它是Apache基金会的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现。Tomcat被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。由于Java的跨平台特性,基于Java的Tomcat也具有跨平台性。很多中小应用不需要采用EJB等技术,JSP和Servlet已经足够,这时如果用应用服务器就有些浪费了。而Tomcat短小精悍,配置方便,能满足我们的需求,这种情况下我们自然会选择Tomcat。Tomcat也可以与其他一些软件集成起来实现更多的功能。现举例如下。l 与JBoss集成起来开发EJB。l 与Cocoon(Apache的另外一个项目)集成起来开发基于XML的应用。l 与OpenJMS集成起来开发JMS应用。除了以上提到的这几种,可以与Tomcat集成的软件还有很多。Tomcat确实是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性。如今,开源软件越来越受到人们的重视,Linux就是一个成功的典型。人们不再只限于使用软件,而且已经关心起软件的具体实现。我们有理由相信Tomcat会走得更远。5. 软件环境的安装与配置以上介绍的软件安装都很简单,其中JDK和MySQL的安装软件是可运行程序。只需直接安装即可。Tomcat、Hibernate的安装文件是压缩软件包,只需把压缩文件解压到本地磁盘,安装好后需在操作系统中设置环境变量。2.2 硬件环境本系统开发的硬件环境如下:l Pentium(R)4 CPU 2.80GHz。l 768 MB的内存。l 操作系统为Windows XP。l 网络连接速度为512KB。在本论文的性能测试部分中,会给出在这种硬件条件下的性能测试结果,以供服装厂参考配置服务器第3章 系统需求分析进行应用软件系统的研发,首先必须准确了解与分析用户的需求。需求分析是整个设计过程的基础,它将直接影响应用程序的开发速度与质量。3.1 功能需求分析经过现场调研,下面给出用户对系统的功能需求。1. 用户管理用户管理自然是每个网站必不可少的,在本系统中,要求这部分管理安全可靠,权限分明,且其在前台和后台的表现不同,下面将分别进行介绍。(1)前台表现l 用户注册,此时要保证系统不受注册机的攻击,要采用验证码技术。l 要确保权限为普通用户。l 要有密码保护措施,保证用户设定之后可以找回遗忘的密码。(2)后台表现l 系统管理员可以添加用户。l 系统管理员可以动态的给用户赋予权限,保证系统信息不外泄。l 系统管理员可以修改和删除用户信息。l 系统管理员可以给用户建立备注信息,其仅对具有权限的用户可见。2. 类别管理(1)前台表现l 类别首先分为男装、女装、童装三个大的固定类别。在每个大的类别之下,可以动态的添加或者删除小类别。示例:短裙、长裙均属于女装,女装为固定类别,而短裙、长裙则为小类别。l 产品按照类别来展示,用户通过不同的类别进入不同的产品区。(2)后台表现l 系统管理员可以动态的添加或者删除小类别。l 类别必须先于产品存在,换言之,每件产品必须属于一个类别。3. 品牌管理品牌可以为企业起到广告宣传的作用。(1)前台表现前台表现为展示品牌文化,对该类品牌进行详尽介绍,可以起到宣传的作用。(2)后台表现l 系统管理员可以动态添加和删除品牌。l 品牌必须先于产品存在,换言之,每件产品必须属于一个品牌。4. 产品管理产品管理是本系统的根本,安全可靠和按照权限展示是这部分的要求,要操作方便、展示美观。(1)前台表现l 产品展示中可以通过大类别小类别分级展示产品。l 要根据访问前台的用户级别不同而展示相应级别的产品,以防厂家的商业秘密外泄。l 产品图片要保证不失真。(2)后台表现l 系统管理员可以动态添加、修改和删除产品。l 必须为产品指定产品小类别。l 必须为产品指定产品品牌。l 产品信息要包含一幅或者多幅图片,图片的格式为JPG格式,文件小于200K。上传速度要快。l 对产品的订货次数进行统计,以便于对服装厂进行简单的决策支持。l 系统管理员可以动态调整产品的浏览级别。5. 网上订单管理网上订单能够带来的方便和快捷是服装厂所期待的。(1)前台表现l 用户可以看到自己所有订单的历史记录,以便用户自己做一些统计或者备忘。l 和服装厂建立业务往来的用户,可以在网上下订单,订单信息包括产品型号和数量,且这两项数据要求进行校验。(2)后台表现l 系统管理员可在后台查看所有和服装厂建立业务关系的用户订单,从而决定是留下或者是删除。l 若无特殊情况,要保证所有业务的用户订单都能够长久保留,这些历史数据可以为服装厂做统计或者做账目提供依据。6. 新闻管理发布新闻或者公告虽然不是本系统的重要部分,却是不能少的部分,倘若这一部分利用好,带来的商机也是不容小视的。(1)前台表现前台的表现是展示新闻,用户可以查阅。(2)后台表现后台的表现是系统管理员可以动态添加和删除新闻。7. 留言管理现在的企业网站都要有沟通的平台。大规模的一般为论坛,中小规模的网站一般是留言板。在本系统中,留言板是服装厂和用户之间沟通的桥梁,也是用户之间沟通的媒介。(1)前台表现l 分页显示留言。l 用户、服装厂自身可以发表留言。(2)后台表现后台的表现为系统管理员可以查看所有留言,并且可以对留言进行审核,也可以删除留言。3.2 用例图分析用例图是对包括变量在内的一组动作序列的描述,系统执行这些动作并产生传递特定参与者的价值的可观察结果。用例图主要的作用有以下三个。l 获取需求。l 指导测试。l 对其他工作流起到指导作用。1. 产品管理用例图产品管理用例图如图3.1所示。用户服装厂浏览产品删除产品修改产品发布产品图3.1 产品管理用例图提示:服装厂发布产品信息,包括添加、修改、删除等基本操作。用户在产品展示模块中可查看产品信息服装厂发布产品信息,包括添加、修改、删除等基本操作。用户在产品展示模块中可查看产品信息。2. 用户管理用例图用户管理用例图如图3.2所示。图3.2 用户管理用例图提示:系统管理员可以添加用户、修改用户、删除用户、管理前台注册用户信息、动态为前台注册的用户赋予不同的访问权限。浏览者可以注册。3. 订单管理用例订单管理用例图如图3.3所示。图3.3 订单管理用例图管理员在后台查看所有和服装厂建立业务关系的用户订单,决定是留下或者删除订单。和服装厂建立业务往来的用户,可以在网上下订单,也可以看到自己所有订单的历史记录。3.3 性能需求分析性能需求有以下3个方面:l 安全可靠,权限机制完善,防止信息外泄。l 可以防止注册机的攻击,要求采用验证码技术。l 可满足1000个用户同时在线访问。第4章 系统总体设计在对开发系统进行全面分析调查的基础上,制定出应用软件的总体设计规划,对建立一个大型的信息系统来说是必须的,也是全面展开开发工作的重要基础。系统总体设计包括:系统功能模块图设计、数据库设计、系统类图设计、软件体系结构设计等。4.1 系统功能模块图设计系统功能模块图如图4.1所示。图4.1 系统功能模块图4.2 数据库设计数据库的设计是按照以下分析进行的。l 浏览级别:产品的属性,用来设定产品提供给何种级别的用户浏览,分为所有浏览者、普通用户、系统用户、普通业务用户、高级业务用户5类。l 产品大类别:分为男装、女装、童装3类。l 产品小类别:分属于产品大类别,将产品大类别进一步分类。l 产品品牌:产品所属的品牌。l 留言板:分为中文版、英文版两类。l 用户级别:分为普通用户、系统用户、普通业务用户、高级业务用户4类。1. clothes表clothes如表4.1所示。表4.1 clothes表字段名SQL类型说明IDLong主键,对象标识符CLOTHIDString产品编号,由用户指定NAMEString产品名称,由用户指定TYPEChar产品的浏览级别BIGTYPEChar产品所属的大类别DESCRIPTIONString产品的详细信息DESCRIPTIONENGLISHString产品的英文详细信息KIND_IDLong产品所属的小类别TRADEMARK_IDLong产品所属的品牌REGISTERED_TIMETimestamp入库时间2. clothesorders表clothesorders如表4.2所示。表4.2 clothesorders表字段名SQL类型说明IDLong主键,对象标识符CLOTH_IDLong产品的IDORDER_IDLong订单的IDNUMBERInt订货数量3. kinds表kinds如表4.3所示。表4.3 kinds表字段名SQL类型说明IDLong主键,对象标识符NAMEString类别名称NAMEENGLISHString类别英文名称TYPEChar类别所属产品大类4. messages表messages如表4.4所示。表4.4 messages表字段名SQL类型说明IDLong主键,对象标识符TITLEString留言标题DESCRIPTIONString留言内容TYPEChar留言板块USER_IDLong留言者REGISTERED_TIMETimestamp留言时间5. news表news如表4.5所示。表4.5 news表字段名SQL类型说明IDLong主键,对象标识符TITLEString新闻标题TITLEENGLISHString新闻英文标题DESCRIPTIONString新闻内容DESCRIPTIONENGLISHString新闻英文内容REGISTERED_TIMETimestamp新闻发布时间6. orders表orders如表4.6所示。表4.6 orders表字段名SQL类型说明IDLong主键,对象标识符USER_IDLong下订单用户REGISTERED_TIMETimestamp下订单时间7. pictures表pictures如表4.7所示。表4.7 pictures表字段名SQL类型说明IDLong主键,对象标识符PATHString图片存储路径CLOTH_IDLong图片所属的产品ID8. trademarks表trademarks如表4.8所示。表4.8 trademarks表字段名SQL类型说明IDLong主键,对象标识符NAMEString品牌名称NAMEENGLISHString品牌英文名称DESCRIPTIONString品牌详细介绍DESCRIPTIONENGLISHString品牌英文详细介绍PICTUREPATHString品牌商标图片的存储路径9. users表users如表4.9所示。表4.9 users表字段名SQL类型说明IDLong主键,对象标识符NAMEString用户名PASSWORDString密码EMAILString电子邮箱TELEPHONEString电话号码ADDRESSString地址TYPEChar用户级别REGISTERED_TIMETimestamp注册时间DESCRIPTIONText备注信息QUESTIONString密码提示问题ANSWERString密码提示问题答案4.3 系统类图设计根据分析,本系统有下列8个类:产品类(Clothes)、类别类(Kinds)、留言类(Messages)、新闻类(News)、订单类(Orders)、图片类(Pictures)、品牌类(TradeMarks)、用户类(Users),系统类图如图4.2所示。图4.2 系统类图4.4 软件体系结构设计本系统软件层的结构可分为以下4层。l 表示层:提供与用户交互的界面。l 业务逻辑层:实现各种业务逻辑。l 持久化层(Hibernate):封装了数据访问的细节,为业务逻辑层提供了面向对象的API。l 数据库层:负责存放和管理应用的持久性业务数据。软件体系结构如图4.3所示。表示层图4.3 软件体系结构图第5章 系统详细设计详细设计的工作包括输入输出设计和界面设计,即根据总体设计的每个功能模块要求和数据库的逻辑结构,利用相应的开发工具设计出应用系统的过程。5.1 输入输出设计输入输出是系统与用户的主要交互界面,其设计的好坏直接影响系统的性能,这里力求达到界面友好、信息直观和操作方便。1. 后台管理用户管理添加用户图5.1所示为添加用户的界面,包括全部用户信息。其用户级别为一下拉列表,用户分为两类,即系统用户和普通用户,可由用户选择;其他栏目由用户输入。图5.1 添加用户界面2. 后台管理类别/品牌添加类别图5.2所示为后台管理的添加类别界面。类别的中文名和英文名由用户输入,例如:牛仔服、针织、西装、裙装等;类别所属大类以下拉列表的形式供用户选择,包括女装、男装、童装等。3. 后台管理类别/品牌添加品牌图5.3所示为后台管理的添加品牌界面,可通过该界面为经营的服装品牌添加信息。 图5.2 添加类别界面 图5.3 添加品牌界面4. 后台管理产品管理添加产品图5.4所示为后台管理的添加产品界面,可通过该界面为服装的产品添加信息。查看级别规定了能查看该产品的用户;产品类别包括产品所属的大类和小类,小类在前,大类在后。图5.4 添加产品界面5. 前台展示用户注册图5.5所示为用户的注册界面,用户通过该界面输入个人信息。图5.5 用户注册界面6. 前台展示生成订单图5.6所示为前台用户的生成订单界面。当用户选择了产品且输入了数量后,单击“添加该产品”按钮即可生成一订单条目,用户确认订单条目后,单击“提交该订单信息”按钮即可提交订单。单击“清除该订单信息”按钮将清除订单信息。图5.6 生成订单界面5.2 界面设计界面是软件的门面,应达到美观、舒适、操作方便、信息准确全面、结构合理等标准。1. 后台管理界面后台管理界面采用传统的菜单管理框架,如图5.7所示。图5.7 后台管理界面2. 前台系统首页用户一打开该网站,就应通过登录首页对该网站的功能一目了然,网站的背景采用精美的时装造型吸引顾客的注意力。用户可以根据“男装”、“女装”、“童装”等不同的类别浏览该企业的产品信息,也可以通过“品牌”的分类来浏览企业的产品信息。“联系我们”提供了该企业的相关信息,“留言板”使用户可以方便的留下意见和建议。前台系统首页如图5.8所示。图5.8 前台系统首页3. 前台主要展示界面产品展示界面为用户浏览商品信息的主要界面。按不同的分类浏览(女装、男装、童装、品牌),不同的分类其商品信息也不同,但功能风格相同,在这里只给出女装的展示界面。每种产品都以小图片和简介的形式展示,单击“查看详情”按钮可以查看商品的详细信息和放大图片,以直观的形式介绍产品。另外在该界面中,用户可以直接注册和登录,还有企业的常用联系方式、商品的类别,从而为用户的操作提供了方便。产品展示界面如图5.9所示。图5.9 产品展示界面第6章 系统代码设计6.1 软件的体系结构本系统软件层结构分为4层:即表示层、业务逻辑层、持久化层和数据库层。各层实现的具体方法如下。1. 表示层表示层提供与用户交互的界面,用Web页面实现。2. 业务逻辑层业务逻辑层实现各种业务逻辑。这一层在系统中的体现是分为两个方面的: 封装并且分层的纯Java应用程序,为提供API,相当于做成组件的形式。 在Web页面中实现各种业务,在这里调用中提供的各种接口。其中,在里提到的纯Java应用程序又分为两类:即持久化类和业务逻辑类,下面将分别进行介绍。(1)持久化类Hibernate提供了从映射文件到Java源代码的转换工具,名为hbm2java工具。执行该任务的Java类为net.sf.hibernate.tool.hbm2java.CodeGenerator,可以用ANT工具来运行它,在build.xml文件中定义codegen target,代码如下: 运行codegen target,只需要在DOS命令下进入clothes根目录,然后输入如下命令:ant codegen以上命令会自动创建*.java和*Finder.java文件,如Clothes.java、ClothesFinder.java等,如图6.1所示。图6.1 创建文件(2)业务逻辑类业务逻辑类相当于实现业务。它提供接口,以供调用,业务逻辑类分为两层。l FatherService.java是父类。l ClothesService.java、ClothesOrdersService.java、KindsService.java、MessagesService.java、NewsService.java、OrdersService.java、PicturesService.java、TradeMarksService.java、UsersService.java是其子类。下面为FatherService.java的源代码:package mypack;import javax.servlet.*;import net.sf.hibernate.*;import net.sf.hibernate.cfg.Configuration;import java.io.*;import java.sql.Date;import java.sql.Timestamp;import java.util.*;public class FatherServicepublic static SessionFactory sessionFactory;static Try Configuration config=new Configuration(); config.addClass(Users.class); config.addClass(Clothes.class); config.addClass(ClothesOrders.class); config.addClass(News.class); config.addClass(Orders.class); config.addClass(Pictures.class); config.addClass(TradeMarks.class); config.addClass(Messages.class); config.addClass(Kinds.class); config.addClass(Caipiao.class); sessionFactory=config.buildSessionFactory(); catch(Exception e) e.printStackTrace(); 提示:一个SessionFactory实例对应一个数据存储源,应用从SessionFactory中获得session实例。它是线程安全的,同一个实例可被多个线程共享,它是重量级的,意味着不能随便创建和销毁SessionFactory实例。3. 持久化层(Hibernate)封装了数据访问的细节,为业务逻辑层提供了面向对象的API。本系统应用的是Hibernate,如图6.2所示。注意:此处只示意一个实体类对应一个表的情况,其他情况依此类推。图6.2 应用Hibernate4. 数据库层数据库层负责存放和管理应用的持久性业务数据。Hibernate提供了从映射文件到数据库Schema的转换工具,即hbm2ddl。执行该任务的Java类为net.sf.hibernate.tool.hbm2ddl.SchemaExportTask。在本系统中是应用ANT工具来运行它的,首先在build.xml中定义schema target,代码如下: 运行schema target 的步骤如下。步骤1:启动MySQL服务器。步骤2:通过mysql.exe客户程序创建SAMPLEDB数据库,SQL命令为:Create database SAMPLEDB;步骤3:在DOS命令下进入clothes根目录,然后输入如下命令:ant schema6.2 关键问题代码设计(1)验证码技术为防止用户利用机器自动注册、登录以及灌水,故而采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号生成一幅图片,图片里加上一些干扰元素(防止OCR),由用户肉眼识别其中的验证码信息并输入表单,再提交给网站验证,验证成功后才能使用某项功能。验证码的实现流程是:l 服务器端随机生成验证码字符串,保存在内存中,并写入图片,发送给浏览器端显示。l 浏览器端输入验证码图片上的字符,然后提交服务器端,提交的字符与服务器端保存的字符进行比较,若一致就继续,不一致则返回提示。攻击者编写的robot程序很难识别验证码字符,所以不能顺利的完成自动注册、登录以及其他操作。用户可以识别填写,这就实现了阻挡攻击的作用。图片的字符识别就是看图片上的干扰强度了。就实际的效果来说,验证码只是增加攻击者的难度,而不可能完全的防止。6.3 关键问题代码设计(2)图片等比例缩放这个技术在网络上早就已经不是秘密了,而且采用千篇一律的代码,之所以会把这段程序放在这里,是因为在后期测试的时候发现原来展示的图片都变了形,于是要想办法保证图片不能失真,我通过查找资料解决了这个问题,代码如下:var flag=false;function DrawImage(ImgD,iwidth,iheight) /参数(图片、允许的宽度、允许的高度) var image=new Image(); /创建一个图片对象 image.src=ImgD.src; /图片对象的原路径被设定为参数的原路径 if(image.width0 & image.height0) flag=true; if(image.width/image.height=iwidth/iheight) if(image.widthiwidth) ImgD.width=iwidth; ImgD.height=(image.height*iwidth)/image.width; else ImgD.width=image.width; ImgD.height=image.height; ImgD.alt=image.width+image.height; else if(image.heightiheight) ImgD.height=iheight; ImgD.width=(image.width*iheight)/image.height; else ImgD.width=image.width; ImgD.height=image.height; ImgD.alt=image.width+image.height; 6.4 关键问题代码设计(3)数据库连接池Hibernate提供了默认的连接池实现,它的实现类为DriverManagerConnectionProvider,如果在Hibernate的配置文件中没有明确配置任何连接池,那么Hibernate就会使用这个默认的连接池。如下代码为Hibernate的配置文件。本系统在现阶段只使用这个连接池。hibernate.dialect=net.sf.hibernate.dialect.MySQLDialecthibernate.connection.driver_class=com.mysql.jdbc.Driverhibernate.connection.url=jdbc:mysql:/localhost:3306/sampledbhibernate.connection.username=roothibernate.connection.password=1234hibernate.show_sql=true6.5 关键问题代码设计(4)图片文件上传文件上传在JSP教程上都有现成的代码,但是源代码不足之处在于要生成临时文件,这样要写磁盘,速度会很慢,而下面的代码是直接读取输入流,没有生成临时文件,故而上传速度有显著的提高。try if(request.getContentLength()(1024*1024) % alert(上传的图片太大了!请更换!); 0 ) session.setAttribute(iuploadspeed,String.valueOf( itotal-ipretotal)/1024.0)*1000.0/ (System.currentTimeMillis()-stime); stime=System.currentTimeMillis(); ipretotal=itotal; s=new String(b,0,a); if( istep =0 ) if ( s.length()=0 ) random2.close(); /random3.close(); sis.close(); response.sendRedirect(./error/error.jsp?errorS=3); /无上传视频文件错误页面 if( s.equals(split) a=sis.readLine(b,0,b.length); itotal=itotal+a; a=sis.readLine(b,0,b.length); itotal=itotal+a; istep+; else random2.write( b, 0, a ); random2.close(); /random3.close(); sis.close(); Str
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 6.2化学反应的速率与限度 教学设计 (1) 2023-2024学年高一下学期化学人教版(2019)必修第二册
- 数字化建筑施工方案创新创业项目商业计划书
- 棕制品创新创业项目商业计划书
- 拍卖运营师工艺创新考核试卷及答案
- 小白菜冷链物流体系创新与升级创新创业项目商业计划书
- 公关安全系统培训资料课件
- 机电设备维修工安全规范考核试卷及答案
- 2025年数字孪生技术在城市规划与建设中的智慧城市交通信号优化与评估优化报告
- 森林抚育工设备维护与保养考核试卷及答案
- 皮革加工工理论知识考核试卷及答案
- 超全自考英语二词汇表-含音标4500-个单词
- GB/T 19633.1-2015最终灭菌医疗器械包装第1部分:材料、无菌屏障系统和包装系统的要求
- GB/T 10125-2021人造气氛腐蚀试验盐雾试验
- 吸附及吸附过程课件
- 羽毛球运动基础知识简介课件
- 设计美学研究课件
- 管道施工安全检查表
- 部编版七年级上册语文《雨的四季》课件(定稿;校级公开课)
- 自动控制原理全套ppt课件(完整版)
- 归园田居优质课一等奖课件
- 喷(烤)漆房VOCs治理设施日常运行台账
评论
0/150
提交评论