创建和发布Web应用
Java Web应用由一组静态HTML页、Servlet、JSP和其他相关的class组成。每种组件在Web应用中都有固定的存放目录。Web应用的配置信息存放在web.xml文件中。在发布某些组件(如Servlet)时,必须在web.xml文件中添加相应的配置信息
Web应用的目录结构
在classes以及lib子目录下,都可以存放Java类文件。在运行过程中,Tomcat的类装载器先装载classes目录下的类,再装载lib目录下的类。因此,如果两个目录下存在同名的类,classes目录下的类具有优先权
web.xml
<?xml version="1.0" encoding="GB2312"?> <!--
Web.xml依次定议了如下元素:
<web-app>
<display-name></display-name> 定义了WEB应用的名字
<description></description> 声明WEB应用的描述信息
<filter></filter>
<filter-mapping></filter-mapping>
<servlet></servlet>
<servlet-mapping></servlet-mapping>
<session-config></session-config>
<welcome-file-list></welcome-file-list>
<taglib></taglib>
<resource-ref></resource-ref>
<security-constraint></security-constraint>
<login-config></login-config>
</web-app>
在web.xml中元素定义的先后顺序不能颠倒,否则Tomcat服务器可能会抛出SAXParseException.
-->
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems,Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Sample Application</display-name>
<description>
This is a Sample Application
</description>
<!--
filter 配置Servlet过滤器
filter-name 定义过滤器的名字。当有多个过滤器时,不能同名
filter-class 指定实现这一过滤的类,这个类负责具体的过滤事务
-->
<filter>
<filter-name>SampleFilter</filter-name>
<filter-class>mypack.SampleFilter</filter-class>
</filter>
<!--
filter-mapping 设定过滤器负责过滤的URL
filter-name 过滤器名。这里的名字一定要和filter中的过滤器名匹配
url-pattern 指定过滤器负责过滤的URL
-->
<filter-mapping>
<filter-name>SampleFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<!--
servlet 配置Servlet.
servlet-name 定义Servlet的名字
servlet-class 指定实现这个servlet的类
init-param 定义Servlet的初始化参数和参数值,可有多个init-param。在servlet类中通过getInitParamenter(String name)方法访问初始化参数
load-on-startup 指定当Web应用启动时,装载Servlet的次序。
当值为正数或零时:Servlet容器先加载数值小的servlet,再依次加载其他数值大的servlet.
当值为负或未定义:Servlet容器将在Web客户首次访问这个servlet时加载它
-->
<servlet>
<servlet-name>SampleServlet</servlet-name>
<servlet-class>mypack.SampleServlet</servlet-class>
<init-param>
<param-name>initParam1</param-name>
<param-value>2</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!--
配置servlet映射(下面代码为SampleServlet指定的相对URL为"/sample":
servlet-name 指定servlet的名字,这里的名字应该和<Servlet>元素中定义的名字匹配。
url-pattern 指定访问这个servlet的URL。只需给出相对路径。
-->
<servlet-mapping>
<servlet-name>SampleServlet</servlet-name>
<url-pattern>/sample</url-pattern>
</servlet-mapping>
<!--配置session session用来设定HttpSession的生命周期。单位(秒)-->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<!--配置Wel0come0文件清单-->
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
<!--
配置Tag Library
taglib-uri 设定Tag Library的唯一标识符,在Web应用中将根据这一标识符来引用Tag Library
taglib-location 指定和Tag Library对应的TLD文件的位置
-->
<taglib>
<taglib-uri>/mytaglib</taglib-uri>
<taglib-location>/WEB-INF/mytaglib.tld</taglib-location>
</taglib>
<!--
配置资源引用
description 对所引用的资源的说明
res-ref-name 指定所引用资源的JNDI名字
res-type 指定所引用资源的类名字
res-auth 指定管理所引用资源的Manager,它有两个可选值:
Container:由容器来创建和管理resource
Application:同WEB应用来创建和管理Resource
-->
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/sampleDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<!--
配置安全约束(以下代码指定当用户访问该WEB应用下的所有资源时,必须具备guest角色)
web-resource-collection 声明受保护的WEB资源
auth-constraint 声明可以访问受保护资源的角色,可以包含多个<role-name>子元素
web-resource-name 标识受保护的WEB资源
url-pattern 指定受保护的URL路径
-->
<Security-constraint>
<web-resource-collection>
<web-resource-name>sample appliction</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>guest</role-name>
</auth-constraint>
</Security-constraint>
<!--
配置安全验证登录界面:指定当WEB客户访问受保护的WEB资源时,系统弹出的登录对话框的类型。
auth-method 指定验证方法,它有三个可选值:BASIC(基本验证)、DIGEST(摘要验证)、FORM(表单验证)
realm-name 设定安全域的名称
form-login-config 当验证方法为FORM时,配置验证网页和出错网页
form-login-page 当验证方法为FORM时,设定验证网页
form-error-page 当验证方法为FORM时,设定出错网页
-->
<login-config>
<auth-method>FORM</auth-method>
<realm-name>
Tomcat Server Configuration form-Based Authentication Area
</realm-name>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
<!--配置对安全验证角色的引用-->
<security-role>
<description>
The role that is required to log into the sample application
</description>
<role-name>guest</role-name>
</security-role>
</web-app>
实例
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Praxislanguage Ams Recorder</display-name>
<context-param>
<param-name>globalScope</param-name>
<param-value>default</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/red5-*.xml</param-value>
</context-param>
<context-param>
<param-name>locatorFactorySelector</param-name>
<param-value>red5.xml</param-value>
</context-param>
<context-param>
<param-name>parentContextKey</param-name>
<param-value>default.context</param-value>
</context-param>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>/amsRecorder</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<security-constraint>
<web-resource-collection>
<web-resource-name>Forbidden</web-resource-name>
<url-pattern>/streams/*</url-pattern>
</web-resource-collection>
<auth-constraint/>
</security-constraint>
</web-app>
http://hi.baidu.com/24xinhui/blog/item/257ee895bca837017af48032.html
分享到:
相关推荐
创建一个简单的Java Web应用,例如名为"helloapp"的应用,通常需要以下目录结构: 1. /helloapp:Web应用的根目录,包含JSP和HTML文件。 2. /helloapp/WEB-INF:存放Web应用的配置文件web.xml和其他非公开资源。 3. ...
Java Web应用客户端编程是开发基于Web的交互式应用程序的关键部分,它主要关注用户与服务器之间的交互逻辑和用户体验。客户端编程通常涉及HTML、CSS、JavaScript,以及一些库和框架,如jQuery、Bootstrap等,来创建...
《Java Web应用开发项目教程》是一本以实践为导向的教程,旨在帮助读者深入理解并掌握Java Web开发技术。教程通过完整的案例,采用模块化的教学方式,将复杂的Web应用开发过程分解为可操作的步骤,逐步引导学习者...
5. **Listener**:监听器是实现特定接口的Java类,它们监听Web应用中的特定事件,如会话创建、销毁、请求初始化等,可以用来执行相应的逻辑操作。 除了这些基础组件,Java Web开发还涉及到MVC(Model-View-...
JSP应用开发是Java Web应用程序开发的核心技术之一,通过本节学习,读者将掌握创建第一个Java Web项目的详细过程。 JDK的安装与配置 在创建Java Web项目之前,需要安装和配置JDK(Java Development Kit)。JDK是...
以上就是关于Java Web应用的基础配置知识,包括了Web应用的基本目录结构、Eclipse项目配置、Struts2框架配置、Spring框架配置以及Hibernate框架配置等内容。希望这些知识点能够帮助初学者更好地理解Java Web应用的...
3. **netdisk**: 网络硬盘或云存储服务,这是一个常见的Java Web应用。它涉及到文件的上传、下载、分享、版本控制等。这里可能使用了FTP或HTTP协议处理文件传输,而持久化存储可能依赖于NoSQL数据库(如MongoDB)或...
【描述】:“java web 新闻发布系统”是一个基础的Web应用程序,它涵盖了增、删、查、改(CRUD)的基本操作,这四个操作是数据管理的核心。系统通过从数据库中获取和存储信息,确保了新闻数据的持久化和实时性。用户...
**课程名称:**Java Web应用开发 **课程编码:**60212514 **总学时:**74学时 **上机时数:**36学时 **学分:**4.5 **开课单位:**电信学院 **适用专业:**计算机科学与技术(中职本) **课程性质、类型、目的和...
开发者会学习如何创建动态Web项目,配置web.xml文件以定义Servlet和过滤器,以及如何部署和测试Web应用程序。 章节17可能涉及到框架的使用,例如Spring或Struts,这些框架简化了Java Web开发,通过提供依赖注入、...
Java Web是一种基于Java技术构建Web应用程序的框架和标准,它结合了Java服务器页面(JSP)、Servlet、JavaServer Faces(JSF)等组件,为开发人员提供了强大的后端支持和丰富的用户界面创建工具。本教程将围绕“经典...
Java Web应用开发是一个广泛的主题,涵盖了许多核心技术,用于构建基于Java平台的互联网应用程序。这个"Java Web应用开发.zip"文件可能包含一系列的教程、代码示例、课件和其他教学资源,帮助初学者或有经验的开发者...
1. **创建Web应用目录**:在Tomcat的webapps目录下新建一个名为`HelloJsp`的文件夹。 2. **创建Web-INF目录**:在`HelloJsp`目录下新建`Web-INF`文件夹。 3. **编写JSP代码**: ```jsp <%@ page language="java" ...
《精通Eclipse Web开发--Java体系结构、工具、框架及整合应用》这本书是为Java开发者提供的一本深度学习Eclipse IDE、Web开发技术以及相关工具和框架的指南。以下是本书涵盖的一些关键知识点: 1. **Java体系结构**...
8. **部署描述符(web.xml)**:每个Java Web应用都有一个`web.xml`文件,它是应用的配置文件,定义了Servlet、过滤器、监听器以及其他设置。 9. **Eclipse或IntelliJ IDEA项目结构**:`workspace`可能基于这些流行...
在Eclipse中创建Java EE Web工程是开发基于Java的Web应用程序的重要步骤。这个过程涉及到配置开发环境、设置项目属性以及创建必要的文件结构。下面将详细解释如何在Eclipse中进行这些操作。 首先,确保你已经安装了...
+ webapps:Web 应用的发布目录,把 Java 开发的 Web 应用(或 WAR 文件)放入这个目录下就可以通过 Tomcat 服务器访问了。 + conf:Tomcat 的各种配置文件,最重要的是 server.xml。 Web Application 的概念: ...
- **目的**:为了组织Web应用程序的相关文件和资源,需要在Tomcat服务器的`webapps`目录下创建特定的目录结构。 - **操作步骤**: - **进入Tomcat安装目录**:假设路径为`D:\Tomcat6.0`,定位到`webapps`目录。 - ...