JavaWeb项目介绍

article/2025/9/18 21:44:26
web项目:通俗的说就是在服务器上跑的项目,页面是通过服务器上的程序运算所得到的结果。常见的web项目按计算机语言分,有:Java Web(Java EE)、ASP.Net、PHP项目。

JavaWeb项目:顾名思义就是后台用java代码写的web项目

什么是web服务器:标准的web服务器只具有与客户端浏览器通讯的功能,不能处理业务逻辑请求。
需要编写程序来复制处理客户端的请求。通过组件来处理客户端的请求,这个组件就是实现特定规范的可以单独部署的软件模块。组件必须通过容器来实现。容器是实现特定规范的程序,负责组件的运行环境和管理组件的生命周期。tomcat,weblogic都提供了容器。
web端可以理解为tomcat,并且tomcat中运行着你编写的程序,这个程序称为web应用。
java服务器开发就是通过java语言来编写程序,组合成web应用,将来部署到tomcat中,
编写的这些程序就是组件,用来处理客户端请求的。为了高效还会使用一些框架和技术来配合java程序,比如SpringMVC,struts2,Servlet

ava Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet不过现在使用的很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。Java技术对Web领域的发展注入了强大的动力。
  Web service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
  
Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service是自描述、 自包含的可用网络模块, 可以执行具体的业务功能。Web Service也很容易部署, 因为它们基于一些常规的产业标准以及已有的一些技术,诸如标准通用标记语言下的子集XML、HTTP。Web Service减少了应用接口的花费。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。




1.Web项目开发流程图解 
这里写图片描述

 

2.Web项目开发的细节(转载)

任何一个项目或者系统开发之前都需要定制一个开发约定和规则,这样有利于项目的整体风格统一、代码维护和扩展。由于Web项目开发的分散性、独立性、整合的交互性等,所以定制一套完整的约定和规则显得尤为重要。本文档将定制一系列约定和规则,他们分别包括组件团队、文件夹命名规则、文件名命名规则、程序代码编程风格、数据库设计约定。这些规则和约定需要与开发人员、设计人员和维护人员共同讨论定制,将来开发都将严格按规则或约定开发。每个团队开发都应有自己的一套规范,一个优良可行的规范可以使我们工作得心应手事半功倍,这些规范都不是唯一的标准不存在对与错,也许有些地方与你当前使用的习惯相驳,很多地方都有争议。比如很多人习惯设计数据库时采用自动增长字段,而有些人(像我这样的人)就坚决反对,各自都有比较充分的理由阐述自己的观点,所以只好根据具体情况来采用相应的策略。
  非常明显在Web项目开发中有前后台开发之分,前台开发主要是指非程序编程部分,主要职责是网站AI设计、界面设计、动画设计等。而后台开发主要是编程和网站运行平台搭建,其主要职责是设计网站数据库和网站功能模板的实现。下面的这些规范主要是从这2个方面来定制的,这些规范是我这几年学习工作中总结的一点小经验,本文档比较适合中小型网站或者Web项目的开发规范。

  1.组建开发团队
  在接手项目后的第一件事是组建团队。根据项目的大小团队可以有几十人,也有可以是只有几个人的小团队,在团队划分中应该含有6个角色,这6个角色是必须的,分别是项目经理,策划,美工,程序员,代码整合员,测试员。也许你的团队还没有6个人,没有关系一个人可以有多个角色,比如项目经理还可以有策划这个角色,如程序员还可以含有代码整合和测试这2个角色,如果你的项目够大人数够多那就分为6个组,每个组分工再来细分。下面简单介绍一下这6个角色的具体职责。

  项目经理,项目总体设计,开发进度的定制和监控,定制相应的开发规范,负责各个环节的评审工作,协调各个成员(小组)之间开发。策划,提供详细的策划方案和需求分析。还包括后期网站推广方面的策划。美工,根据策划和需求设计网站AI,界面,Logo等。程序员,根据项目总体设计来设计数据库和功能模块的实现。代码整合员,负责将程序员的代码和界面融合到一起,代码整合员可以制作网站的相关页面,测试员,负责测试程序。

  2.开发工具
  Web开发工具主要分为3部分,第一部分是网站前台开发工具,第二部分是网站后台开发环境,第三部分是项目管理和辅助软件。下面分别简单介绍这三部分需要使用的软件。

  网站前台开发主要是指Web界面设计。包括网站整体框架建立、常用图片、Flash动画设计等等,主要使用的相关软件是:Adobe Illustrator 、Adodb Photoshop、Dreamweaver MX、Flash MX等。

  网站后台开发主要指网站动态程序开发、数据库建模,主要使用的相关软件是: PowerDesigner(数据库建模),PowerDesigner在数据库设计方面应用非常强大,用它可以快速创建数据库概念和物理模型,我最喜欢的还是它生成数据库Report的功能太方便了,设计数据库强烈推荐用它。 Rational Rose(程序建模),如果你的项目功能模块不是特别复杂那就剩了它吧,这样会节省一些时间和开发的复杂度,不过我个人认为不管是大项目还是小项目都应该画画Rose图。

  网站项目管理主要指对开发进度和代码版本的控制。开发进度用Microsoft Project 来制定,代码版本控制采用Visual SourceSafe,当然还有其他的选择比如CVS和Rational ClearCase。网站测试采用 VS.net的附带工具Microsoft Application Center Test,它可以进行并行、负载测试等。程序文档编写采用Word,如果你非常怀旧用WPS也可以。

  3.网站开发流程
  在项目开始实施之前应该有一个工作步骤也就是工作流程,在项目开发中最需要时间的是总体设计和系统测试,而程序编写代码所占的时间并不多,但有的团队就急于开发写代码,先把程序写出来再说,没有注重评审和测试这2个环节,结果造成返工,我在一家比较大的公司中都遇到多次这种情况。所以项目来了不要急于开工写代码,应该一步一步慢慢来,只有走的慢才能走得稳走得远。图1的开发流程比较好地体现开发的整个环节。

