web的部署文件名|vs2012开发web网站 怎么部署

web的部署文件名|vs2012开发web网站 怎么部署的第1张示图

❶ web.xml部署描述文件放哪个目录下

编写好的Servlet之后,接下来要告诉Web容器就会读取一个文件名为web.xml的部署描述文件。在把servlet部署到WEB容器时,会创建一个相当简单的XML文档,这称为部署描述文件(DD),该文件会告诉容器如何运行你的servlet和jsP。尽管使用部署描述文件不只是为了映射servlet名,不过起码要知道,可以使用两个XML元素把URL映射到servlet,其中一个将客户知道的公告URL名映射到你自己的内部名,另一个元素把你自己的内部名映射到一个完全限定类名。 任何MVC框架都需要与Web应用整合,这就不得不借助于web.xml文件,只有配置在web.xml文件中Servlet才会被应用加载。通常,所有的MVC框架都需要Web应用加载一个核心控制器。以WAR的形式来部署此小应用的表示层,因此需要web部署描述文件。Example 1.5. <?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!– Seam –> <listener> <listener-class>org.jboss.seam.servlet.SeamListener</listener-class> </listener> <!– MyFaces –> <listener> <listener-class> org.apache.myfaces.webapp.StartupServletContextListener </listener-class> </listener> <context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>client</param-value> </context-param> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <!– Faces Servlet Mapping –> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.seam</url-pattern> </servlet-mapping></web-app>此 web.xml 文件配置了Seam和JSF。所有Seam应用中的配置与此处的配置基本相同

❷ 怎么用tomcat部署web应用

第一种方式:利用Tomcat自动部署利用Tomcat自动部署方式是最简单的、最常用的方式。若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\*,只要将一个Web应用的WebContent级的AppName直接扔进%Tomcat_Home%\webapps文件夹下,系统会把该web应用直接部署到Tomcat中。所以这里不再赘述。第二种方式:利用控制台进行部署若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\*,利用控制台进行部署的方式如下:进入tomcat的manager控制台的deploy区域——在Context path中键入"XXX"(可任意取名)——在WAR or Directory URL:键入D:\workspace\WebApp\AppName (表示去寻找此路径下的web应用)——点击deploy按钮。然后在%Tomcat_Home%\webapps路径下将会自动出现一个名为XXX的文件夹,其内容即是D:\workspace\WebApp\AppName的内容,只是名字是XXX而已(这就是前面在Context path键入XXX的结果)。以上说明利用控制台进行部署的实质仍然是利用Tomcat的自动部署。第三种方式:增加自定义的Web部署文件若一个web应用结构为D:\workspace\WebApp\AppName\WEB-INF\*,这种部署方式稍微复杂一点,我们需要在%Tomcat_Home%\conf路径下新建一个文件夹catalina——再在其中新建一个localhost文件夹——最后再新建一个XML文件,即增加两层目录并新增XML文件:%Tomcat_Home%\conf\Catalina\localhost\web应用配置文件.xml ,该文件就是部署Web应用的配置文件。例如,我们新建一个%Tomcat_Home%\conf\Catalina\localhost\XXX.xml, 该文件的内容如下:<Context path="/XXX" reloadable="true" docBase="D:\workspace\WebApp\AppName" workDir="D:\workspace\WebApp\work"/> 注意: (1)以上代码中的workDir表示将该Web应用部署后置于的工作目录(Web应用中JSP编译成的Servlet都可在其中找到),如果使用的Eclipse作为IDE,一般可人为设置在WebApp的work目录下。如果自定义web部署文件XXX.xml中未指明workdir,则web应用将默认部署在%Tomcat_Home%\work\Catalina\localhost\路径下新建的以XXX命名的文件夹下。(Web应用中JSP编译成的Servlet都可在其中找到) (2)Context path即指定web应用的虚拟路径名。docBase指定要部署的Web应用的源路径。 其实开发者可以使用安装有Tomcat插件eclipse自动创建部署文件来部署Web应用而不必再手动建立该文件,方法如下: 1. 打开Eclipse——打开菜单栏window选择preference(首选项)——左侧选择Tomcat,如下图示:2. 可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Context files增加自定义部署文件的形式部署web应用——然后Contexts directory中指定上述文件的上级目录(即%Tomcat_Home%\conf\Catalina\localhost )——点击Apply或OK。 3. 完上述步骤,再选中Web项目右键点击properties(属性)——选择右侧的Tomcat ,如下图所示:4. 勾上"Is a Tomcat project"前的checkbox,将项目关联至Tomcat。在Context name中填入XXX,即Web应用自定义部署文件名和Context path名。在Subdirectory to set as web application root (optional)中填入要部署的Web应用的实际路径(即WEB-INF上级目录)。注意:Eclipse会自动地将workdir设置在Workspace\WebApp\work下。如此便自动创建了%Tomcat_Home%\conf\Catalina\localhost\XXX.xml 文件。启动Tomcat 即可自动部署Web应用。第四种方式:手动修改%Tomcat_Home%\conf\server.xml文件来部署web应用此方法即打开%Tomcat_Home%\conf\server.xml文件并在其中增加以下元素:<Context docBase="D:\workspace\WebApp\AppName" path="/XXX" debug="0" reloadable="false" /> 然后启动Tomcat即可。当然如果使用Eclipse,在Eclipse中的设置也有改变:打开菜单栏window选择preference(首选项)——左侧选择Tomcat——可以看到上图中高亮画出的Context declaration mode(Context 声明模式)中选择以Server.xml文件来部署web应用。

