`

Java Web应用概述

阅读更多
Java Web应用的核心技术是Java Server Page和Servlet。开发一个完整的Java Web应用

1. JAVA Web应用的结构



2. Servlet

Servlet在Web应用中担任重要角色。Servlet运行于Servlet容器中,可以被Servlet容器动态加载,来扩展服务器的功能,并提供特定的服务。Servlet按照请求/响应的方式工作。在Struts和Tapestry框架中,控制器组件就是由Servlet来构成的。

当用户请求访问某个Servlet时,Servlet容器将创建一个ServletRequest对象和ServletResponse对象。在ServletRequest对象中封装了用户请求信息,然后Servlet容器把ServletRequest对象和ServletResponse对象传给用户所请求的Servlet。Servlet把响应结果写入ServletResponse中,然后由Servlet容器把响应结果传给用户。

Serlet容器响应用户请求的过程:



在Java Servlet API中有以下几个比较重要的类,它们决定了Web应用的请求/响应方式及各种共享数据的存放地点:
HttpServletRequest:  Servlet容器把HTTP请求信息包含在HttpServletRequest对象中,Servlet组件从request对象中读取用户的请求数据。此外,HttpServletRequest可以存放request范围内的共享数据。

HttpServletResponse:用户生成HTTP响应结果。

HttpSession : Servlet容器为每个HTTP会话创建一个HttpSession实例,HttpSession可以存放session范围的共享数据。

ServletContext: Servlet容器为每个Web应用创建一个ServletCntext实例,ServletCntext可以存放application范围的共享数据。

3. JSP

在传统的HTML文件中加入Java程序片段和JSP标签,就构成了JSP网页。
当JSP容器接收到Web用户的一个JSP文件请求时,它对JSP文件进行语法分析并生成Java Servlet源文件,然后对其编译。一般情况下。Servlet源文件的生成和编译仅在初次调用JSP时发生。如果原始的JSP文件被更新,JSP容器将检测所做的更新,在执行它之前重新生成Servlet并进行编译。

JSP容器初次执行JSP的过程:




4. 共享数据在Web应用中的范围

共享数据有4中存在范围。
Page:共享数据的有效范围是用户请求访问的当前页面。

Request:共享数据的有效范围为“用户请求访问的当前Web组件,以及和当前Web组件共享同一个用户请求的其他Web组件。”如果用户请求访问的是JSP网页,那么该JSP网页的<%@include>指令以及<forward>标记所包含的其他JSP文件也能访问共享数据。Request范围内的共享数据实际上存放在HttpServletRequest对象中。

Session:共享数据存在于整个HTTP会话的生存周期内,同一个HTTP会话中的Web组件共享它。Session范围内的共享数据实际上是存放在HttpSession对象中。

Application:共享数据存在月整个Web应用的生命周期内,Web应用中的所有Web组件都能共享它,共享数据实际上存放在ServletCntext对象中。

共享数据在Web应用中的范围:




当客户第一次访问Web应用中支持会话的某个网页时们就会开始一个新的HTTP会话,Servlet容器为这个会话创建一个HttpSession对象。接下来,当客户浏览这个Web应用的不同网页时,始终处于同一个会话中。会话拥有特定的生命周期。在以下情况中,会话将结束生命周期,Servlet容器会将HTTP会话所占有的资源释放掉:

客户端关闭浏览器
会话过期
服务器端调用了HttpSession的invalidate()方法

5. JavaBean组件及其在Web应用中的范围

JavaBean是一种符合特定规范的JAVA 对象。在JAVABean中定义了一系列的属性,并提供了访问和设置这些属性的公用方法。JavaBean可以作为共享数据,存放在page,request,session,application范围内。在JSP文件中,可以通过专门的标签来定义和范围JavaBean。如
<jsp:useBean id="calendar" scope="page/request/session/application" class="employee.Calendar" />
<h2>
Calendar of <jsp:getProperty name="calendar" property="username" />
</h2>

6. EJB组件

EJB组件是基于标准分布式对象技术,CORBA和RMI的服务端JAVA组件,EJB组件和JavaBean组件一样,都用于实现企业应用的业务逻辑,它们的根本区别在于,EJB组件总是分布式的,EJB组件运行于EJB服务器中,而JavaBean组件可以和Servlet或JSP运行于同一JAVA虚拟机中。

7. Web组件的三种关联关系

请求转发
URL重定向
包含

7.1. 请求转发

请求转发允许把请求转发给同一应用中的其他Web组件。这种技术通常用于Web应用控制层的Servlet流程控制器,它检查HTTP请求数据,并将请求转发到合适的目标组件,目标组件执行具体的请求处理操作,并生成响应结果。

一个Servlet把请求转发给另一个JSP组件的过程:




如果在Servlet组件转发请求给一个JSP组件,可以在Servlet的service()方法中执行以下代码:
RequestDispatcher rd = request.getRequestDispatcher(“hello.jsp”);
Rd.forward(request.response);

如果在JSP页面中,可以使用<jsp:forward>标签来转发请求,例如:
<jsp:forward page=”hello.jsp”/>

对于请求转发,转发的源组件和目标组件共享request范围内的数据。

7.2.  请求重定向

请求重定向类似请求转发,但是有一些重要区别:
Web组件可以将请求重定向到任一URL,而不进进是同一应用中的URL。
重定向的元组件和目标组件之间不共用同一个HttpServletRequest对象,因此不能共享request范围内的共享数据。

显示一个Servlet把请求重定向给另一个JSP组件的过程:




如果当前应用的Servlet组件要把请求转发给URL。可以在Servlet的service方法中执行:
response.sendRedirect(URL);

7.3. 包含

包含关系允许一个Web组件聚集来自同一个应用中的其他Web组件的输出数据,并使用被聚集的数据来创建响应结果。这种技术通常用于模板处理器,它可以控制网页的布局。模板中每个页面区域的内容都来自不同的URL,从而组成单个页面。

显示了一个Servlet包含另一个JSP组件的过程:




Servlet类使用javax.servlet.RequestDispatcher.include()方法包含其他的Web组件。
例如,如果当前饿Servlet组件包含了三个JSP文件:header.jsp,main.jsp和 footer.jsp,则在Servlet的service()方法中执行如下代码:
RequestDispatcher rd;
Rd=req.getRequestDispatcher(“/header.jsp”));
Rd.include(req,res);
Rd=req.getRequestDispatcher(“/main.jsp”));
Rd.include(req,res);
Rd=req.getRequestDispatcher(“/footer.jsp”));
Rd.include(req,res);

在JSP文件中,可以通过<include>指令来包含其他的Web资源,例如:
<%@ include file=”header.jsp”%>
<%@ include file=”main.jsp”%>
<%@ include file=”footer.jsp”%>
  • 大小: 35.2 KB
  • 大小: 10.3 KB
  • 大小: 17.1 KB
  • 大小: 12.7 KB
  • 大小: 12.2 KB
  • 大小: 12.4 KB
  • 大小: 13.2 KB
分享到:
评论
1 楼 paladin1988 2012-11-06  
不错不错。。

相关推荐

    Java Web应用概述PPT课件PPT学习教案.pptx

    Java Web 应用概述是 Java 语言在 Web 应用领域的应用概述,涵盖了 Java Web 应用的基本概念、体系结构、技术架构、编程技术等方面的知识点。 1. Java Web 应用概述 Java Web 应用概述是指在 Java 平台上开发的...

    JavaWeb应用在ARMLinux平台上的实现.pdf

    2. Java Web应用概述:Java Web应用是互联网中的首选技术,具有面相对象、平台无关、多线程、分布、安全等特点,满足了互联网发展的需求。 3. Java虚拟机JAMVM:Java虚拟机JAMVM是Java虚拟机的实现,它可以在ARM...

    《Java Web应用开发技术》教学策略.pdf

    《Java Web应用开发技术》的教学策略主要涉及三个方面:以技术需求为本、以开发模式为纲和以应用示例为主。下面将详细探讨这三个方面的教学策略。 首先,以技术需求为本。Java Web应用开发技术课程旨在帮助学生掌握...

    Java Web整合开发王者归来:Java Web.part3

    第1篇为入门篇,内容包括Java Web开发概述等;第2篇为基础篇,内容包括Servlet技术、JSP技术、会话跟踪、过滤器Filter、监听器Listener等;第3篇为高级篇,内容包括JSTL标签库的使用、如何自定义标签、资源国际化、...

    北大java web(ppt)

    Java Web技术是用于构建和部署分布式应用程序的平台,它结合了Java编程语言和Web应用的特性。JavaWeb应用通常由客户端、服务器端和数据库三部分组成,通过HTTP等协议进行通信。Java Web技术的核心包括Servlet、JSP、...

    《Java Web应用开发基础教程》教学课件—01概述.pdf

    《Java Web应用开发基础教程》教学课件—01概述.pdf《Java Web应用开发基础教程》教学课件—01概述.pdf《Java Web应用开发基础教程》教学课件—01概述.pdf《Java Web应用开发基础教程》教学课件—01概述.pdf《Java ...

    java 程序设计structs

    #### 一、Java Web 应用概述 Java Web 应用程序是构建于 Java 平台之上的一种动态网站解决方案,其核心是 Servlet 和 JSP 技术。这些技术使得开发者能够创建高性能、可扩展的应用系统。Java Servlet 是一种运行在...

    基于工作任务的Java_Web应用教程[覃国蓉][电子教案]

    【Java_Web应用教程概述】 本教程“基于工作任务的Java_Web应用教程”由覃国蓉教授编写,是一份详实的电子教案,旨在通过实际工作任务的实施,帮助学习者掌握Java Web开发的核心技术和实践技能。Java Web技术是构建...

    《Java_Web应用开发实用教程》练习答案

    《教育部实用型信息技术人才培养系列教材·Java Web应用开发实用教程》分为3篇,共21章:第1篇Java Web开发基础知识分为9章,强调基本概念、技术和方法的阐述,注重联系实际的操作,包括Web应用开发概述、开发与运行...

    java的web应用程序框架

    ### Java的Web应用程序框架知识点详解 #### 概述与背景 - **背景介绍**:本文档为Sun Microsystems, Inc.发布的《Sun Java Studio Web应用程序框架开发人员指南》的一部分,介绍了如何利用Sun Java Studio ...

    java web 应用对象存储管理简介

    ### Java Web应用中的对象存储管理概述 在Java Web开发中,有效地管理用户会话和数据交互对于构建功能丰富且响应迅速的应用程序至关重要。本文将深入探讨Java Web应用中常见的对象存储管理技术,包括Cookie、...

    基于工作过程的高职《Java Web应用开发》课程标准探讨.pdf

    "基于工作过程的高职《Java Web应用开发》课程标准探讨" 本文探讨了基于工作过程的高职《Java Web应用开发》课程标准的设计和实现。该课程标准以软件工程思想贯穿全线,围绕学生完成一系列递进的典型工作任务来组织...

    java Web 应用开发技术实用教程源代码

    在Java Web应用开发技术实用教程中,初学者可以深入理解并掌握构建Web应用程序的基本概念和技术。本教程通过详细的例题,旨在帮助读者逐步熟悉并熟练使用Java语言进行Web开发。以下是一些关键知识点的概述: 1. **...

    java web框架开发技术

    本资源摘要涵盖了 Java Web 框架开发技术的基本概念、Struts2 框架的应用、Web 应用程序开发的基本步骤、实验项目的设置和实验内容、评分办法等方面的知识点。 一、Java Web 框架概述 Java Web 框架是指基于 Java ...

    java web中级部分(非框架知识)知识总结

    Java Web中级部分的知识涵盖了许多关键领域,这些都是在开发基于Java的Web应用程序时不可或缺的技能。以下是对这些领域的详细概述: 1. HTML(超文本标记语言):HTML是Web页面的基础,用于定义页面结构和内容。它...

    《Java Web应用开发》电子教案

    根据提供的信息,《Java Web应用开发》电子教案涵盖了Java Web应用的基础知识、开发环境配置以及简单JSP页面的开发。以下是对这些知识点的详细解析: ### 一、Java Web概述 #### 1. Java Web概念 Java Web是指使用...

    Java Web服务器(应用服务器)-java web应用程序的服务器平台审核.docx

    Java Web服务器,也称为应用服务器,是指为Java Web应用程序提供运行环境的平台。这类服务器不仅能够支持基本的HTTP服务,还能提供更为复杂的Java EE服务,如事务管理、安全控制、持久化支持等。本文将详细介绍几种...

    我们公司的JAVA WEb培训资料

    Java Web 是一种基于Java技术构建Web应用程序的方法,它涵盖了从服务器端处理到客户端展示的全方位开发。本培训资料是针对初入公司的新人所设计,旨在帮助他们快速掌握Java Web的基础知识,为后续的工作奠定坚实的...

Global site tag (gtag.js) - Google Analytics