`
yongjie_2008_java
  • 浏览: 3880 次
  • 性别: Icon_minigender_1
  • 来自: 南阳
最近访客 更多访客>>
社区版块
存档分类
最新评论

SSH整合之Web应用规范

 
阅读更多

按照 Java EE 规范的规定,一个典型的 Web 应用程序有四个部分:
1.  公开目录 ;
2. WEB-INF/web.xml 文件,发布描述符(必选) ;
3. WEB-INF/classes 目录,编译后的 Java类文件(可选) ;
4. WEB-INF/lib 目录,Java类库文件(*.jar) (可选) ;
 
公开目录存放所有可以被用户的访问的资源, 包括  .html, .jsp, .gif, .jpg, .css, .js, .swf 等等。 

WEB-INF 目录是一个专用区域, 容器不能把此目录中的内容提供给用户。  
这个目录下的文件只供容器使用,里面包含不应该由客户直接下载的资源,
例 如: Servlet(这些组件包括应用程序逻辑以及对其他资源如数据库的可能访问), Web应用程序中servlet可直接访问的其他任何文件,在服 务器方运行或者使用的资源(如 Java类文件和供 servlet 使用的 JAR文件),由您的应用程序生成的临时文件,,发布描述符以及其它任何配 置文件。 
这些资源是专用的, 因此只能由它们自己的 Web应用程序及容器访问。 
特别地,JSP/Servlet   程序文件也能通过 ServletContext 访问到这个目录下的文件,
例如 JSP 中可以通过application.getRealPath(“/WEB-INF/web.xml”) 访问到发布描述符文件的路径。 
Web容器要求在你的应用程序中必须有 WEB-INF 目录。 
注意: 如果你的 Web 应用程序中没有包含这个目录, 它可能将无法工作
WEB-INF 中包含着发布描述符, 一个 classes 目录和一个 lib目录, 以及其它内容。  

发布描述符(deployment descriptors)是 J2EE Web 应用程序不可分割的一部分(也就是说是它的最小部分, 必不可缺的一部分)。 
它们在应用程序发布之后帮助管理 Web 应用程序的配置。
对于Web 容器而言, 发布描述符是一个名为 web.xml 的 XML 文件, 存储在 Web 应用程序的 /WEB-INF目录下。  

发布描述符有多种用途:
•  为 Servlet 和 Web 应 用程序提供初始化参数  这使我们的Web应用程序中的硬性编写的代码的初始化值更少。 例如常见的 <param- name>, <param-value>标记, 就可以为Servlet 提供参数, 这个参数可以在 init() 方法中加 载。 
Struts 的 ActionServlet 也是通过这种方式来找到它们需要的配置文件 struts-config.xml 的位置, 从而加载并分析它,来初始化 Struts 框架用到的各种 FromBean, Action, Forward等。 
•  Servlet/JSP 定义 可以为 Web 应用程序中的每个 Servlet 或者预编译的 JSP 网页提供定义。 
包括Servlet/JSP的名字, Servlet/JSP 的类以及一个可选的描述。 
•  Servlet/JSP 映射  Web容器使用这些信息把进入请求映射到 servlet 和 JSP 网页。 
•  MIME类型  由于每个 Web 应用程序可以包含多种内容类型, 因此我们可以在发布描述符中为每一种类型指定 MIME 类型。 
•  安全性   我们可以使用发布描述符来管理应用程序的访问控制。 例如, 可以指定我们的Web应用程序是否需要登录, 如果需要的话, 应该使用什么登录页面, 以及用户会作为何种角色。 

发布描述符还可以用来自定义其他元素, 包括欢迎网页, 出错网页, 会话配置等等。 

classes 目录用于存储编译过的 servlet 及其它程序类, 例如 JavaBean。 
如 果一个程序有打包的 JAR 文件(例如一个第三方 API 打包成了一个 JAR 文件, 如 Struts 框架的类库 struts.jar, MySQL 的数据库 JDBC 驱动程序文件 mysql-connector-java-3.1.11- bin.jar 等), 
那么它们可以被复制到lib目录中(如果解压缩这些压缩包的话, 请将它们复制到classes目录中)。 
Web 容器使用这两个目录来查找 servlet 及其他相关类, 也就是说, 容器的类装入器会自动查看 classes 目录, 以及 lib目录下的 JAR文件。  
这就意味着你不需要明确的把这些类和 JAR文件添加到 CLASSPATH中。  
Web容器自动将这两个目录中的文件加入 Web应用的类路径中。

在Myeclipse中,WebRoot在部署到tomcat上时并不存在,他只是为了方便开发人员你在开发时自动设定的,类似的还有src目录,在部署到tomcat上后,src文件夹将不复存在而是在WEB-INF下生成了一个classes文件夹,WebRoot也不复存在,他之下的文件将和WEB-INF同目录放在根目录下。

web.xml中的classpath即是指:classes,比如src/config/spring.xml在web.xml中配置可写成:classes:/config/spring.xml。如果要加载多个以spring.xml结尾的则可以写成:classes:/config/*spring.xml

分享到:
评论

相关推荐

    ssh整合所需jar包

    SSH整合是指将Struts、Spring和Hibernate这三个Java开源框架结合在一起,用于构建高效、可维护的企业级Web应用程序。Struts提供了MVC(Model-View-Controller)架构,Spring强化了依赖注入和事务管理,而Hibernate则...

    ExtJS+Android+SSH整合开发Web与移动SNS

    ### ExtJS+Android+SSH整合开发Web与移动SNS #### 一、概述 随着互联网技术的不断发展,Web应用及移动应用的需求日益增加。在众多的技术栈中,ExtJS、Android以及SSH(Struts2 + Spring + Hibernate)是构建高质量...

    ssh整合(图)+J2EE规范+申明事务

    标题中的“SSH整合”指的是Spring、Struts和Hibernate这三种技术的集成,它们是Java Web开发中的常用框架。Spring提供了依赖注入和AOP(面向切面编程),Struts则负责MVC模式中的控制层,而Hibernate是ORM(对象关系...

    SSH整合需要的jar包整理

    这三个框架协同工作,可以构建出高效、灵活的企业级Web应用程序。在Eclipse这样的集成开发环境中进行整合,需要正确配置和导入相应的jar包。以下是关于SSH整合所需jar包的详细解释: 1. **Spring框架**: - Spring...

    Maven ssh整合框架

    总结起来,"Maven ssh整合框架"是一个强大的Java Web开发工具集,它结合了Maven的项目管理能力与SSH的业务处理能力,为开发者提供了一种高效、规范的开发方式。通过熟练掌握这些技术,开发者可以在项目中实现快速...

    ssh整合基本开发包

    通过SSH整合,开发者可以构建出松耦合、可维护性强的企业级应用。每个框架都有其独特的优势,Spring提供灵活的依赖注入,Struts2简化了视图和控制器的交互,Hibernate则让数据库操作变得简单。了解和熟练掌握这些jar...

    SSH整合购物网站

    在这个名为"SSH整合购物网站"的项目中,开发者使用这三大框架构建了一个完整的网上购物系统,旨在提供一个规范化的学习和交流平台。 首先,Spring框架是整个系统的基石。它通过依赖注入(Dependency Injection,DI...

    ssh 整合所缺架包 Oracle驱动 SqlServer 驱动

    首先,SSH整合的核心是将Spring的依赖注入、Struts的MVC架构以及Hibernate的对象关系映射(ORM)结合在一起,以实现高效、灵活的Web应用程序开发。在整合过程中,主要涉及到以下步骤: 1. **Spring**:作为应用的...

    SSH整合提取jar包

    SSH整合是Java Web开发中常见的一个技术框架组合,由Spring、Hibernate和Struts2三个开源框架集成而成。这个组合提供了一种高效、灵活且可扩展的解决方案,用于构建企业级的Web应用程序。在这个"SSH整合提取jar包"中...

    SSH整合jar包-spring5.0+hibernate5.1+struts2.5

    SSH整合是指将Spring、Hibernate和Struts这三大Java开源框架集成在一起,用于构建高效、灵活的企业级Web应用程序。这三个框架分别负责不同的职责:Spring作为应用的基石,提供依赖注入(DI)和面向切面编程(AOP),...

    ssh整合.rar

    SSH整合是中国Java Web开发中常见的一个集成框架,它结合了Spring、Struts2和Hibernate三个开源框架,以实现高效、灵活且易于维护的Web应用程序。这个"ssh整合.rar"文件包含的是SSH2(Spring 4.2、Struts2 2.3.24和...

    SSH整合DEMO

    总结起来,这个SSH整合DEMO涵盖了Web应用开发的核心部分:用户交互(Struts2)、业务逻辑管理(Spring)以及数据持久化(Hibernate)。通过学习和实践这个DEMO,开发者可以深入理解这三大框架的协同工作方式,为构建...

    SSH整合jar包

    综上所述,SSH整合是Java Web开发中常见的一种技术栈,通过合理利用Spring、Struts2和Hibernate的优势,可以构建出稳定、可维护的Web应用。同时,配合C3P0连接池,可以进一步优化数据库操作,提升整体系统的运行效率...

    SSH最新整合包

    在实际开发中,使用SSH整合包可以快速搭建企业级应用的基础架构,减少重复代码,提高开发效率。开发者需要熟悉这三个框架的基本概念、配置方式以及它们之间的交互机制,才能有效地利用这个整合包进行项目开发。同时...

    ssh整合jar包

    SSH整合指的是Spring、Struts和Hibernate这三大框架的集成应用,是Java Web开发中的常见实践。这个"ssh整合jar包"包含了所有这三个框架所需的库文件,使得开发者在项目开发过程中可以直接导入,避免了手动逐一添加...

    ssh+cxf整合发布webservice实例

    SSH+CXF整合发布Web服务(Webservice)实例详解 在软件开发中,SSH(Spring、Struts、Hibernate)是一个常见的Java EE应用框架组合,用于构建高效、可维护的企业级应用程序。CXF则是一个开源的Java服务堆栈,主要...

    ssh框架整合jar包

    Spring Boot 2.0也与Spring 5紧密配合,提供了快速开发现代Web应用的便利。 接下来,Hibernate 5.2版本进一步优化了性能和可扩展性。它引入了JPA 2.2规范的支持,包括新查询语言和更好的实体图形化管理。Hibernate ...

Global site tag (gtag.js) - Google Analytics