❸ 在my eclipse 8.5中怎样部署web项目

建好你的web项目后,1.选window->preferences->java点开后把你的compiler设置为1.6 2.同样的选window->preferences->java点开后选择Installed JREs然后, 单击ADD,选择Standard VM 然后next,找你的JDK安装路径然后确定 3.(如果你用myeclipse自带的tomcat就不用这一步了) 同样选window->preferences->servers,点开后,选择,Tomcat。点 开tomcat,选择Tomcat 6.x然后找到你安装Tomcat的路径,强烈建议自己下载安装,不要用myeclipse自带的,安装的时候注意,路径文件名不要有空格,不然以后配置ssh会有bug接下来就是部署你的项目,部署之后就可以运行了。还有问题再说哦

❹ javaweb应用的部署描述符是指哪个文件

web.xml 文件

❺ vs2012开发web网站 怎么部署

1、打开你的VS2012网站项目,右键点击项目》菜单中 重新生成一下网站项内目;再次点击右容键》发布:2、弹出网站发布设置面板,点击<新建..>,创建新的发布配置文件:输入你自己定义的配置文件名:3、点击下一步:在发布方法中选“文件系统”,这样我们可以发布到自己指定的本机文件上。选择自己指定的文件夹:通过点击下图中右上角红色箭头处创建新的文件夹,自定义命名(我的就写WebSite)。点击打开,进入下一步4、 在配置中,要选择“Release”——发布模式(Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序)5、点击下一步:进入发布前的预览界面

❻ web应用和数据库都是运行在web容器上面的吗

web应用需要跟db做数据交互,部署的应用程序必须依赖于web容器。

以tomcat为例来说明:

1. 打开Eclipse——打开菜单栏window选择preference(首选项)——左侧选择Tomcat,如下图示:

4.勾上"Is a Tomcat project"前的checkbox,将项目关联至Tomcat。

在Context name中填入XXX,即Web应用自定义部署文件名和Context path名。

在Subdirectory to setas web application root (optional)中填入要部署的Web应用的实际路径(即WEB-INF上级目录)。

注意:Eclipse会自动地将workdir设置在WorkspaceWebAppwork下。

如此便自动创建了%Tomcat_Home%confCatalinalocalhostXXX.xml文件。启动Tomcat 即可自动部署Web应用。

❼ 用websphere 部署项目时, 怎样修改项目名称