图 1

  从图1可以看到2条主线,这2条主线分别是前台开发和后台开发。前后台开发在项目开发早期互相没有交叉,当然不是绝对没有,Web策划和需求分析都是互相有关系的,一个是网站表现形式和风格的策划另一个是网站功能的策划,它们是衣服和躯干的关系。到了开发后期就需要把界面和功能模块结合起来形成一个统一,也就即将发布的网站。

  4.数据库开发
  数据文件命名采用系统名+_+文件类型,比如系统名为kupage,则数据库文件命名为kupage_database.mdf,有的数据库文件有多个,比如SQL Server就有2个,一个是数据库文件,另一个是日志文件,那么他们的文件命名分别为kupage_database.mdf, kupage_log.log。文件名全部采用小写。

  数据库表命名规范,表名长度不能超过30个字符,表名中含有单词全部采用单数形式,单词首写字母要大写,多个单词间不用任何连接符号。若库中有多个系统,表名采用系统名称+单词或多个单词,系统名是开发系统的缩写,系统名称全部采用小写英文字符,如bbsTitle,bbsForumType。若库中只含有一个系统,那么表名仅用一个单词或多个单词。单词选择能够概括表内容的一个或多个英文单词,如UserInfo,UserType。关连表命名规则为Re_表A_表B,Re是Relative的缩写,如: Re_User_ArticleType, Re_User_FormType。

  数据库字段命名规范,数据库字段名全部采用小写英文单词,单词之间用”_”隔开,命名规则是表别名+单词,如:user_name,user_pwd。表别名规则,如果表名是一个单词,别名就取单词的前 4 个字母;如果表名是两个单词,就各取两个单词的前两个字母组成4 个字母长的别名;如果表的名字由3 个单词组成,你不妨从头两个单词中各取一个然后从最后一个单词中再取出两个字母,结果还是组成4 字母长的别名。

  视图名采用规则View_表A_表B_表C,View表示视图。这个视图由几个表产生就用”_”连接几个表的名,如果表过多可以将表名适当简化,但一定要列出所有表名。

  存储过程命名规则P_表名_存取过程名(缩写),比如P_User_Del,P_ArticleType_AddData。
  SQL语句编写规则,关键字必须大写,其他书写按上述命名规则,比如:
  Select user_id, user_name FROM User Where user_id = ‘tom’

  5.文件夹文件名命名规范
  文件夹命名一般采用英文,长度一般不超过20个字符,命名采用小写字母。除特殊情况才使用中文拼音,一些常见的文件夹命名如:images(存放图形文件),flash(存放Flash文件),style(存放CSS文件),scripts(存放Javascript脚本),inc(存放include 文件),link(存放友情链接),media(存放多媒体文件)等。

  文件名称统一用小写的英文字母、数字和下划线的组合。命名原则的指导思想一是使得你自己和工作组的每一个成员能够方便的理解每一个文件的意义,二是当我们在文件夹中使用“按名称排例”的命令时,同一种大类的文件能够排列在一起,以便我们查找、修改、替换、计算负载量等等操作 。

  1、图片的命名原则名称分为头尾两部分,用下划线隔开,头部分表示此图片的大类性质例如广告、标志、菜单、按钮等等。 
  放置在页面顶部的广告、装饰图案等长方形的图片取名: banner 
  标志性的图片取名为: logo
  在页面上位置不固定并且带有链接的小图片我们取名为 button 
  在页面上某一个位置连续出现,性质相同的链接栏目的图片我们取名: menu 
  装饰用的照片我们取名: pic 
  不带链接表示标题的图片我们取名: title 
  下面是几个范例: banner_sohu.gif 、banner_sina.gif、 menu_aboutus.gif 、 menu_job.gif、 title_news.gif、 logo_police.gif、 logo_national.gif 、 pic_people.jpg 。

  2、动态语言文件命名规则性质_描述,描述可以有多个单词,用”_”隔开,性质一般是该页面得概要。
  范例:register_form.asp,register_post.asp,topic_lock.asp
  6.程序代码编程规范
