① 如何在web服务器部署一个网站
1、双击IIS图标,运行IIS服务器。
② 幻灯片应用Web文件夹中的设计模板是什么
幻灯片模板即已定义的幻灯片格式。
③ web前端配置文件的格式有哪些
*.pif为DOS环境下的可执行文件在Windows下执行时所需要的文件格式★常见的文件后缀名.ACA:Microsoft的代理使用的角色文档.acf:系统管理配置.acm:音频压缩管理驱动程序,为Windows系统提供各种声音格式的编码和解码功能.aif:声音文件,支持压缩,可以使用WindowsMediaPlayer和QuickTimePlayer播放.AIF:音频文件,使用WindowsMediaPlayer播放.AIFC:音频文件,使用WindowsMediaPlayer播放.AIFF:音频文件,使用WindowsMediaPlayer播放.ani:动画光标文件扩展名,例如动画沙漏。.ans:ASCII字符图形动画文件.arc:一种较早的压缩文件,可以使用WinZip,WinRAR,PKARC等软件打开.arj:压缩文件。可以使用WinZip,WinRAR,PKARC等软件打开.asf:微软的媒体播放器支持的视频流,可以使用WindowsMediaPlayer播放.asp:微软的视频流文件,可以使用WindowsMediaPlayer打开.asp:微软提出的ActiveServerPage,是服务器端脚本,常用于大型网站开发,支持数据库连接,类似PHP。可以使用VisualInterDev编写,是目前的大热门.asx:WindowsMedia媒体文件的快捷方式.au:是Internet中常用的声音文件格式,多由Sun工作站创建,可使用软件WaveformHoldandModify播放。NetscapeNavigator中的LiveAudio也可以播放.au文件.avi:一种使用MicrosoftRIFF规范的Windows多媒体文件格式,用于存储声音和移动的图片.bak:备份文件,一般是被自动或是通过命令创建的辅助文件,它包含某个文件的最近一个版本,并且具有于该文件相同的文件名.basBasic:语言源程序文件,可编译成可执行文件,目前使用Basic开发系统的是VisualBasic.bat:批处理文件,在MS-DOS中,.bat文件是可执行文件,有一系列命令构成,其中可以包含对其他程序的调用.bbs:电子告示板系统文章信息文件.bfc:Windows的公文包文件.bin:二进制文件,其用途依系统或应用而定.bmp:Bitmap位图文件,这是微软公司开发Paint的自身格式,可以被多种Windows和WindowsNT平台及许多应用程序支持,支持32位颜色,用于为Windows界面创建图标的资源文件格式。.c:C语言源程序文件,在C语言编译程序下编译使用.cab:Microsoft制订的压缩包格式,常用于软件的安装程序,使用Windows自带的实用程序,Extract.exe可以对其解压缩,WinZip,WinRAR等都支持这种格式.cal:Windows中的日历文件.cdf:InternetExplorer的频道文件.cdr:CorelDraw中的一种图形文件格式,它是所有CorelDraw应用程序中均能够使用的一种图形图像文件格式.cdx:索引文件,存在于Dbase,Foxbase,Foxpro系统软件环境下.cfg:配置文件,系统或应用软件用于进行配置自己功能,特性的文件.chm:编译过后的HTML文件,常用于制作帮助文件和电子文档.clp:在Windows下剪贴板中的文件格式.cmd:用于WindowsNT/2000的批处理文件,其实与BAT文件功能相同,只是为了与DOS/Windows9x下的BAT有所区别.cmf:声卡标准的音乐文件,FM合成器等可以回放.cnf:NetMeetting会议连接文件.cnt:联机帮助文件目录索引文件,通常和同名的.hlp文件一起保存.col:由AutodeskAnimator,AutodeskAnimatorPor等程序创建的一种调色板文件格式,其中存储的是调色板中各种项目的RGB值.com:DOS可执行命令文件,一般小于64KB.cpl:控制面板扩展文件,Windows操作系统使用.cpp:C++语言源程序,非常强大的语言,在各种平台中都有相应的开发系统.crd:Windows中的卡片文件.crt:用于安全方面的证书认证文件.cur:Windows下的光标资源文件格式,可用光标编辑软件编辑.css:Text/css文件.dat:数据文件,在应用程序中使用.dat:VCD中的图象声音文件,VCD播放软件可调用,或是通过VCD机播放.dbf:数据库文件,Foxbase,Dbase,VisualFoxPro,等数据库处理系统所产生的数据库文件.dcx:传真浏览文档文件.ddi:映象文件,DUP,HD,IMG等工具可.dev:设备驱动程序.dib:设备无关位图文件,这是一种文件格式,其目的是为了保证用某个应用程序创建的位图图形可以被其它应用程序装载或显示一样.dir:目录文件.dll:Windows动态连接库,几乎无处不在,但有时由于不同版本DLL冲突会造成败各种各样的问踢.doc:是目前市场占有率最高的公室软件MicrosoftOffice中的字处理软件Word创建的文档.dos:Windows保留的MS-DOS的某些系统文件.dot:MicrosoftWord的文档模板文件,通过模板可以简化一些常用格式文档的创建工作,而且可以内嵌VBA程序来实现某些自动化功能.drv:设备驱动程序文件,用在各种系统中.dwg:AutoCAD的图纸文件,也是许多绘图软件都支持的格式,常用于共享数据.dxb:AutoCAD创建的一中图形文件格式.dxf:图形交换格式,一种计算机辅助设计的文件格式,最初开发用来与AutoCAD一起使用,以便于图形文件在应用程序之间的传递,它以ASCII方式储存图形,在表现图形的大小方面十分精确.der:Certiticate文件.dic:Txt文件.emf:由Microsoft公司开发的Windows32位扩展图元文件格式,其总体设计目标是要弥补在MicrosoftWindows3.1(Win16)中用的*.wmf文件格式的不足,使得图元文件更加易于使用.eps:用PostScript语言描述的一种图形文件格式,以文本文件保存,在PostScript图形打印机上能打印出高品质的图形图象,最高能表示32位图形图象.err:编译错误文件,存在于Dbase,Foxbase,Foxpro系列软件环境下.exe:可执行文件,虽然后缀名相同,但具有不同的格式和版本.exp:3DS使用的显示卡驱动程序.exc:Txt文件.flc:AutodeskAnimator和Animatorpro的动画文件,支持256色,最大的图象象索是64000*64000,支持压缩,广泛用于动画图形中的动画序列,计算机辅助设计和计算机游戏应用程序.fnd:保存的搜索结果.fon:点阵字库文件.for:Fortran语言程序.fot:指向字体的快捷键.fp:配置文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下.fpt:备注字段文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下.frt:报表文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下.frx:报表文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下.fxp:编译后的程序,存在于Dbase,Foxbase,Foxpro系列软件的环境下.gif:在各种平台的各种图形处理软件上均能够处理的,经过压缩的一种图形文件格式.grh:方正公司的图象排版文件.grp:Windows下的程序管理器产生的组窗口文件.goc:Gocserve.gra:MSGraph.Chart.5.h:C语言源程序头文件.hlp:Windows应用程序帮助文件.hqx:Macintosh中使用BinHex将二进制文件编码为7位的文本文件,大多数Macintosh文件皆以.hqx出现(.bin极少使用),在Macintosh中,可使用StuffItExpander对.hqx解码,在Windows中可使用BinHex13解码.ht:超级终端.htm:保存超文本描述语言的文本文件,用于描述各种各样的网页,使用各种浏览器打开.html:同.htm文件.icm:图象配色描述文件.ico:Windows中的图标文件,可以包含同一个图标的多种格式,使用图标编辑软件创建.idf:MIDI乐器定义.idx:索引文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下.iff:文件交换格式文件,这种文件格式多用于Amiga平台,在这种平台上它几乎可以存储各种类型的数据,在其它平台上,IFF文件格式多用于存储图象和声音文件.image:MAcintosh磁盘映象文件,常见于萍果机的FTP网点,在Macintosh中由ShrinkWrap处理.ime:Windows下的输入法文件.img:磁盘映象文件,用HD-COPY,WinImage等工具打开后可以恢复到一张磁盘上.inc:汇编语言包含文件,类似C/C++中的.H文件.inf:Windows下的软件安装信息,Windows的标准安装程序根据此文件内的安装信息对软件,驱动程序等进行安装.ini:Windows中的初始化信息文件,已经用的不多了,新的应用程序将设置保存在系统的注册表中.jar:一种压缩文件,ARJ的新版本,不过不太流行,可以使用WinJar,Winrar等打开.jpeg:一种图片压缩文件,同.jpg.jpg:静态图象专家组制订的静态图象压缩标准,具有很高的压缩比,使用非常广泛,可使用PhotoShop等图象处理软件创建.lnk:快捷方式,这个文件指向另一个文件,开始菜单的程序文件夹下每条项目都是一个LNK文件.log:日志文件,通常用来记录一些事件之类.lzh:一种古老的压缩文件,可以使用WinRAR打开.mac:Macintosh中使用的一中灰度图形文件格式,在MacintoshPaintbrush中使用,其分辨率只能是720*567.mag:图形文件格式.mdb:MicrosoftAccess使用的数据库格式,是非常流行的桌面数据库.men:内存应用文件,存在于Dbase,Foxbase,Foxpro系列软件的环境下.mid:音频压缩文件,曾经非常流行,不过在现在的软件中用的很少了rle:一种压缩过的位图文件格式,RLE压缩方案是一种极其成熟的压缩方案,特点是无损失压缩,既节省了磁盘空间又不损失任何图像数据,但在打开这种压缩文件时,要花费时间,此外,一些兼容性不太好的应用程序可能会搭不开.rm:Windows下的RealPlayer所支持的视频压缩文件,网上非常流行的流式视频文件,很多实时视频新闻等都是采用这种格式的,不过,最新的WindowsMediaVideoV8已经对其发起了强大的攻势.rmi:MIDI音序文件.rtf:丰富文本格式文件,以纯文本描述内容,能够保存各种格式信息,可以用写字版,Word等创建.sav:存档文件.scp:用于Windows系统中Internet拨号用户,自动拨号登录用的脚本文件,可避免手动登录时繁琐的键盘输入.scr:屏障保护文件.sct:屏幕文件.scx:屏幕文件.set:Microsoft备份集文件,用于保存要备份的内容,设置等信息.shb:指向一个文档的快捷方式.snd:Mac声音文件,Apple计算机公司开发的声音文件格式,被Macintosh平台和多种Macintosh应用程序所支持,支持某些压缩.sql:查询文件,在Dbase,Foxbase,Foxpro系列软件的环境下使用.svg:SVG可以算是目前最火热的图像文件格式了,它是基于XML由WorldWideWebConsortium联盟开发的,SVG是可缩放的矢量图形.svx:Amiga声音文件,Commodore所开发的声音文件格式,被Amiga平台和应用程序所支持,不支持压缩.swf:flash是Micromedia公司的产品,严格说它是一种动画编辑软件,实际上它是制作出一种后缀名为.swf的动画,这种格式的动画能用比较小的体积来表现丰富的多媒体形式,并且还可以与HTML文件达到一种"水乳交融"的境界.swg:虚拟内存交换文件,由操作系统使用.sys:系统文件,驱动程序等,在不同的操作系统中有不同的定义
④ Java Web开发Tomcat中三种部署项目的方法
第一种方法 在tomcat中的conf目录中 在server xml中的 <host/>节点中添加
<Context path= /hello docBase= D:eclipse debug= privileged= true >
</Context>
至于Context 节点属性 可详细见相关文档
第二种方法 将web项目文件件拷贝到webapps 目录中
第三种方法 很灵活 在conf目录中 新建 Catalina(注意大小写)\localhost目录 在该目录中新建一个xml文件 名字可以随意取 只要和当前文件中的文件名不重复就行了 该xml文件的内容为
<Context path= /hello docBase= D:eclipse debug= privileged= true >
</Context>
第 个方法有个优点 可以定义别名 服务器端运行的项目名称为path 外部访问的URL则使用XML的文件名 这个方法很方便的隐藏了项目的名称 对一些项目名称被固定不能更换 但外部访问时又想换个路径 非常有效
第 还有优点 可以定义一些个性配置 如数据源的配置等
还有一篇详细的
直接放到Webapps目录下
Tomcat的Webapps目录是Tomcat默认的应用目录 当服务器启动时 会加载所有这个目录下的应用 也可以将JSP程序打包成一个war包放在目录下 服务器会自动解开这个war包 并在这个目录下生成一个同名的文件夹 一个war包就是有特性格式的jar包 它是将一个Web程序的所有内容进行压缩得到 具体如何打包 可以使用许多开发工具的IDE环境 如Eclipse NetBeans ant JBuilder等 也可以用cmd 命令 jar cvf applicationname war package *
甚至可以在程序执行中打包
try{
string strjavahome = system getproperty( java home )
strjavahome = strjavahome substring( strjavahome lastindexof(\))+ \bin\ ;
runtime getruntime() exec( cmd /c start +strjavahome+ jar cvf hello war c:\tomcat \webapps\root\* )
}
catch(exception e){system out println(e) }
webapps这个默认的应用目录也是可以改变 打开Tomcat的conf目录下的server xml文件 找到下面内容
<Host name= localhost debug= appBase= webapps unpackWARs= true autoDeloy= true xmlValidation= falase xmlNamespaceAware= false >
在server xml中指定
在Tomcat的配置文件中 一个Web应用就是一个特定的Context 可以通过在server xml中新建Context里部署一个JSP应用程序 打开server xml文件 在Host标签内建一个Context 内容如下
<Context path= /myapp reloadable= true docBase= D:myapp workDir= D:myappwork />
其中path是虚拟路径 docBase是JSP应用程序的物理路径 workDir是这个应用的工作目录 存放运行是生成的于这个应用相关的文件
创建一个Context文件
以上两种方法 Web应用被服务器加载后都会在Tomcat的confcatalinalocalhost目录下生成一个XML文件 其内容如下
<Context path= /admin docBase= ${catalina home}/server/webapps/admin debug= privileged= true ></Context>
可以看出 文件中描述一个应用程序的Context信息 其内容和server xml中的Context信息格式是一致的 文件名便是虚拟目录名 您可以直接建立这样的一个xml文件 放在Tomcat的confcatalinalocalhost目录下 例子如下
注意 删除一个Web应用同时也要删除webapps下相应的文件夹祸server xml中相应的Context 还要将Tomcat的conf
catalinalocalhost目录下相应的xml文件删除 否则Tomcat仍会岸配置去加载……
tomcat部署web应用主要有以下几种方式
)拷贝你的WAR文件或者你的web应用文件夹(包括该web的所有内容)到$CATALINA_BASE/webapps目录下
)为你的web服务建立一个只包括context内容的XML片断文件 并把该文件放到$CATALINA_BASE/webapps目录下 这个web应用本身可以存储在硬盘上的任何地方 这种context片断提供了一种便利的方法来部署web应用 你不需要编辑server xml 除非你想改变缺省的部署特性 安装一个新的web应用时不需要重启动Tomcat
)同方法 只是将context片断放在CATALINA_BASEconfCatalinalocalhost目录下 这种方法比方法 >要有效 笔者经过多次实验发现方法 不如后面这种方法好用 前者多次出现系统打不开的情况
)直接在server xml中</Host>前加上Context片断 使用这种方法时 tomcat会自动在CATALINA_BASEconfCatalinalocalhost目录下生成一个文件片断 方法同方法 具有同样效果 这种方式需要将ROOT目录删除才行
另外 为了让tomcat只运行conf/server xml中指定的web应用 可以有以下几种办法
实现一
)将要部署的WEB应用放在webapps以外的路径 并在server xml相应的context中的docBase指定
)删除webapps中的所有文件夹 以及conf/catalina/localhost下所有xml文件
注 webapps是server xml中的Host元素的appBase属性的值
实现二
)修改server xml中Host元素的属性 添加或修改 deployXML= false deployOnStartup= false autoDeploy= false
)含义
lishixin/Article/program/Java/ky/201311/28718
⑤ web模板文件的扩展名是什么默认保存的文件夹是什么
web模板文件的扩展名是·dwt,默认保存的文件夹网站程序中的模板文件夹一般放在templates这个文件夹
查看文件模板方法:
1、登录FTP或者网站服务器,找到templates这个文件夹
2、查看里面是否有index.html这个是首页模板兆派
3、找到模板并明文件可自定义修改文件夹族蔽贺的名称
⑥ 怎么将web应用部署到tomcat中,tomcat是否需要配置环境变量
Tomcat部署Web应用方法总结
在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署。
在下文中$CATALINA_HOME指的是Tomcat根目录。
一、静态部署
静态部署指的是我们在服务器启动之前部署我们的程序,只有当服务器启动之后,我们的Web应用程序才能访问。
以下3种方式都可以部署:(以PetWeb项目为例说明,PetWeb目录假设是F:/PetWeb)
1.利用Tomcat自动部署
将PetWeb目录拷贝到$CATALINA_HOME/webapps下,然后启动服务器就可以了,Tomcat启动时将自动加载应用。
访问地址如下:http://localhost:8080/PetWeb/
这种方式比较简单,但是web应用程序必须在webapps目录下。Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。
2.修改Server.xml文件部署
这种方式可以不必将PetWeb目录拷贝到webapps下,直接在F:/部署。方法如下,更改$CATALINA_HOME/conf/server.xml文件,
找到以下内容:
Xml代码:
1. <Context path
="/Pet" reloadable ="false" docBase
="F:/PetWeb" workDir ="d:/Mywebapps/emp" />
path:是访问时的根地址,表示访问的路径;如上述例子中,访问该应用程序地址如下:http://localhost:8080/Pet/
reloadable:表示可以在运行时在classes与lib文件夹下自动加载类包。其中reloadable="false"表示当应用程序中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。
docbase:表示应用程序的路径,注意斜杠的方向“/”。
docBase可以使用绝对路径,也可以使用相对路径,相对路径相对于webapps。
workdir:表示缓存文件的放置地址
3.增加自定义web部署文件(推荐使用,不需要重启Tomcat
)
这种方式和方法2差不多,但不是在Server.xml文件中添加Context标签,而是在$CATALINA_HOME/conf/Catalina/localhost中添加一个xml文件,如Pet.xml.在Tomcat安装目录conf/Catalina
/localhost下,里面有Tomcat自带的三个应用,随意复制其中的一个XML文件,然后修改docbase指向你自己的应用程序,并把文件名改名,各参数参见方法2中的<Context>标签的参数,或者你也可以自己新建一个XML文件。(注意此文件名将作为Context中的path属性值,不管文件里的path属性值如何设置也是无效的
),将以下内容复制过去,修改相应路径即可。
Xml代码:
1. <Context path
="/Pet" docBase ="F:/PetWeb"
2. debug ="0"
privileged ="true" reloadable ="false"
>
3. </Context>
访问地址如下:http://localhost:8080/Pet/
注: Web应用以.war文件的形式部署
可以将JSP程序打包成一个war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个Web程序的所有内容进行压缩得到。
我们刚才是将PetWeb文件夹部署在了服务器中,我们知道可以将Web应用程序的内容打成.war包,然后在部署在服务器上。打包请参考如下步骤:
1、打开命令提示符(cmd)
2、设置jdk环境变量
3、在命令提示符中进入项目文件夹F:/PetWeb后,键入如下命令:jar cvfPet.war */ .
(注意最后有个“. ”)。这样在F:/PetWeb下应该有Pet.war文件。(也可以打包到指定的地方,命令如下:jar
cvf d:/Pet.war */.)
部署Pet.war文件非常简单,将刚才xml文件中的docBase
="F:/PetWeb"更改为docBase ="F:/Pet.war"或者直接将其拷贝到webapps目录下就可以。然后重新启动服务器就可以将Pet.war部署为一个Web应用程序了。
如果你够细心的话你会发现,服务器将Pet.war文件解开,并且在webapps下面又生成了一个Pet文件夹,然后把Pet.war的内容拷贝到里面去了。我们可以通过以下方式取消自动解压缩,将xml配置文件中的unpackWAR属性设置为"false"
即可。
二、动态部署
动态部署是指可以在服务器启动之后部署web应用程序,而不用重新启动服务器。动态部署要用到服务器提供的manager.war文件,如果在$CATALINA_HOME/webapps/下没有该文件,你必须去重新下载tomcat,否则不能完成以下的功能。要想使用该管理程序必须首先编辑$CATALINA_HOME/conf/tomcat-users.xml文件,内容如下:(关于这个文件的更多内容,请参考
Java Web应用程序的安全模型二)
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<user username="coresun" password="coresun"roles="manager"/>
<user username="tomcat" password="tomcat"roles="tomcat"/>
<user username="both" password="tomcat"roles="tomcat,role1"/>
<user username="role1" password="tomcat"roles="role1"/>
</tomcat-users>
然后在浏览器中键入如下地址:http://localhost:8080/
,应该看到一个加菲猫了吧。点击左边的Tomcat Manager链接,提示输入用户名和密码,本文都是coresun,然后可以看到以下页面:
(1)Context Path(option):中输入/Pet
(2)XML Configration file URL中要指定一个.xml文件,比如我们在F:/下建立一个Pet.xml文件,内容如下:<Context reloadable
="false" / >。docBase不用写了,因为要在下一个文本框中填入。或者更简单点,这个文本框什么都不填。
(3)WAR or Directory URL:中键入F:/PetWet或者F:/Pet.war都可以,然后点击Deploy按钮,看看上面是不是已经看到了你web应用程序,名字就是你ContextPath(option):中的名字。
(4)如果你部署.war文件还有更加简单的方式,下面还有个Select WAR file upload点击浏览选择.war文件,然后点击Deploy也可以。
让tomcat只运行conf/server.xml中指定的web应用
可以有以下2种办法:
实现一:
1)将要部署的WEB应用放在webapps以外的路径,
并在server.xml相应的Context 中的docBase指定.
2)删除webapps中的所有文件夹,
以及conf/catalina/localhost下所有xml文件.
注: webapps是server.xml中的Host 元素的appBase属性的值.
实现二:
修改server.xml中Host 元素的属性,
添加或修改:
deployXML ="false"
deployOnStartup ="false"
autoDeploy ="false"
含义:
deployXML ="false"
: 不部署conf/catalina/localhost下的xml相应的WEB应用
deployOnStartup ="false"
:tomcat启动时,
不部署webapps下的所有web应用
autoDeploy ="false"
:避免tomcat在扫描改动时,
再次把webapps下的web应用给部署进来.
注:
Tomcat中webapps目录下不能直接存放网页格式的文件,否则无法访问到该文件,必须有子目录才能访问该网页文件。
例如:我们直接将index.html放在webapps目录中,通过浏览器http://localhost:8080/index.html是无法访问到index.html的。而必须要webapps/petweb/index.html才可以通过http://localhost:8080/petweb/index.html访问到index.html页面。
⑦ 一个Web应用部署到Tomcat服务器上之后的目录结构是怎样的
您好,提问者:
首先你要了解一个带有源码的web应用程序的结构,下面请看结构分析:
web应用程序结构分析:
--src:基本存放.java和一些像struts.xml的文件。
--web-root:部署web项目就是部署这个文件。
--web-root下web-inf:存有页面(jsp/html)和.java生成的.class文件。
--------------------------------Tomcat部署结构--------------------------------
1、它不会添加的你的src目录,它会把你web-root这个文件夹给你改成web项目的名字部署到apache-tomcat-6.0.20\webapps\目录下。
2、apache-tomcat-6.0.20\work\Catalina\localhost\目录下是你的web项目驱动程序。
3、apache-tomcat-6.0.20\conf\tomcat-users.xml可以配置你的tomcat密码等信息。
4、apache-tomcat-6.0.20\conf\web.xml下是一些查用格式等等信息。
5、apache-tomcat-6.0.20\conf\context.xml下就是配置ip和端口的一些信息,驱动web项目也是在这个xml走通的!
⑧ word怎么从WEB版式恢复正常页面
你用的是word2003吗?
如图所示点击窗体右下角的第三个页面视图就行了
⑨ 如何部署一个ruby on rails的web应用程序
Ruby on Rails 正在令整个 Web 开发领域受到震憾。让我们首先了解底层的技术:
Ruby 是一门免费的、简单的、直观的、可扩展的、可移植的、解释的脚本语言,用于快速而简单的面向对象编程。类似于 Perl,它支持 处理文本文件和执行系统管理任务的很多特性。
Rails 是用 Ruby 编写的一款完整的、开放源代码的 Web 框架,目的是使用更简单而且更少的代码编写实际使用的应用程序。
作为一个完整的框架,这意味着 Rails 中的所有的层都是为协同工作而构造的,所以您不必自己再重复,可以完全只使用一门单一的语言。 在 Rails 中,所有内容(从模板到控制流再到业务逻辑)都是用 Ruby 编写的。Rails 支持基于配置文件和注释的反射(reflection)和运行时扩展。
本文详细介绍了 Rails 的组成部分,并介绍了它的工作原理。
Rails 介绍
关于 Rails,首先需要理解的是它的模型/视图/控制器(model/view/controller,MVC)架构。虽然这种技术不是 Rails 所特有的 —— 甚至不是 Web 应用程序所特有的(相对于其他程序),但是 Rails 具有非常清晰而专一的 MVC 思维方式。如果您并不使用 MVC 方法,那么 Rails 的用处将大为降低(与遵循其模式的情况相比)。
模型
Rails 应用程序的模型部分主要是它所使用的底层数据库。实际上,在很多情形中 Rails 应用程序正是以一种受管理的方式对关系型数据库管理 系统(RDBMS)中的数据执行操作的一个途径。
ActiveRecord 类是 Rails 的一个核心组成部分,它将关系型表映射为 Ruby 对象,使其成为控制器可以操作并能在视图 中显示的数据。Rails 应用程序特别倾向于使用广为应用的 MySQL 数据库,不过也有与很多其他 RDBMS 的绑定,比如 IBM? DB2?。
如果您愿意,您可以添加 Ruby 代码来在应用程序模型中执行额外的验证,加强数据关联,或者触发其他操作。应用程序的 app/models/ 目录中的 Ruby 文件能够调用 ActiveRecord 的多种验证方法。不过,您也可以将模型代码留作一个存根,而只是依赖保存数据 的 RDBMS 的约束。例如,我在这个示例中所开发的应用程序只包含这个骨架模型代码(至少在开始时是):
清单 1. 骨架模型 app/models/contact.rb
class Contact < ActiveRecord::Base
end
控制器
控制器以其抽象形式执行应用程序的逻辑。也就是说,应用程序的 app/controllers/ 目录中的 Ruby 脚本能把模型数据导入为变量,保存回去,或对其进行修改 和处理。不过,控制器不关心用户如何适当地显示或者输入数据。在通常的 MVC 模型中,这可以让用户能够以多种方式与同一控制器进行交互:本地 GUI, Web 界面,以及视力较弱的人使用的语音界面都可以与相同的控制器进行交互。
不过,Rails 不像那样非常通用;相反,它仅局限于在 Web 页中提供和收集数据。虽然如此,但是您可以修改那些 Web 页的布局 —— 颜色、字体、表格、 样式表单,等等 —— 与控制器代码无关。
视图
Rails 视图是我们编写 Ruby 代码的地方。Rails 包含有一门用于 .rhtml 的非常好的模板语言,它将纯粹的 HTML 与嵌入的 Ruby 代码组合起来。 Rails 应用程序界面的最表层外观通常是由 CSS 样式表单控制的。.rhtml 格式是一种增强的 HTML。实际上,一个简单的 HTML 文件本身也是一个 合法的 RHTML 模板,不过,不应该忽略 RHTML 为您提供的脚本控制。
RHTML 是真正的模板格式 —— 不仅是在 HTML 中嵌入代码的方式 —— 这是一种更为有效的方法。如果您熟悉 PHP,那么可以考虑 PHP 本身与 Smarty 模板之间的对照。也就是说,嵌入的脚本只是将代码与未被解释的 HTML 混合在一起;当需要向客户机输出某些内容时,代码部分 仍要负责执行 print 语句。
与之不同的是,模板引擎向 HTML 添加了一组定制的标签,让您能够将条件、循环以及其他逻辑作为增强的 HTML 标记的一部分来表示。
回页首
生成代码
Rails 所提供的工具主要是一组代码生成器。相对于那些强迫我使用严格的工作空间和 IDE 的开发环境,我更喜欢这种方法。 Rails 不会妨碍您,但是却会为您省去大部分手工编程的工作 —— 或者,通过提供“可自由获得的”初步(first-pass)支架(scaffolding), 至少帮助您轻松将需要手工编码的工作分为多个部分。
支架 概念是 Rails 中的核心概念。非常简单的应用程序可能完全不用编码,让 Rails 在运行时动态地生成客户机 HTML 页面。 第一遍生成代码时创建的只是粗略的支架;接下来您可以生成更详细的能够定制的控制器、视图和模型。不过在开始时不需要生成太多。
Rails 对其文件的组织是固定的而且非常普通的,不过这种组织相对严格。如果您试图强行使用其他文件和代码组织方式,那么您可能得 付出努力去修改 Rails 环境。再者说,我找不到不使用 Rails 所提供的组织方式的理由;在大部分情况下,它“fits your brain”(Ruby 的 支持者喜欢这样讲)。例如,如果您从头开始设计一个框架(至少如果您以“Ruby 方式”思考),那么这些目录名称及其组织可能与您的选择非常接近。
回页首
构建一个简单的应用程序
在 Ruby on Rails Web 站点上有一些教程,可以完整地引导您创建一个简单的 Rails 应用程序(见 参考资料)。 这里的示例程序与之类似,因为正确开始构建 Rails 应用程序的方式是确定的。由于此介绍的长度相对较短,所以我 极力 推荐 那些较长的教程中的一篇,以使得您能够打好更为全面的基础。
示例应用程序是一个基本的通讯录。它演示了创建应用程序的一般步骤:
生成模型(在此步骤中创建 MySQL 数据库和表)。
生成应用程序(包括生成基本代码和目录)。
启动 Rails(并配置数据库的访问)。
创建一些内容(包括生成支架模型和控制器,并告知控制器去使用那个支架)。
我们将详细研究每一个步骤。
生成 AddressBook 模型
对于任何应用程序,您需要做的第一件事情是为它创建一个存放数据的数据库。技术上这个步骤不必最先进行,不过需要在早期完成;应该在编写任何 应用程序代码(甚至是自动生成的代码)之前创建数据库,这应该是显然的。所以,让我们在 MySQL 数据库中创建一个数据库,并在此数据库中创建第一张表。 (阅读其他文档以了解如何安装运行 MySQL 或其他 RDBMS。)
我们假定 MySQL 已经安装并且可用。
清单 2. 创建 MySQL 数据库和表
[~/Sites]$ cat AddressBook.sql
CREATE DATABASE IF NOT EXISTS AddressBook;
USE AddressBook;
CREATE TABLE IF NOT EXISTS contacts (
id smallint(5) unsigned NOT NULL auto_increment,
name varchar(30) NOT NULL default '',
created_on timestamp(14) NOT NULL,
updated_on timestamp(14) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY name_key (name)
) TYPE=MyISAM COMMENT='List of Contacts';
[~/Sites]$ cat AddressBook.sql | mysql
在这第一张表中有些地方需要注意。最重要的是每一张表都必须拥有一个 id 列,列名称就是 id。Rails 使用 主键列 id 来完成各种记录保持和引用任务。域 created_on 和 updated_on 是不需要的,不过,如果您使用了它们,那么 Rails 会自动地“在后台”维护它们;在大部分情况下使用这些时间戳没有什么不好。所以,您还要添加的“真正” 数据就只是通讯录内容的名称。
另一个稍微古怪的方面是,Rails 为不同的内容使用单数和复数的名称。根据上下文,各种条目会被重命名为单数或复数形式。表的名称应该使用复数格式。 我没有使用不规则复数单词的经验;datum 和 data 等单词可能会令 Rails 出现问题。
生成 AddressBook 应用程序
既然已经拥有了一个能够交互的数据库,就可以创建 AddressBook 应用程序了。第一个步骤是简单地运行 rails 来生成基本目录和支架代码:
清单 3. 生成基本代码和目录
[~/Sites]$ rails AddressBook
create
create app/apis
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create components
[...]
create public/images
create public/javascripts
create public/stylesheets
create script
[...]
create README
create script/generate
create script/server
[...]
我删减了运行 rails 的输出;所忽略了那些行只是提醒您已经创建的各种文件和目录。在您的系统上试运行它,浏览生成的所有文件。 我已经在代码中显示了一些最重要的文件和目录。
运行 Rails
创建了 AddressBook/ 目录和所需要的子目录后,您需要执行一次惟一的初始配置。首先,通过修改 YAML 配置文件来设置数据库,如下:
清单 4. 配置数据库访问
[~/Sites]$ cd AddressBook
[~/Sites/AddressBook]$ head -6 config/database.yml # after editing
development:
adapter: mysql
database: AddressBook
host: localhost
username: some_user
password: password_if_needed
最后,您需要提供数据。Rails 附带了它自己的单一功能的 Web 服务器,即 WEBrick,非常适用于我们的试验。您可能也会遵循 Ruby on Rails Web 站点上的说明来配置 Apache 或者其他服务器,以通过 FCGI(或者普通的 CGI,但是普通的 CGI 将会较慢)向 Rails 应用程序提供服务。
清单 5. 启动 WEBrick 服务器
[~/Sites/AddressBook]$ ruby script/server -d
=> Rails application started on http://0.0.0.0:3000
[2005-03-21 17:57:38] INFO WEBrick 1.3.1
[2005-03-21 17:57:38] INFO ruby 1.8.2 (2004-12-25) [powerpc-darwin7.8.0]
创建一些内容
要在 WEBrick 端口上看到一个欢迎页面,先前的步骤就足够了。例如,在我的本地系统中,现在可以访问 http://gnosis-powerbook.local:3000/。不过,为了操作定制数据库,需要 生成稍微多一些代码。可以使用脚本 generate 来完成此任务, 这个脚本创建在 AddressBook/ 应用程序目录中:
清单 6. 支架模型和控制器代码的生成
[~/Sites/AddressBook]$ ruby script/generate model contact
exists app/models/
exists test/unit/
exists test/fixtures/
create app/models/contact.rb
create test/unit/contact_test.rb
create test/fixtures/contacts.yml
[~/Sites/AddressBook]$ ruby script/generate controller contact
exists app/controllers/
exists app/helpers/
create app/views/contact
exists test/functional/
create app/controllers/contact_controller.rb
create test/functional/contact_controller_test.rb
create app/helpers/contact_helper.rb
注意,在相应的表名中,这里应该使用单数的 contact,而不是复数的 contacts。
现在需要编辑一个或多个生成的文件(只需稍加编辑)来让控制器去使用支架:
清单 7. 告知控制器去使用支架
[~/Sites/AddressBook]$ cat app/controllers/contact_controller.rb
class ContactController < ApplicationController
model :contact
scaffold :contact
end
⑩ vs2012开发web网站 怎么部署
1、打开你的VS2012网站项目,右键点击项目》菜单中 重新生成一下网站项目;再次点击右键》发布:
2、弹出网站发布设置面板,点击<新建..>,创建新的发布配置文件:
输入你自己定义的配置文件名:
3、点击下一步:在发布方法中选“文件系统”,这样我们可以发布到自己指定的本机文件上。
选择自己指定搭拍握的文件夹:通过点击下图中右上角红色箭头处创建新的文件夹,自定义命知庆名(我的就写WebSite)。点击打开,进入下一步
4、 在配置中,要选择“Release”——发布模式(Release 称为发布版本,贺渣它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序)
5、点击下一步:进入发布前的预览界面