我用的是websphere6.1+myeclipse.我给你找找我总结的那个。。=找到了 不清楚再问我该文内容是由myeclipse官网上找的文档和自己在实践中总结的内容组成. 1. 下载下websphere6.1安装,在安装的过程中要记住自己设置的node name和cell name. 2. 启动eclipse,在window->preperences->myeclipse->application servers->websphere6.1 点Browse…选择你eclipse的安装目录.我是安装在D:\webshpere6.1,之后myeclipse会自动的将Profile Root Directory,Node name,cell name设置好.你需要确认一下.Profile Root Directory就是你的安装目录下Profiles目录下的一个文件夹. 我的是D:\webshpere6.0\profiles\AppSrv01.而node name和cell name它会设成以你的机器名命名的名字,应该将cell name改为Profiles RootDirectory下的installedApps目录(D:\webshpere6.0\profiles\AppSrv01\installedApps)下的文件夹的名字我的是就是localhostNode01Cell,将node name改为cell name去掉后面的cell的名字.选中enable项.点Apple保存. 3. 展开websphere6.1,选JDK,将JDK设置为webshpere6.1安装目录下的JDK(D:\webshpere6.0\java).一定要设置成IBM的JDK要不websphere是不能运行的. 4. 启动websphere(不是用eclipse,而是用websphere的启动服务器),选管理控制台,点服务器->应用服务器,选一个服务,一般为server1.在故障诊断中选记录和跟踪->JVM 日志,修改两个文件名为console.保存,注销,停止服务. 5. 在eclipse中新建自己的企业工程(一定要是企业工程)如果之前有web工程可以将该企业工程的web modle设置为该web project如没有就自己新建一个. 6 发布企业工程(不是web project)在第一次发布时要选Packaged Archive 7. 用eclipse或websphere工具启动websphere,进入控制台,应用程序->安装新的应用程序,点浏览在\webshpere6.0\profiles\AppServ01\installableApps下选自己发布的工程名的ear文件(你可能不是AppServ01)然后next下去就可以了,唯一要注意的就是要设置web模块上下文根和要选上class 类文件和jsp的修改自动装载. 8. 退到控制台首页,应用程序->企业应用程序,选择自己发布的工程,点启动.注销,停止websphere. 9. 在eclipse中再点发布,删除刚发布的工程,再点add…选择企业工程,Exploded Archive.选Delete Remote…项.然后发布.以后就可以实时调试了. 注:要在websphere中调试一定要建企业工程,一般的web工程是不能的 MyEclipse下配置Websphere6 1.环境 sun jdk1.4.2,eclipse3.1 MyEclipse 4.0 2.介绍:MyEclipse配置Websphere6的时候需要做比配置其它server更多的工作; Websphere6必须和MyEclipse安装在一个机器上; Websphere6必须使用IBM的jdk,位置在/java; 只有MyEclipse Enterprise J2EE project可以部署在Websphere6上。 3.Websphere6安装和配置 第一步 点击创建概要表(profile); 第二步 输入概要表名称(例如 MyEclipse); 第三步 选择概要表路径 D:\IBM\WebSphere\AppServer\profiles\MyEclipse; 第四步 输入结点名:MyEclipseNode,主机名:127.0.0.1; 第五步 输入端口号,默认端口即可; 第六步 不选做为windows服务; 第七步 完成; 第八步 启动服务器,打开管理控制台; 第九步 点击服务器-应用服务器,然后点击服务器名称; 第十步 查看标签“配置”->故障诊断->记录和跟踪; 第十一步 点击“JVM日志”->配置标签,修改“文件名”为console,点击确定; 第十二步 提示已更改了您的本地配置。单击“保存”应用对主配置的更改,点击“保存”,下一页再点“保存”; 第十三步 推出管理控制台,停止服务器; 4.MyEclipse配置 第一步 配置 Window > Preferences > MyEclipse > Application Servers > WebSphere 6; 第二步 配置JDK JRE home directory 为 /java,WebSphere只能运行在IBM JDK上; (WebSphere is known to run on a heavily modified IBM JDK and running it with Sun's JDK, JRockit, GCJ or other JDKs simply will not work) 第三步 创建 Web project 例如“IBMTestWeb”,再创建 Enterprise project 例如“IBMTest”; 第四步 部署 必须点击菜单条上的部署的快捷方式 Deploy MyEclipse J2EE Project to Server; (MyEclipse Deployment Manager must be launched by clicking the button on your toolbar as shown in the screenshot below) 第五步 部署 IBMTest,选择第二项“Packaged Archive” 部署-完成; 第六步 在MyEclipse中启动 Websphere6,等待出现“为电子商务开放服务器 server1”,即启动完成; (wait for the Server server1 open for e-business message as before.) 第七步 打开Websphere6的管理控制台 应用程序->安装新的应用程序,选择 D:\IBM\WebSphere\AppServer\profiles\MyEclipse\installableApps\IBMTest.ear,点击下一步; 第八步 选择“启用类重新装入,点击下一步; 第九步 选中 “IBMTestWeb.war”,点击下一步 ; 第十步 选中 “IBMTestWeb.war”,点击下一步 ; 第十一步 提示“应用程序 IBMTest 安装成功。”后,点击 “保存到主配置”,最后启动该应用程序; 第十二步 删除以前部署的包,重新部署 IBMTest,选择第一项“Exploded Archive”,下面选择“Delete remote resource before deployment” 部署-完成;

❽ 如何在web服务器部署一个网站

1、双击IIS图标,运行IIS服务器。

❾ MyEclipse中web项目修改部署路径有哪些

如果你是用tomcat做web容器的话,可以有两种方法,1)把项目拷贝到ROOT目录下(tomcat默认启动项目就是root下的index.jsp页面);2)比较复杂一点,使用Ant 自动布署:<?xml version="1.0" encoding="UTF-8"?> <!– 需要修改 Begin –> <project name="project" default="all" basedir="."> <property name="project-name" value="wealth"/> <!– lib–> <property name="lib" value="../webroot/web-inf/lib"/> <!– lib–> <property name="tomcat-root" value="D:/Program Files/Tomcat 6.0"/><!– tomcat根目录 –> <property name="webapp-name" value="hzdw"/><!– web应用名字,war包名是:web应用名+".war" –> <!– 需要修改 End –> <target description="Build file usage info (default task)" name="all"> <echo message=" Available Targets:"/> <echo message="——————————————————-"/> <echo message=" javadoc – Generate the API HTML pages"/> <echo message=" deploy – Deploy WebApp"/> <echo message="——————————————————-"/> </target> <!– Generate the API HTML pages –> <target name="javadoc" description="Generate the Javadoc HTML pages."> <delete dir="../javadoc" /> <mkdir dir="../javadoc" /> <javadoc destdir="../javadoc" windowtitle="$ Project Class Library" use="yes" linksource="yes" splitindex="yes" encoding="UTF-8" docencoding="UTF-8"> <classpath> <fileset dir="$"> <include name="*.jar"/> </fileset> </classpath> <!– 需要修改 Begin –> <packageset dir="../src" defaultexcludes="yes"> <include name="com/wealth/**"/> <!– 不包含过滤器,否则报错,不能生成文档,不知道什么原因,如果你知道请告诉我 –> <exclude name="com/wealth/user/auth/filter/**"/> </packageset> <!– 需要修改 End –> </javadoc> </target> <!– 自动部署web应用 –> <target name="deploy"> <!– 停止tomcat服务 –> <exec executable="cmd" failonerror="false"> <arg line="/c net stop Tomcat6" /> </exec> <!–删除原来部署的文件–> <delete dir="$/webapps/$"></delete> <delete file="$/webapps/$.war"></delete> <delete dir="$/work/Catalina/localhost/$"></delete> <!–将"war"包拷贝到tomcat/webapps目录下–> <file src="$.war" mce_src="$.war" dest="$/webapps/$.war" forceoverwrite="true"/> <!– 启动tomcat服务 –> <exec executable="cmd" failonerror="true"> <arg line="/c net start Tomcat6" /> </exec> </target> <!– 自动部署web应用到 “ROOT” –> <target name="deployToRoot"> <!– 停止tomcat服务 –> <exec executable="cmd" failonerror="false"> <arg line="/c net stop Tomcat6" /> </exec> <!–删除原来部署的文件–> <delete dir="$/webapps/$"></delete> <delete file="$/webapps/$.war"></delete> <delete dir="$/webapps/ROOT"></delete> <delete dir="$/work/Catalina/localhost/$"></delete> <!– 将jdbc.properties文件拷贝到工程目录/WEB-INF/classes/jdbc.properties –> <file src="jdbc.properties" mce_src="jdbc.properties" dest="$/WEB-INF/classes/jdbc.properties" forceoverwrite="true"/> <!– 将server.xml文件拷贝到tomcat/conf/server.xml –> <file src="server.xml" mce_src="server.xml" dest="$/conf/server.xml" forceoverwrite="true"/> <!–将工程文件夹拷贝到tomcat/webapps/ROOT–> <dir src="$" mce_src="$" dest="$/webapps/ROOT" forceoverwrite="true"/> <!– 启动tomcat服务 –> <exec executable="cmd" failonerror="false"> <arg line="/c net start Tomcat6" /> </exec> <exec executable="cmd" failonerror="true"> <arg line="/c start " /> </exec> </target> </project>

❿ 怎么将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的部署文件名|vs2012开发web网站 怎么部署

赞 (0)