一个良好的程序编码风格有利于系统的维护,代码也易于阅读查错。在此只讨论ASP的编程风格和约定。在ASP中所有变量是弱变量,无需定义就可以直接使用,而且代码不区分大小写。但其他语言一般这些都要定义的,为了养成良好的编程习惯,编写代码务必按照一下规则。

  1、每个变量名必须定义,在ASP文件的最开始添加语句 ,强制定制每个变量。

  2、出于易读和一致性的目的,在代码中使用以下变量命名约定:

子类型 前缀   示例

Boolean   bln   blnFound

Byte   byt    bytRasterData

Date (Time)    dtm    dtmStart

Double   dbl     dblTolerance

Error     err      errOrderNum

Integer     int     intQuantity

Long      lng      lngDistance

Object      obj     objCurrent

Single     sng     sngAverage

String     str      strFirstName

  3、程序代码需要有缩进,缩进采用键盘Tab键,不采用空格键。并且”=”或者链接字符串时需要左右空一格,如下:
   
  4、函数过程编写的约定。函数或者过程命名采用动作+名词,每个函数需要给出相应的注释,函数功能,传入变量,以及作者和修改相关信息。如下面函数:
  <%
  ‘[功能] 返回一个参数的值
  ‘[参数] strParameterName 参数名称
  ‘[作者] icefire 2002/8/20 am
  Function GetParameterValue(strParameterName)
   Dim objRS, strSQL, strParameterValue
   strSQL = “Select ParameterValue FROM damsParameters Where ParameterName = ‘” &    strParameterName & “’”
   .   .
  GetParameterValue = strParameterValue
  Set objRS = Nothing
  End Function

  5、ASP内置对象区分大小写。如下代码片断
  strUserName = Request.Form(“UserName”)
  Set conn = Server.CreateObject(“ADODB.Connection”)

  6、数据库连接一个库只能有一个数据库连接文件,创建数据库对象得原则是尽可能晚地打开数据库,尽可能早地关闭数据库。创建数据库对象调用统一地创建函数。如下:
  Sub OpenConn(ByRef conn)
   Dim strDBPath, strDBConnection

   strDBPath = Server.MapPath(“database/tax.mdb”)
   strDBConnnection = “Driver={Microsoft Access Driver (*.mdb)}; DBQ=” & strDBPath
   Set conn = Server.CreateObject(“ADODB.Connection”)
   conn.Open strDBConnnection
  End Sub

  7、当一个对象不在使用时要释放对象资源,比如objFSO,objRS对象等。采用统一函数调用。函数如下:
  Sub CloseObj(ByRef obj)
   If IsObject(obj) Then
    obj.Close
    Set obj = nothing
   End If
  End Sub

  8、时间全部以字符串的形式保存到数据库中,这样做能够是日期在不同的数据库中都能良好地保存,也方便数据库地迁移。时间用14位字符串保存,日期用8位字符串保存。
