`
pengjianbo1
  • 浏览: 232549 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

创建和配置 Web 应用程序

阅读更多

创建和配置 Web 应用程序

以下部分描述如何创建和配置 Web 应用程序资源。

 


目录结构

Web 应用程序使用 J2EE 规范中定义的标准目录结构。可以将 Web 应用程序部署为使用此目录结构的文件集合(称为展开的目录格式)或归档文件(称为 WAR 文件)。BEA 建议将展开的 Web 应用程序打包并部署为企业应用程序的一部分。这是 BEA 最佳实践,通过它可以更轻松地执行应用程序迁移、添加和更改操作。此外,通过将 Web 应用程序打包为企业应用程序的一部分,还可以利用拆分的开发目录结构。与传统的单一目录结构相比,这种目录结构具有许多优点。

WEB-INF 目录包含 Web 应用程序的部署描述符(web.xml 和 weblogic.xml)和两个用于存储已编译 Java 类和库 JAR 文件的子目录。这些子目录的名称分别为 classes 和 lib。JSP 标记库存储在位于临时目录顶级的 WEB-INF 目录中。Java 类包括 Servlet、辅助程序类和(如果需要)预编译的 JSP。

属于 Web 应用程序的所有 Servlet、类、静态文件和其他资源都组织在目录层次中。

DefaultWebApp/

将静态文件(如 HTML 文件和 JSP 文件)放入 Web 应用程序的文档根目录中。在 WebLogic Server 的默认安装中,此目录称为 DefaultWebApp,位于 user_domains/mydomain/applications 下。
(要使 Web 应用程序成为默认 Web 应用程序,必须在 weblogic.xml 部署描述符文件中将上下文根设置为“/”。)

DefaultWebApp/WEB-INF/web.xml

用于配置 Web 应用程序的 Web 应用程序部署描述符。

DefaultWebApp/WEB-INF/weblogic.xml

用于定义 web.xml 文件中的指定资源如何映射到驻留在 WebLogic Server 其他位置的资源的 WebLogic 特定部署描述符文件。该文件还用于定义 JSP 和 HTTP 会话特性。

DefaultWebApp/WEB-INF/classes

包含服务器端类,如 HTTP Servlet 和实用工具类。

DefaultWebApp/WEB-INF/lib

包含 Web 应用程序使用的 JAR 文件,包括 JSP 标记库。

临时存储整个目录后,会使用 jar 命令将其捆绑到 WAR 文件中。WAR 文件可以单独部署,也可以作为企业应用程序的一部分(建议)与其他应用程序组件(包括其他 Web 应用程序、EJB 组件和 WebLogic Server 组件)一起部署。

 

JSP 页和 HTTP Servlet 可以访问 WebLogic Server 中可用的所有服务和 API。这些服务包括 EJB、通过 Java 数据库连接(Java Database Connectivity,简称 JDBC)的数据库连接、Java 消息服务 (Java Messaging Service,简称 JMS)、XML 等。

 

 

 

 

DefaultWebApp

|

|--------------------js

|

|---------------------myjsp

|

|--------------------images

|

|--------------------WEB-INF

|                              |---------classes

|                              |                |-------package

|                              |                             |------MyServlet.class

|                              |               

|                              |---------web.xml

|                              |---------weblogic.xml

|                              |----------lib

|

|-------------------index.jsp

                               

 

 

访问 WEB-INF 中的信息

WEB-INF 目录不是应用程序公共文档树的一部分。容器不能将 WEB-INF 目录中包含的任何文件直接提供给客户端。但是,通过对 ServletContext 使用 getResource 和 getResourceAsStream() 方法调用,可以在 Servlet 代码中看到 WEB-INF 目录中的内容;通过使用 RequestDispatcher,可以包括/转发这些内容。因此,如果应用程序开发人员需要从 Servlet 代码访问那些不应直接对 Web 客户端公开的应用程序特定配置信息,则可以将这些信息放置在此目录中。

由于请求以区分大小写的方式匹配到资源映射,因此,(例如)对“/WEB-INF/foo”和“/WEb-iNf/foo”的客户端请求不会导致返回位于 /WEB-INF 下的 Web 应用程序内容,也不会返回该处所列的任何形式的目录。

目录结构示例

以下是 Web 应用程序目录结构的示例,其中 myWebApp/ 是临时目录。

清单 3-1 Web 应用程序目录结构

myWebApp/

	WEB-INF/

		web.xml

		weblogic.xml

		lib/

			MyLib.jar

		classes/

			MyPackage/

				MyServlet.class

	index.html

	index.jsp

 


创建和配置 Web 应用程序的主要步骤

以下步骤概括了使用拆分开发目录结构将 Web 应用程序作为企业应用程序的一部分进行创建的过程。请参阅“使用 WebLogic Server 开发应用程序”中的创建拆分开发目录环境在拆分开发目录中生成应用程序从拆分开发目录进行部署和打包

您可能希望使用 WebLogic Server 中包含的开发人员工具来创建和配置 Web 应用程序。请参阅 Web 应用程序开发人员工具

步骤一:创建企业应用程序包装

  1. 为根 EAR 文件创建目录:

    \src\myEAR\

  2. 按如下所示设置环境:
    • 在 Windows NT 上,执行 setWLSEnv.cmd 命令,该命令位于目录 server\bin\ 中,其中 server 是 WebLogic Server 的顶级安装目录。
    • 在 UNIX 上,执行 setWLSEnv.sh 命令,该命令位于目录 server/bin/ 中,其中 server 是 WebLogic Server 的顶级安装目录,域是指域的名称。
  3. 按如下所示,将企业应用程序打包在 \src\myEAR\ 目录中:
    1. 将企业应用程序描述符(application.xmlweblogic-application.xml)放入 META-INF\ 目录中。请参阅使用 WebLogic Server 开发应用程序中的企业应用程序部署描述符
    2. 根据需要编辑部署描述符以微调企业应用程序的行为。请参阅 Web 应用程序开发人员工具
    3. 将企业应用程序 .jar 文件放入以下目录中:

      \src\myEAR\APP-INF\lib\

步骤二:创建 Web 应用程序

  1. 在 EAR 文件所在的根目录中为 Web 应用程序创建目录:

    \src\myEAR\myWebApp

  2. 按如下所示,将 Web 应用程序打包在 \src\myEAR\myWebApp\ 目录中:
    1. 将 Web 应用程序描述符(web.xml 和 weblogic.xml)放入 \src\myEAR\myWebApp\WEB-INF\ 目录中。请参阅 weblogic.xml 部署描述符元素
    2. 根据需要编辑部署描述符以微调企业应用程序的行为。请参阅 Web 应用程序开发人员工具
    3. 将 Web 应用程序页引用的所有 HTML 文件、JSP、图像和任何其他文件放入 Web 应用程序的根目录中。

      \src\myEAR\myWebApp\images\myimage.jpg

      \src\myEAR\myWebApp\login.jsp

      \src\myEAR\myWebApp\index.html

    4. 将 Web 应用程序 Java 源文件(Servlet、标记库以及 Servlet 或标记库引用的其他类)放入以下目录中:

      \src\myEAR\myWebApp\WEB-INF\src\

步骤三:创建 build.xml 文件

设置目录结构后,可以使用 weblogic.BuildXMLGen 实用工具创建 build.xml 文件。

步骤四:执行拆分开发目录结构 Ant 任务

  1. 执行 wlcompile Ant 任务以调用 javac 编译器。这会将 Web 应用程序 Java 组件编译到输出目录 /build/myEAR/WEB-INF/classes 中。
  2. 执行 wlappc Ant 任务以调用 appc 编译器。这会编译要部署的任何 JSP 和容器特定 EJB 类。
  3. 执行 wldeploy Ant 任务以将 Web 应用程序作为归档的或展开的 EAR 的一部分部署到 WebLogic Server。
  4. 如果这是生产环境(而不是开发环境),请执行 wlpackage Ant 任务以将 Web 应用程序打包为归档的或展开的 EAR 的一部分。
    注意: wlpackage Ant 任务会将已编译的版本的 Java 源文件放入生成目录中。例如:/build/myEAR/myWebApp/classes。

 


配置客户端访问 Web 应用程序的方式

请使用以下模式构造客户端用来访问 Web 应用程序的 URL:

http://hoststring/ContextPath/servletPath/pathInfo

其中,

hoststring

是映射到虚拟主机的主机名或 hostname:portNumber

ContextPath

是 Web 应用程序的名称。

servletPath

是映射到 servletPath 的 Servlet。

pathInfo

是 URL 的其余部分,通常是文件名。

如果使用虚拟主机,则可以使用虚拟主机名替换 URL 的 hoststring 部分。

 


为 Web 应用程序配置虚拟主机

WebLogic Server 支持两种为 Web 应用程序配置虚拟主机的方法:

  • 基于通道
  • 基于主机

配置基于通道的虚拟主机

以下是如何配置基于通道的虚拟主机的示例:

<VirtualHost Name="channel1vh" NetworkAccessPoint="Channel1" Targets="myserver"/>

<VirtualHost Name="channel2vh" NetworkAccessPoint="Channel2" Targets="myserver"/> 

其中 Channel1 和 Channel2 是 config.xml 文件中配置的 NetworkAccessPoint 的名称。NetworkAccessPoint 表示虚拟主机为其提供 HTTP 请求服务的专用服务器通道名。如果给定 HTTP 请求的 NetworkAccessPoint 与任何虚拟主机的 NetworkAccessPoint 均不匹配,则会将传入的 HOST 头与 VirtualHostName 进行匹配,以解析正确的虚拟主机。如果传入的请求与虚拟主机不匹配,则将由默认 Web 服务器为请求提供服务。

配置基于主机的虚拟主机

以下是如何配置基于主机的虚拟主机的示例:

<VirtualHost Name="cokevh" Targets="myserver" VirtualHostNames="coke"/>

<VirtualHost Name="pepsivh" Targets="myserver" VirtualHostNames="pepsi"/> 

 


将 Web 应用程序定位到虚拟主机

使用 WebLogic 管理控制台可以将 Web 应用程序组件定位到服务器和虚拟主机。

请注意,如果从以前版本的 WebLogic Server 迁移,则必须在 config.xml 文件中的目标特性中指定所有 Web 应用程序目标。目标特性已替换虚拟主机特性,虚拟主机不能与同一域中的服务器或群集同名。以下是如何将 Web 应用程序定位到虚拟主机的示例:

<AppDeployment name="test-app" Sourcepath="/myapps/test-app.ear">
   <SubDeployment Name="test-webapp1.war" Targets="virutalhost-1"/>
   <SubDeployment Name="test-webapp2.war" Targets="virtualhost-2"/>
   ...
</AppDeployment>

 


加载 Servlet、上下文监听器和筛选器

Servlet、上下文监听器和筛选器按以下顺序加载和销毁:

加载顺序:

  1. 上下文监听器
  2. 筛选器
  3. Servlet

销毁顺序:

  1. Servlet
  2. 筛选器
  3. 上下文监听器

Servlet 和筛选器按照 web.xml 文件中定义它们的相同顺序加载,按照相反顺序卸载。上下文监听器按照以下顺序加载:

  1. web.xml 文件中的所有上下文监听器(按照文件中指定的顺序)
  2. 已打包的包含标记库描述符的 JAR 文件
  3. WEB-INF 目录中的标记库描述符

 


共享的 J2EE Web 应用程序库

J2EE Web 应用程序库是部署时使用 J2EE 应用程序容器注册的独立 Web 应用程序模块。使用 WebLogic Server 9.2,多个 Web 应用程序可以轻松共享单个 Web 程序模块或模块集合。

Web 应用程序可以引用一个或多个 Web 应用程序库,但不能引用其他库类型(EJB、EAR 文件和常规 JAR 文件)。

Web 应用程序库是部署为库的 Web 应用程序模块。可以使用用来引用 weblogic-application.xml文件中的应用程序库的相同语法,从 weblogic.xml 文件引用这些库,只是将忽略 <context-root> 元素。

部署时,会将每个引用的库的类路径追加到 Web 应用程序的类路径。因此,对所有资源和类的搜索将首先发生在原始 Web 应用程序中,然后才发生在引用库中。

部署工具、appc、wlcompile 和 BuildXMLGen 在 Web 应用程序级别支持库的方式与它们在应用程序级别支持库的方式一样。有关共享的 J2EE 库及其部署的详细信息,请参阅“使用 WebLogic Server 开发应用程序”中的创建共享 J2EE 库和可选包

 


将 JSF 和 JSTL 用于 Web 应用程序

有三个 JSF (JavaServer™ Faces) 和 JSTL(JSP™ 标准标记库)包已作为 Web 应用程序库与 WebLogic Server 捆绑在一起。使用 JSF 或 JSTL 功能的标准 Web 应用程序可以引用这些库。

有关使用您的 Web 应用程序引用这些 Web 应用程序库的信息,请参阅“使用 WebLogic Server 开发应用程序”中的将 WebApp 库和 Web 应用程序一起使用

在 9.2 版本中,可以将下面三个包作为 Web 应用程序库使用:

这些库位于 WL_HOME/common/deployable-libraries 目录中。为方便起见,JSF 库包含了 JSTL JAR 文件,以便在应用程序引用 JSF 库时,它也会自动获取 JSTL 支持。

下表列出了 JSF 和 JSTL 库文件名称及其 MANIFEST 条目:

表 3-1 jsf-myfaces-1.1.1.war
特性
描述
Extension-Name
jsf-myfaces
Specification-Title
JavaServer Faces
Specification-Version
1.1
Implementation-Title
MyFaces
Implementation-Version
1.1.1
Implementation-Vendor
MyFaces 项目组。

 

表 3-2 jsf-ri-1.1.1.war
特性
描述
Extension-Name
jsf-ri
Specification-Title
JavaServer Faces
Specification-Version
1.1
Implementation-Title
'jsf-impl':JavaServer Faces RI
Implementation-Version
1.1.1
Implementation-Vendor
Sun Microsystems, Inc.

 

表 3-3 jstl-1.1.2.war
特性
描述
Extension-Name
jstl
Specification-Title
JavaServer 页标准标记库 (JSTL)
Specification-Version
1.1
Implementation-Title
jakarta-taglibs 'standard':JSTL 实现
Implementation-Version
1.1.2
Implementation-Vendor
Apache 软件基础
分享到:
评论

相关推荐

    创建Web应用程序 使用.NET SDK创建Web应用程序非常必要

    使用.NET Framework SDK创建Web应用程序则需要手动完成更多步骤,这提供了更大的灵活性和控制权。首先,需要创建应用程序根目录,这是Web应用的基础。接着,根据需求创建子目录,用于组织内容和资源。然后,创建....

    TIA博途V17中如何创建和使用VoT应用程序_Web功能.docx

    TIA Portal V17 中创建和使用 VoT 应用程序 Web 功能 TIA Portal V17 是西门子公司推出的集成开发环境,提供了强大的编程和配置功能。 VoT 应用程序是 TIA Portal 中的一种应用程序类型,专门用于实现基于 Web 的人...

    利用Eclipse创建数据库web应用程序.rar

    这个教程的PDF文件"利用Eclipse创建数据库web应用程序.pdf"将详细阐述这些步骤,并可能包含实例代码和屏幕截图,帮助读者更好地理解和实践。通过学习和应用这些知识,开发者能够有效地构建出高效、稳定的数据库驱动...

    vs.Net2003无法打开或创建Web应用程序若干解决办法

    - 如果你在开发过程中使用了 FrontPage 扩展来管理 Web 应用程序,则需要确保 VS.NET 和 IIS 之间的关系正确配置。 - 可以考虑将 VS.NET 中的 Web 应用项目路径与 IIS 中默认网站的路径分开,避免权限冲突。 3. *...

    c#+web应用程序入门经典.pdf

    ***是.NET框架的一部分,它允许开发者用C#语言来创建动态网站、Web应用程序和Web服务。 《C# + Web应用程序入门经典》这本书很可能是针对初学者而设计的。这类入门书籍通常会介绍如何安装和配置C#开发环境,如何...

    idea配置Tomcat部署web应用

    在IDEA中,需要配置Web应用程序的部署方式,以便将应用程序部署到Tomcat服务器上。 1. 创建部署配置:在IDEA中,打开Run &gt; Edit Configurations,点击 "+" 号添加新的部署配置,选择Tomcat Server,输入应用程序的...

    利用Eclipse创建数据库web应用程序[汇编].pdf

    Eclipse 创建数据库 Web 应用程序 Eclipse 是一个功能强大的集成开发环境(IDE...开发者可以使用 WTP 和 Derby 数据库引擎创建一个简单的数据库 Web 应用程序,并使用 Eclipse 提供的工具来编写、测试和配置应用程序。

    使用 Eclipse 和 Java SE 创建独立 Web Services 应用程序

    使用 Eclipse 和 Java SE 创建独立 Web Services 应用程序 本文将指导读者使用 Eclipse 和 Java SE 6 创建独立 Web Services 应用程序。通过本教程,读者将学习如何使用 Eclipse 集成开发环境(Integrated ...

    SharePoint- Web应用程序操作手册

    接下来,是关于配置Web应用程序的权限和认证方式。是否允许匿名访问(AllAnonymous)不会影响整个Web应用程序的访问权限,而只是决定内部的SiteCollection或Site是否可以启用匿名访问。同时,配置是否使用SSL,虽然...

    用Tomcat 和Eclipse开发Web 应用程序(部署发布)配置.docx

    本文主要讲解了如何使用 Tomcat 和 Eclipse 开发 Web 应用程序,包括如何创建一个新的 Web 项目、如何配置 Tomcat 服务器、如何将项目部署到 Tomcat 服务器上。 创建新的 Web 项目 首先,在 Eclipse 中创建一个新...

    C++Builder开发Web应用程序

    5. **ActiveX**:主要在Microsoft的环境中使用,能够创建具有高级功能的Web应用程序,如动态HTML和客户端脚本。 #### 使用C++Builder开发Web应用程序 C++Builder 通过将复杂的Web应用程序开发封装成组件,极大地...

    ASP.NET Web应用程序的开发

    ASP.NET Web应用程序开发是微软公司推出的用于构建动态网站、Web应用程序和Web服务的框架。它基于.NET Framework,提供了丰富的功能和工具,使开发者能够高效地创建高性能、安全性和可伸缩性的Web解决方案。 在开发...

    第一次使用netbeans及创建web应用程序

    总结来说,这篇教程将引导初学者如何使用NetBeans这个强大的工具来创建和管理Java Web应用程序,同时涵盖了Web开发的基础知识,如Servlet、JSP和Web应用的部署。通过学习和实践,开发者可以迅速掌握Java Web开发的...

    将ASP.NETWeb应用程序部署到WindowsAzure网站

    整个部署流程涵盖了从安装必要的开发工具和SDK,到创建应用程序和网站,最后到部署和测试的完整过程。通过上述步骤,开发者可以在30分钟内完成一个*** Web应用程序的部署。需要注意的是,确保安装的Visual Studio和...

    domino-web-java快速开发入门

    3. 使用Domino Designer创建和配置Web应用程序 4. Web服务器配置与Internet站点设置 5. Java在Domino中的应用:Java Agent、JDBC连接 6. XPages开发:构建富客户端Web界面 7. Java API的使用,包括LotusScript和Java...

    面向.net的web应用程序设计实验文件

    1. **Web Forms**:学习如何创建和配置Web表单,使用控件如按钮、文本框和表格,以及如何处理用户事件。 2. **MVC模式**:理解模型、视图和控制器的职责,学会创建控制器、视图模板和模型类,以及如何实现路由和...

    weblogic9.1 web应用程序部署与数据源的配置

    在WebLogic Server 9.1版本中,部署Web应用程序和配置数据源是两个关键操作,对于构建和管理基于Java EE的分布式应用系统至关重要。本文将深入探讨这两个主题,旨在提供全面的理解和实践指导。 首先,让我们关注Web...

    Maven 3 入门 -- 如何创建一个web应用程序

    总结,Maven 3 提供了一种简单而强大的方式来创建和管理 Web 应用程序。通过理解其核心概念和生命周期,开发者可以高效地构建、测试和部署项目。对于初学者来说,学习 Maven 是进入 Java Web 开发的重要一步。

    如何创建一个使用Azure AD调用web API的多租户SaaS web应用程序1

    总结来说,创建一个使用Azure AD调用Web API的多租户SaaS Web应用程序涉及创建租户、注册应用、配置多租户支持、设置权限以及在开发环境中集成和测试。这个过程确保了不同组织的用户能够安全地登录并使用应用程序,...

    C#Web应用程序入门经典电子书1

    本书将介绍如何在本地IIS服务器或远程服务器上发布和配置ASP.NET Web应用程序。 通过《C# Web应用程序入门经典电子书1》,读者不仅可以学习到C#语言的基础知识,还能掌握使用C#进行Web开发的核心技术,为今后深入...

Global site tag (gtag.js) - Google Analytics