一、java是什么
Java简介
[编辑本段]
Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新。
Java平台由Java虚拟机(Java Virtual Machine)和Java应用编程接口(Application Programming Interface、简称API)构成。Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.1x版发展到1.2版。目前常用的Java平台基于Java1.4,最近版本为Java1.7。
Java分为三个体系J2SE(Java2 Standard Edition),J2EE(Java 2 Platform,Enterprise Edition),J2ME(Java 2 Micro Edition)。
Java语言
[编辑本段]
Java语言是一个支持网络计算的面向对象程序设计语言。Java语言吸收了Smalltalk语言和C++语言的优点,并增加了其它特性,如支持并发程序设计、网络通信、和多媒体数据控制等。主要特性如下:
1、Java语言是简单的。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
2、Java语言是一个面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。
3、Java语言是分布式的。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java.net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
4、Java语言是健壮的。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。
5、Java语言是安全的。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
6、Java语言是体系结构中立的。Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
7、Java语言是可移植的。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。
8、Java语言是解释型的。如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
9、Java是高性能的。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
10、Java语言是多线程的。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
11、Java语言是动态的。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise APIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
相关技术
[编辑本段]
1、JDBC(Java Database Connectivity)提供连接各种关系数据库的统一接口。
2、EJB(Enterprise JavaBeans)使得开发者方便地创建、部署和管理跨平台的基于组件的企业应用。
3、Java RMI(Java Remote Method Invocation)用来开发分布式Java应用程序。一个Java对象的方法能被远程Java虚拟机调用。这样,远程方法激活可以发生在对等的两端,也可以发生在客户端和服务器之间,只要双方的应用程序都是用Java写的。
4、Java IDL(Java Interface Definition Language)提供与CORBA(Common Object Request Broker Architecture)的无逢的互操作性。这使得Java能集成异构的商务信息资源。
5、JNDI(Java Naming and Directory Interface)提供从Java平台到的统一的无逢的连接。这个接口屏蔽了企业网络所使用的各种命名和目录服务。
6、JMAPI(Java Management API)为异构网络上系统、网络和服务管理的开发提供一整套丰富的对象和方法。
7、JMS(Java Message Service)提供企业消息服务,如可靠的消息队列、发布和订阅通信、以及有关推拉(Push/Pull)技术的各个方面。
8、JTS(Java transaction Service)提供存取事务处理资源的开放标准,这些事务处理资源包括事务处理应用程序、事务处理管理及监控。
在Java技术中,值得关注的还有JavaBeans,它是一个开放的标准的组件体系结构,它独立于平台,但使用Java语言。一个JavaBean是一个满足JavaBeans规范的Java类,通常定义了一个现实世界的事物或概念。一个JavaBean的主要特征包括属性、方法和事件。通常,在一个支持JavaBeans规范的开发环境(如Sun Java Studio和IBM VisualAge for Java)中,可以可视地操作JavaBean,也可以使用JavaBean构造出新的JavaBean。JavaBean的优势还在于Java带来的可移植性。现在,EJB(Enterprise JavaBeans)将JavaBean概念扩展到Java服务端组件体系结构,这个模型支持多层的分布式对象应用。除了JavaBeans,典型的组件体系结构还有DCOM和CORBA,关于这些组件体系结构的深入讨论超出了本书的范围。
Java开源项目
[编辑本段]
Spring Framework【Java开源 J2EE框架】
Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。 Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring的架构基础是基于使用JavaBean属性的 Inversion of Control容器。然而,这仅仅是完整图景中的一部分:Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的。 Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了 Hibernate和其他O/R mapping解决方案。Spring还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如JTA或者JDBC事务提供一个一致的编程模型。 Spring提供了一个用标准Java语言编写的AOP框架,它给POJOs提供了声明式的事务管理和其他企业事务--如果你需要--还能实现你自己的 aspects。这个框架足够强大,使得应用程序能够抛开EJB的复杂性,同时享受着和传统EJB相关的关键服务。Spring还提供了可以和IoC容器集成的强大而灵活的MVC Web框架。【SpringIDE:Eclipse平台下一个辅助开发插件】.
WebWork【Java开源 Web框架】
WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目。 Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。 Xwork提供了很多核心功能:前端拦截机(interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL– the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成 Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了对AJAX的支持,这支持是构建在DWR与Dojo这两个框架的基础之上.【EclipseWork:用于WebWork辅助开发的一个Eclipse插件】
Struts【Java开源 Web框架】
Struts是一个基于Sun J2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在过去的一年中颇受关注。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间,所以说Struts是一个非常不错的应用框架。【StrutsIDE:用于Struts辅助开发的一个Eclipse插件】
Hibernate【Java开源持久层框架】
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的Hibernate辅助开发工具:【Hibernate Synchronizer】【MiddlegenIDE】
Quartz【Java开源 Job调度】
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。Quartz的最新版本为Quartz 1.5.0。
Velocity【Java开源模板引擎】
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。 Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine web开发架构提供模板服务(template service)。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个真正的MVC模型进行开发。【VeloEclipse:Velocity在Eclipse平台下的一个辅助开发插件】
IBATIS【Java开源持久层框架】
使用ibatis提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的Java对象,这一层与通过Hibernate实现ORM而言基本一致,而对于具体的数据操作,Hibernate会自动生成SQL语句,而ibatis则要求开发者编写具体的SQL语句。相对Hibernate等“全自动”ORM机制而言,ibatis以SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间。作为“全自动”ORM实现的一种有益补充,ibatis的出现显得别具意义。
Compiere ERP&CRM【Java开源ERP与CRM系统】
Compiere ERP&CRM为全球范围内的中小型企业提供综合型解决方案,覆盖从客户管理、供应链到财务管理的全部领域,支持多组织、多币种、多会计模式、多成本计算、多语种、多税制等国际化特性。易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购-采购-发票-付款、报价-订单-发票-收款、产品与定价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了。
Roller Weblogger【Java开源 Blog博客】
这个weblogging设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模板,RSS syndication,blogroll管理和提供一个XML-RPC接口。
Eclipse【Java开源开发工具】
Eclipse平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数—4千万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。
XPlanner【Java开源项目管理】
XPlanner一个基于Web的XP团队计划和跟踪工具。XP独特的开发概念如iteration、user stories等,XPlanner都提供了相对应的的管理工具,XPlanner支持XP开发流程,并解决利用XP思想来开发项目所碰到的问题。 XPlanner特点包括:简单的模型规划,虚拟笔记卡(Virtual note cards),iterations、user stories与工作记录的追踪,未完成stories将自动迭代,工作时间追踪,生成团队效率,个人工时报表,SOAP界面支持。
HSQLDB【Java开源 DBMS数据库】
HSQLDB(Hypersonic SQL)是纯Java开发的关系型数据库,并提供JDBC驱动存取数据。支持ANSI-92标准 SQL语法。而且他占的空间很小。大约只有160K,拥有快速的数据库引擎。
Liferay【Java开源 Portal门户】
代表了完整的J2EE应用,使用了Web、EJB以及JMS等技术,特别是其前台界面部分使用Struts框架技术,基于XML的portlet配置文件可以自由地动态扩展,使用了Web Services来支持一些远程信息的获取,使用 Apahce Lucene实现全文检索功能。
主要特点:
1、提供单一登陆接口,多认证模式(LDAP或SQL);
2、管理员能通过用户界面轻松管理用户,组,角色;
3、用户能可以根据需要定制个性化的portal layout;
4、能够在主流的J2EE应用服务器上运行,如JBoss+Jetty/Tomcat,JOnAS;
5、支持主流的数据库,如PostgreSQL,MySQL;
6、使用了第三放的开源项目,如Hibernate, Lucene, Struts;
7、支持包括中文在内的多种语言;
8、采用最先进的技术 Java, EJB, JMS, SOAP, XML;
JetSpeed【Java开源 Portal门户】
Jetspeed是一个开放源代码的企业信息门户(EIP)的实现,使用的技术是Java和XML。用户可以使用浏览器,支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息。Jetspeed扮演着信息集中器的角色,它能够把信息集中起来并且很容易地提供给用户。
Jetspeed具有如下的特征:
*即将成为标准化的Java Portlet API
*基于模板的布局,包括JSP和Velocity
*通过开放的内容同步技术支持远程XML内容交换
*定制默认的主页
*使用数据库进行用户认证
*内存缓存技术,加快页面的响应
*通过Rich Site Summary技术,支持同步内容
*和Cocoon, WebMacro, Velocity集成.
* Wireless Markup Language(WML)支持
*使用XML格式的配置文件注册portlet.
*完整的Web Application Archive(WAR)支持
* Web应用程序开发的基础设施
*可以在本地缓存远程内容
*与Avantgo同步
*可移植到所有支持JDK1.2和Servlet 2.2的平台
*与Turbine模块和服务集成
*可以根据用户,安装媒体类型和语言的不同设定,产生不同的个性化服务
*持续化服务使得所由的portlet能够容易的存储每个用户的状态,页面和portlet
*使用皮肤技术使得用户可以选择portlet的颜色和显示属性
*自定义功能是的管理员可以选择portlet以及定义个人页面的布局
*在数据库中存储PSML
*通过Jetspeed的安全portlets管理用户,组,角色和权限
*基于角色对访问portlet进行控制
JOnAS【Java开源 J2EE服务器】
JOnAS是一个开放源代码的J2EE实现,在ObjectWeb协会中开发。整合了Tomcat或Jetty成为它的Web容器,以确保符合Servlet 2.3和JSP 1.2规范。JOnAS服务器依赖或实现以下的Java API:JCA、JDBC、JTA、JMS、JMX、JNDI、JAAS、JavaMail。
JFox3.0【Java开源 J2EE服务器】
JFox是 Open Source Java EE Application Server,致力于提供轻量级的Java EE应用服务器,从3.0开始,JFox提供了一个支持模块化的MVC框架,以简化EJB以及Web应用的开发!如果您正在寻找一个简单、轻量、高效、完善的Java EE开发平台,那么JFox正是您需要的。
JFox 3.0拥有以下特性:
1.重新设计的 IoC微内核,融入 OSGi模块化思想
2.设计成嵌入式架构,能够和任何 Java Web Server集成部署
3.支持 EJB3,JPA规范,支持容器内和容器外两种方式运行EJB和JPA组件
4.支持 EJB发布成Web Service
5.采用 JOTM()提供事务处理,支持两阶段提交(2PC)
6.采用 XAPool()提供 XA DataSource,支持智能连接池管理
7.内置 MVC框架,实现自动Form Mapping,Validator,Uploading等功能,支持JSP/Velocity/Freemarker页面引擎,并支持直接在Action中注入EJB
8.支持多应用模块部署,让中大型应用充分享受模块化开发带来的优势
9.提供 Manager管理模块,可以查看和管理各种运行时参数
10.提供根据 JFox特色重写的 Petstore应用模块
历史发展及特点
[编辑本段]
Java的简介
Java是一种简单的,面象对象的,分布式的,解释的,健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。
当1995年SUN推出Java语言之后,全世界的目光都被这个神奇的语言所吸引。那么Java到底有何神奇之处呢?
Java语言其实最是诞生于1991年,起初被称为OAK语言,是SUN公司为一些消费性电子产品而设计的一个通用环境。他们最初的目的只是为了开发一种独立于平台的软件技术,而且在网络出现之前,OAK可以说是默默无闻,甚至差点夭折。但是,网络的出现改变了OAK的命运。
在Java出现以前,Internet上的信息内容都是一些乏味死板的HTML文档。这对于那些迷恋于WEB浏览的人们来说简直不可容忍。他们迫切希望能在WEN中看到一些交互式的内容,开发人员也极希望能够在WEB上创建一类无需考虑软硬件平台就可以执行的应用程序,当然这些程序还要有极大的安全保障。对于用户的这种要求,传统的编程语言显得无能为力,面SUN的工程师敏锐地察觉到了这一点,从1994年起,他们开始将OAK技术应用于WEB上,并且开发出了HotJava的第一个版本。当SUN公司1995年正式以Java这个名字推出的时候,几乎所有的WEB开发人员都想到:噢,这正是我想要的。于是Java成了一颗耀眼的明星,丑小鸭一下了变成了白天鹅。
Java的开发环境有不同的版本,如sun公司的Java Development Kit,简称JDK。后来微软公司推出了支持Java规范的Microsoft Visual J++ Java开发环境,简称 VJ++。
Java的特点
1.平台无关性
平台无关性是指Java能运行于不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(Java Virtual Machine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。
2.安全性
Java的编程类似C++,学习过C++的读者将很快掌握Java的精髓。Java舍弃了C++的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针侵入系统。Java对程序提供了安全管理器,防止程序的非法访问。
3.面向对象
Java吸取了C++面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和便于维护性。类的封装性、继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。Java提供了众多的一般对象的类,通过继承即可使用父类的方法。在Java中,类的继承关系是单一的非多重的,一个子类只有一个父类,子类的父类又有一个父类。Java提供的Object类及其子类的继承关系如同一棵倒立的树形,根类为Object类,Object类功能强大,经常会使用到它及其它派生的子类。
4.分布式
Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。
5.健壮性
Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。Java还实现了真数组,避免了覆盖数据的可能,这些功能特征大大提高了开发Java应用程序的周期。并且Java还提供了Null指针检测、数组边界检测、异常出口、Byte code校验等功能。
Java与C/C++语言
Java提供了一个功能强大语言的所有功能,但几乎没有一点含混特征。C++安全性不好,但C和C++被大家接受,所以Java设计成C++形式,让大家很容易学习。
Java去掉了C++语言中的指针运算、结构、typedefs、#define、需要释放内存等功能,减少了平常出错的50%,让Java的语言功能很精炼。而且,因为Java很小,所以整个解释器只需215K的RAM,并增加了一些很有用的功能,如自动收集碎片。
Java实现了C++的基本面象对象技术并有一些增强,(为了语言简单,删除了一些功能)。Java处理数据方式和用对象接口处理对象数据方式一样。
Java版本历史
[编辑本段]
1995年5月23日,Java语言诞生
1996年1月,第一个JDK-JDK1.0诞生
1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术
1996年9月,约8.3万个网页应用了JAVA技术来制作
1997年2月18日,JDK1.1发布
1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
1997年9月,JavaDeveloperConnection社区成员超过十万
1998年2月,JDK1.1被下载超过2,000,000次
1998年12月8日,JAVA2企业平台J2EE发布
1999年6月,SUN公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)
2000年5月8日,JDK1.3发布
2000年5月29日,JDK1.4发布
2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机
2001年9月24日,J2EE1.3发布
2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE1.5更名为Java SE 5.0
2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE,J2SE更名为Java SE,J2ME更名为Java ME
2006年12月,SUN公司发布JRE6.0
二、建门户网站需要什么技术
0.网站所选择的网络提供商:网通电信两个交叉通信很慢,考虑那些两个都接入速度很快的,比如网信通(我以前公司的网站和游戏都在上面)
1.网站架构体系(WEB服务器?多少、数据库服务器多少?、缓存服务器、图片服务器、备份服务器)
2.数据结构及数据算法(数据库结构一定要优化,如果表太大,请用分表设置模式,如果能分数据库参考petshop)
3.缓存(大网站不能没有缓存:数据库缓存、数据缓存、页面缓存、图片缓存)
4.压力测试(没有这个测试的大网站表搞笑了)
5.代码优化(算法真tmd的很重要)
6.开发架构(架构扩展性一定要考虑,很多时候架构能解决很多问题)
7.测试测试再测试
8.不停的监控在监控性能及运行状态
一个好的网站在进行实际页面的建置之前,首先要牢记用户优先,要考虑大多数人的连线状况、考虑使用者的浏览器,以及内容永远第一等等。
1、用户
无论什么时候,不管是着手准备设计HomePage之前,还是正在设计之中,甚或是已经设计完毕,有一个最高行动准则一定要牢记在心,那就是∶用户优先。因为没有用户去光顾,任何自认再好的HomePage都是没有意义的。
2、内容永远第一
“内容永远第一”,这句话适合书籍,更适合网络上的主页,而且几乎每个参与提供意见的人都举双手赞成这句话。没有内容的书籍令人讨厌,但至少您还可以很快判断出来,而HomePage呢?您可能得耗费一整个晚上的时间与金钱,才会发现原来站点里根本没有您要的东西,这种痛苦真不是三言两语可以形容。内容可以是任何东西,包括文字、图片、影像、声音等等,但请记住一点:一定要跟这个网站所要提供给人的讯息有关系。再提醒一次∶内容永远第一!
3、连线状况
您或许使用办公室的ISDN,也可能使用学校的高速专线,但您都必须想到,目前大多数人所使用的还是通过电话线路的缓慢连线方式,而且“塞车”塞得很严重。所以您在设计HomePage时就必需以这种普遍的连线状况为设计的参考量,不要放置一堆会加重塞车情形或让人等得发火的玩艺儿。最后,完成之后,您最好自己使用“小猫”联网亲自测试一下。
4、浏览器
必需考虑使用者的浏览器软件,如果您想要让所有的人都可以毫无障碍地观看您的页面,那么最好使用所有浏览器都可以阅读的格式,不要使用只有部分浏览器支持的格式或程序技巧。如果想要展现自己的高超的技术又不想放弃一些潜在的观众,可以考虑在主页中设置几种不同的观赏模式选项(例如纯文字模式、Frame模式、Java模式等等),供浏览者自行选择。
再来看看在著手HomePage的实际建置过程中,应该重点掌握的几个原则。
5、着手规划、确定特色、锁定目标
不管做什么事,一定要进行规划,建设网站尤其如此。规划时必须确定自己网站的性质、提供的内容、目标用户,然后根据本身的软硬件及人员技术条件来设置范围。网络的特点是及时、新鲜、丰富、热闹,这是吸引大家上网的因素,如果本身条件强大,也可以根据上述原则使自己网站成为一个“全方位”信息的提供者,如果不足,就考虑提供单方面的信息;此外,还可以在特殊议题或主题上加以突出,进一步锁定目标观众。
6、首页
首页是最重要的部分,因为它是别人接触这个网站的第一眼。如果是新的站点,最好在第一页就对这个网站的性质与所提供的内容做个扼要说明与导引,让别人判断要不要继续点击。最好第一页就有很清楚的类别栏目选项,而且尽量人性化,让浏览者可以很快找到需要的东西。在设计上,最好秉持干净而清爽的原则。第一、若无需要,尽量不要放置大图或加上不当的程序,因为它会增加下载的时间,导致浏览者失去耐心;第二、画面不要设计得太过杂乱无章,因为观赏者会找不到所要的东西。记住∶失败的首页会让许多人一去不返……
7、分类
内容的分类很重要,可以按主题分类、按性质分类、或按人类思考的习惯分类等等。一般而言,按大家思考的习惯分类会比较亲切。但无论哪一种分类方法,都要让使用者很容易地找到目标。此外要注意,分类标准最好保持一致,当然,在每个分类选项的旁边或下一行,加上这个选项内容的简要说明最好。
8、互动性
WWW的另一个特色就是“互动”。好的网站,HomePage应该与使用者有良好的互动性,包括在整个设计呈现、使用介面导引上等等,都应该掌握互动的原则,让使用者感觉他的每一步都确实得到适当的回应,这部分需要一些设计上的技巧与软硬件支持。事实上,好的网站设计肯定是个人技巧、经验累积以及软硬件技术的成功配合。如果你要在网页互动性上下功夫,那么flash是你最好的工具。
9、图形应用技巧
图形是网站的特色之一,它有醒目、吸引人以及传达讯息的功能。好的图形应用可以使页面增色,但不当的图形应用则会带来反效果,而其中又应以大量使用毫无意义的大图为戒。笔者建议,如果可以,应尽量缩小或省略图形。目前国内的网络传输资源极为有限,因此使用图形时一定要考虑传输时间的问题。根据经验与统计,用户可以忍受的最长等待时间大约是90秒钟,如果你的页面无法在这段时间内传输并显示完毕,那么浏览者就会不耐烦地掉头离去。因此必须依据页面文件的大小,考虑传输速率、延迟时间、网络交通状况,以及服务端与使用者端的软硬件条件,估传输与显示的时间。在图形使用上,要采用一般浏览器均支持的压缩图形格式,例如JPEG与GIF等,而其中JPEG的压缩效果较好,适合中大型的图片,可以节省传输时间。如果真要放置大型图形文件,最好将图形文件与HomePage分开,在HomePage中先显示一个具有链接功能的缩小图档或是一行说明文字,然后加上该图形文件大小的说明(例如160KB),如此,不仅加快HomePage的传输,而且可以让使用者判断是否继续点击观看。
10、图形加上说明
此外,还有一点要特别提醒,许多版主常常忽略了这件事——为了节省传输时间,许多浏览者习惯采用“关闭图形”的模式浏览你的站点。因此,在你在放置图形时,一定要记得为每个图形加上不显示时的“说明文字”(也就是在HTML文件中的图形文件后面加上alt文字说明),如此,使用者才能知道这个图形的内容,判断要不要观看。特别是如果这个图形具有链接的功能时,千万记得加上说明文字,并给其设置同样的链接功能。
11、背景底色
不少人喜欢在HomePage中加上背景图案,认为如此可以增加美观,但却不知这样会耗费传输的时间,而且容易影响阅读者的视觉,反而给人不好的印象。笔者建议,若没绝对必要,要避免使用背景图案,保持干净清爽的文本。但如果真的使用背景,那么最好使用单一色系,而且要跟前景的文字明显区别,最忌讳使用花俏多色的背景。
12、HTML格式的注意事项
有关HTML的撰写方面,应注意以下的一些注意事项:不少人在撰写HTML文件时,会简略一些命令格式,但为了日后维护方便,撰写HTML时最好架构完整,而且初学者也可以藉此对HTML语法有个充分的认识。另外,如果你的网站想让别人可以透过搜寻站来找到,那么千万不要忘了在〈Title〉指令中加上可供搜寻的“关键字”串。为了增加与使用者的互动,页面中最好加上可供使用者发表意见的E-mail信箱,在HTML中一定要注意它的格式命令写法,许多人在这个地方常常写错。另外,在PC系统下,文件的大小写不分,但在UNIX系统下,则大小写有区分,需要注意。
13、不要滥用技术
技术是令人着迷的东西,许多人喜欢玩弄技术——好的技术运用会让页面栩栩如生,令人叹为观止;但不当的技术则会适得其反。首先,使用技术时一定要考虑传输时间,不要成为他人浏览的沉重负担;其次,技术一定要与网站的性质及内容相配合,不要耍一大堆不相干的技术。有一个最常见的技术应用,就是利用javascript撰写一个“走马灯”的功能,让文字可以动态地显示在窗口的最下一栏,这种方式看起来似乎很酷,但却容易遮住该位置原本用来显示地址及传输状态的内容,反而造成不便。何况既然只是显示一两个文字,何不直接放在HTML本文中呢?Java小程序也是目前网络上的常见技术,它是一个好用的利器,擅长于动态物象的呈现,虽然只要浏览器支持就可以动,但同样要考虑传输时间,以及一般人的电脑系统负荷等问题。最后,技术最好不要用得太过多样而复杂,有些人似乎不展现功力就不爽,所以不管合不合适,就把所有可用的他会的技术全部用在里面,这时大家就会看到一个惨不忍睹的页面。
14、即时更新维护
不要忘记,大家都想看“新鲜”的东西,没人对过时的信息有兴趣,所以资料一定要注意即时性。有些网站半年没更新,感觉就像一池死水。如果想要经营一个带有“即时”性质的网站,除了注意内容外,资料还要记得每日更新。笔者建议,不妨每隔一阵子就对页面设计做一次小翻新,时时保持新鲜感。最后,须考虑的就是事后维护与管理的问题,写HomePage很简单,但维护管理就比较繁人,它的工作机械而死板。个人性质的网站在维护管理上比较简单,但公司网站的工作量就大了。
15、大胆地自我宣传
“毛遂自荐”想必大家都知道吧,INTERNET也同样适用。试想,茫茫INTERNET谁会发现你这只小舟,因此,多宣传自己才是上策。到YAHOO等站点留下一“笔”,相信会有更多的网友发现你的。
一、补充方案说明
为了完善网站除了内容以外的其他需求,我们特意提出需要增加比如性能、页面大小、页面加载时间、安全等补充需求,使得用户更加快捷更加方便浏览和使用网站资源,根据实际情况整理出该补充方案。
二、补充内容
1.网站运行技术框架要求
技术范围说明
.net2.0
MSSQL2005
JMAIL
IIS6.0
SERV-U
AJAX
HTML
W3C
JAVASCRIPT
2.网站浏览速度要求(10月份速度、页面大小要求)
网页的加载速度与网页内容大小成正比,网页越大,加载越慢,网页越小加载越快
1)网页加载速度
标准 6秒
慢> 10秒
非常慢> 20秒
快<5秒
非常快<2秒
2)网页大小
标准 350k
大> 400k
非常大> 500k
小<250k
非常小<150k
3)首页加载速度必须小于6秒
4)订餐网页加载速度必须小于8秒
5)网页服务器缓存
6)网页图片缓存
7)减少页面图片大小
说明:此要求为10月份网站速度、页面大小要求。
3.网站兼容性要求
兼容浏览器说明
IE6完全兼容
Ie6补丁打全后完全兼容
IE7完全兼容
FIREFOX完全兼容
TT完全兼容
遨游流畅订餐流程
4.网站安全性要求
1)无SQL注入点
1.字符注入
2.数字注入
3.其他注入
2)敏感Cookie必须加密
1.用户数字id
2.订单信息
3)过滤cookie欺骗程序
4)无错误明细输出给客户,返回我们定义好的错误信息给客户
5)权限受限严格验证
5.稳定性要求
1)程序无明显错误,如:不定期出现某些乱码问题
2)并发用户达到500人/秒正常运行
6.可靠性要求
1)保证安全性能
2)保证稳定性
7.搜索引擎优化需求
1)页面TITLE要求显示不同页不同TITLE,并显示豆丁网名称关键字
2)页面内关键字
3)网站遍历功能
4)餐馆遍历功能
三、供应链管理中的TT***CT***LT你分的清吗
在供应链管理中,TT、CT和LT这三个术语常常引发混淆。让我们来逐一解析它们的含义以及它们之间的关系。
TT,即Takt Time,是客户订单需求驱动的生产节拍时间。它决定了生产线所需的最低产能,如人员配置、设备和班次,是根据客户订单量计算的,不受生产线能力变化影响。TT的计算公式是可用生产时间除以客户需求,例如,若一天客户需要1800件产品,生产线7.5小时可用,TT就是15秒一件产品。
CT,即Cycle Time,是单件产品在当前工序中的完成时间,如加工或装配。每个工序都有自己的Cycle Time,它取决于工序的生产力,有助于识别生产线瓶颈。通过TT和CT的对比,我们可以看出生产效率的平衡点。
LT,即Lead Time,是订单从下单到交付的时间。它包括产品在各工序间的停滞时间和工序内的加工时间。在供应链管理中,LT是衡量效率和响应速度的关键,理想的LT应小于客户期望的交付时间,以实现精益生产和避免库存浪费或交付延误。
在实际操作中,TT是供应链的核心,它驱动了生产计划和资源配置。如果能满足TT,可能无需过度优化Cycle Time。然而,LT的优化则是必需的,因为它直接影响到库存管理和交付承诺。因此,供应链管理者需要精准掌握这三个参数,以确保高效、灵活并满足客户需求。
本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/jys/155337.html
发表回复
评论列表(0条)