________________________________________________________________
很久以来,网站开发过程中,最大的问题是沟通,前台与后台,项目经理与项目实施人员, 项目经理和客户,都苦于良好的沟通方式。我觉得问题的根源就在于传统的网站开发方法,说白 了,就是非标准的开发方式导致的沟通的困难。

具体地说,一个网站开发小组,通常要配备一下人员:网站总体策划师,网页设计师(美工 ),网站制作,程序员。看似分工明确,却往往效率低下,原因在于网站开发本身就没有实现内 容、结构、表现、行为的分离,却把人员分工分的如此的明确,这本身就是人力资源运用的败笔 :根本没有可能实现“各司其职”,又怎么会有良好的效率保证?

web标准究竟有何意义?由此看来标准带来的不仅仅是技术上的统一规范,它处处体现出人 文关怀的意味(508条便是明证),更重要的是,它极力要改变的是网站从业人员的思路,是适 应现代社会发展分工需要的规范。

现在,我们尝试着用web标准来指导我们的网站开发流程,会是什么样子?

我不得不在此提出一个新的网站开发职位:网站内容结构设计师。web标准强调内容的结构 化,认为网站是建立在内容的基础上,没有内容谈不上表现。由此看来,内容结构的设计的重要 性不言而喻。遗憾的是目前的网站开发团队并没有这样一个职位,或是说这样的职位总被其他的 职位兼顾着(一般都是网站策划师),但我这里所言的网站结构设计师并不仅限于现在策划师所 作的。

目前的策划师往往仅仅是策划出网站风格、栏目、功能,但我这里谈及的网站结构设计师所 作的工作并不仅限于此,他所要做的是将客户提供的信息归类,将信息内容结构化,使客户提供 的整个文档具备高度的可读化(就像组织一本书,要分好章节、项目、段落等等)。这样的职位 要求从业人员有较高的逻辑思维能力和语文基础,并熟知xhtml中的结构化标签,可利用这些标签 最终形成内容高度结构化的网页。这个工作是整个网站构建的基础。

有了这样一个网站内容设计师,我们整个的工作就简单而明了了。我们需要以下人员:

网站项目经理:负责与客户沟通,采集客户的需求,确定网站的风格、栏目 、功能,制定网站策划书、指派监督任务,与项目实施人员沟通协调,测试网站,最终促使项目 水利完成。 网站内容结构设计师:根据项目经理提供的项目材料,生成高度结构化的文档,并形成 初始网页(不含任何样式)。 
网页设计师(美工):根据项目经理提供的策划书和内容结构师制作的初始网页, 进行网页效果图的设计,包括首页、栏目页、内容页、功能页等。 
网站样式设计师(网站制作):参照网页设计师的效果图以及内容设计师的初始网 页,编写网页样式,须保证样式的高效简洁。最终实现符合效果图的网页。 
网站程序员:根据项目经理的网站功能设计策划,编制实现功能的后台程序。需要 在页面输出的,就将页面的静态内容换成动态输出的。要求了解web标准。
这样的人员分配,保证了每个项目人员都能专心的发挥本身的长处,内容设计师只要具备良 好的逻辑思维和语文基础,不需要去考虑网页的表现;网页设计师只要是个平面设计高手,具有 良好的形象思维,良好的美学观念,良好的艺术创造力,不需要繁琐的网页设计知识,毕竟网页 设计也要有一定的逻辑思维,这对专业的艺术设计人员来说是可怕而费时的;网站样式设计师( 网站制作),只要照着效果图实现效果就可以了,工作性质类似于工匠,要求有细心仔细的工作 作风,只需要了解样式的编写,不需要再去考虑创作上的问题,某种意义上说也是一种解 脱。

由此看来,在应用标准进行设计的过程中,能够顺利地实现项目的明确分工,的确是有利于 开发效率的。



http://chatgpt.dhexx.cn/article/KvDdi5vg.shtml

相关文章

创建web项目

打开eclipse&#xff0c;打开Eclipse&#xff0c;将Java视图切换成JavaEE的视图&#xff1a; 点击【File】-【New】-【Dynamic Web Project】 写入web项目名字&#xff1b; 向web配置Tomcat服务器&#xff0c;根据项目需要 后面的选项默认&#xff0c;点击【Next】&#xff…

springboot---建一个web项目

搭建过程 1. File->new->project 2. 选择“Spring Initializr”&#xff0c;jdk选择8最好&#xff0c;或者默认 3. 完善项目信息 组名可不做修改&#xff0c;项目名可做修改&#xff1b;最终建的项目名为&#xff1a;test&#xff0c;src->main->java下包名会是…

五、IDEA中创建Web项目

文章目录 5.1 创建Web项目5.1.1 创建项目5.1.2 编写Servlet类 5.2 手动部署项目5.3 自动部署项目5.3.1 IDEA集成Tomcat5.3.2 IDEA部署JavaWeb项目 5.4 war包部署5.4.1 导出war包 5.1 创建Web项目 5.1.1 创建项目 1、打开IDEA&#xff0c;单击“New Project”或者通过File–&g…

JavaWeb:Maven创建Web项目

1.1 Web项目结构 Web项目的结构分为&#xff1a;开发中的项目和开发完可以部署的Web项目&#xff0c;这两种项目的结构是不一样的&#xff0c;我们一个个来介绍下&#xff1a; Maven Web项目结构&#xff1a;开发中的项目 开发完成部署的Web项目 开发项目通过执行Maven打包…

如何在IDEA中创建Web项目

&#x1f44c; 棒棒有言&#xff1a;也许我一直照着别人的方向飞&#xff0c;可是这次&#xff0c;我想要用我的方式飞翔一次&#xff01;人生&#xff0c;既要淡&#xff0c;又要有味。凡事不必太在意&#xff0c;一切随缘&#xff0c;缘深多聚聚&#xff0c;缘浅随它去。凡事…

Intellij IDEA创建web项目 [超详细]

一、介绍、 接触Java 有些年头了&#xff0c;相信大家已经忘记了怎么创建一个不使用构建工具和任何Java Web框架的原始Java Web项目。最近接触一个老项目&#xff0c;就是使用很原始的方式搭建的&#xff0c;虽然使用了Spring的技术&#xff0c;但是没有使用构建工具&#xff…

部署Web项目 (Linux)

部署Web项目 -- Linux 一、Linux 环境搭建二、Linux 常用命令三、搭建 Java 部署环境3.1 JDK3.2 Tomcat3.3 MySQL 四、部署 Web 项目4.1 什么是部署4.2 数据库建表4.3 构建项目并打包4.4 拷贝到 Tomcat 中4.5 验证 一、Linux 环境搭建 这里我们使用的方法是购买云服务器 (Cent…

idea构建web项目-超详细教程

1、idea构建web项目 idea构建web项目的超级详细教程&#xff0c;一步一步来&#xff0c;完全没问题&#xff01; 1、新建一个空项目 2、新建java模块&#xff0c;名为webDemo1 3、选择webDemo1右键&#xff0c;选择Add Framework Support 选择Web Application 4、在WEB-…

web服务器项目

整体框架 0. RAII RAII全称是Resource Acquisition is Initialization&#xff0c;即资源获取即初始化。 RAII的核心思想是将资源或者状态与对象的生命周期绑定 c可以在构造函数中申请分配资源&#xff0c;在析构函数中释放资源。所以&#xff0c;在RAII的指导下&#xff0c;…

【Javaweb学习笔记】在Eclipse中创建Web项目

【Javaweb学习笔记】在Eclipse中创建Web项目 哈喽大家好&#xff0c;这里是Java框架学习笔记专栏第二期 本期内容——在Eclipse中创建Web项目 前期回顾&#xff1a; 第一期——schema约束 笔者还是菜菜&#xff0c;还请大家多多指教呀&#xff01; 文章目录 【Javaweb学习笔记】…

如何创建一个Web项目

文章目录 一、创建Web项目1. 新建Maven工程2. 在pom.xml中&#xff0c;添加servlet依赖3. 创建web.xml文件4. 通过tomcat配置启动项5. 在webapp下创建html静态文件 提示&#xff1a;以下是本篇文章正文内容&#xff0c;Java系列学习将会持续更新 一、创建Web项目 Web项目是由…

创建一个web项目

servlet 概念: 运行在服务端的程序&#xff0c;是一个接口&#xff0c;定义了java类被浏览器访问到(tomcat识别)的规则 tomcat会读取web.xml文件中的配置 创建一个web项目 目录说明: 1.src&#xff1a;自动编译.java文件的目录 依赖的jdk版本 依赖的tomcat版本 build: 用来…

Web项目开发

一、简述转发与重定向的区别 1、转发&#xff1a; URL地址是不变的。 内部资源完成一个跳 转过程 能够通过request实现带值跳转 请求发起后&#xff0c;跳转到目标过程只发起一次 请求 请求跳转速度又有是在站内&#xff0c;所以速度也 比较快。 2、重定向&#xff1a; URL地址…

【实战】React 必会第三方插件 —— Cron 表达式生成器(qnn-react-cron)

文章目录 一、引子二、配置使用1.安装2.使用&#xff08;1&#xff09;直接调用&#xff08;2&#xff09;赋值到表单&#xff08;Form&#xff09;&#xff08;3&#xff09;自定义功能按钮&#xff08;4&#xff09;隐藏指定 Tab&#xff08;5&#xff09;其他 三、常见问题及…

linux cron 定时任务

Linux定时任务Crontab命令详解 linux 系统则是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作&#xff0c;因此这个系统服务是默认启动的。另 外, 由于使用者自己也可以设置计划任务&#xff0c;所以&#xff0c; Linux 系统也提供了使用者…

Java构建cron表达式

1、cron表达式详解 Cron表达式是一个字符串&#xff0c;字符串以5或6个空格隔开&#xff0c;分为6或7个域&#xff0c;每一个域代表一个含义&#xff0c; Cron有如下两种语法格式&#xff1a; &#xff08;1&#xff09; Seconds Minutes Hours DayofMonth Month DayofWeek …

Java解析cron表达式

概述 Cron表达式是一个字符串&#xff0c;以5或6个空格隔开&#xff0c;分为6或7个域&#xff0c;每一个域代表一个含义&#xff0c;即两种语法格式&#xff1a; Seconds Minutes Hours DayofMonth Month DayofWeek Year&#xff0c;即&#xff1a;秒 分 时 天 月 星期 年份S…

Cron表达式详细用法

目录 Cron表达式一、秒二、分钟三、小时四、日期五、月份六、星期七、年份八、特殊字符九、表达式举例 Cron表达式 Cron表达式的长度为6或7位&#xff0c;其中第7位年份可省略&#xff0c;省略时表示每年。 Scheduled(cron"* * * * * * *") 这7位从左到右分别对应&…

一看就懂:cron 表达式

【前言】 不知道你在玩游戏的时候是否发现过以下情况&#xff1a; &#xff08;1&#xff09;玩某些游戏的时候&#xff0c;发现他的排行榜并不是时时更新的&#xff0c;而是每半个小时&#xff0c;或者一个小时更新一次。 &#xff08;2&#xff09;又比如很火的王者荣耀手…

cron表达式的详细介绍(各域说明以及举例说明)

cron表达式的详细介绍&#xff08;各域说明以及举例说明&#xff09; 1. 关于 cron1.1 前言1.2 使用 cron 的注意点1.3 举个例子 2. cron表达式的格式&#xff08;或语法&#xff09;3. 各域的含义——如何取值&#xff1f;3.1 各域的含义介绍3.2 特殊字符的含义3.3 简单举例说…