Part II 3.从Web应用开始(Getting Started with Web Applications)

Web应用

在Java EE平台中,**Web组件**为Web服务器提供动态扩充的能力。Web组件可以是Java Servlet,JavaServer Faces技术实现的Web页面,Web服务端点,或者JSP页面。图3-1说明了使用Servlet的Web服务器和Web应用之间的交互。客户端发送一个HTTP请求给Web服务器。一个实现了Java Servlet和JavaServer Page(译注:简称JSP,JSP相当于服务器解析JSP语言动态生成网页的技术)技术的Web服务器把请求转换成一个HTTPServletRequest对象。这个对象被传送到一个Web组件中,Web组件能够与JavaBeans组件或者一个数据库交换,来生成动态内容。这个Web组件然后就能生成一个HTTPServletResponse或者把请求传递到另一个Web组件。一个Web组件最终生成一个HTTPServletResponse对象。Web服务器把这个对象转换成一个HTTP响应然后把它返回给客户端。

图3-1 Java Web服务器请求处理

Servlet是Java编程语言类,动态地处理请求以及构建响应。诸如JavaServer Faces和Facelets的Java技术,被用来构建交互式Web应用程序(框架也可以用作此目的)。尽管Servlet、Java Server Faces和Facelets页面可以用来完成类似的事情,但是他们各有优点。Servlets最适于面向服务的应用程序(Web服务端点可以实现为Servlet)以及面向展示的应用程序的控制部分,例如分发请求和处理非文本数据。Java Server Faces 和 Facelet 页面更适合于生成基于文本的标记语言,例如XHTML,并且更广泛地使用与面向展示的应用程序。

Web组件由被称为Web容器的运行时平台支持。一个Web容器以分配、安全、并发和生命周期管理的形式提供这些服务。一个Web容器也为Web组件提供了如命名、transation和email等API访问。

Web应用程序的某些方面行为可以在应用程序安装或者部署到Web容器的时候配置。配置信息可以用Java EE 注解来指定,或者被维护在一个被称为Web应用程序部署描述(Deployment Descriptor,DD)的XML格式的文本文件。一个Web应用程序部署描述必须遵守Java Servlet Specification中描述的模式。

这一节给出了开发Web应用程序包含的活动的简短综述。首先,它总结了Web应用程序生命周期,解释了怎么打包和在GlassFish服务器部署非常简单的Web应用程序。该节会继续讲解配置Web应用程序,探讨如何制定最常用的配置参数。

Web Applications

In the Java EE platform, **web components** provide the dynamic extension capabilities for a web server. Web components can be Java servlets, web pages implemented with JavaServer Faces technology, web service endpoints, or JSP pages. [Figure 3-1](http://docs.oracle.com/javaee/6/tutorial/doc/geysj.html#bnads)illustrates the interaction between a web client and a web application that uses a servlet. The client sends an HTTP request to the web server. A web server that implements Java Servlet and JavaServer Pages technology converts the request into an HTTPServletRequest

object. This object is delivered to a web component, which can interact with JavaBeans components or a database to generate dynamic content. The web component can then generate an HTTPServletResponse

or can pass the request to another web component. A web component eventually generates a HTTPServletResponse

object. The web server converts this object to an HTTP response and returns it to the client.

Figure 3-1 Java Web Application Request Handling

Servlets are Java programming language classes that dynamically process requests and construct responses. Java technologies, such as JavaServer Faces and Facelets, are used for building interactive web applications. (Frameworks can also be used for this purpose.) Although servlets and Java Server Faces and Facelets pages can be used to accomplish similar things, each has its own strengths. Servlets are best suited for service-oriented applications (web service endpoints can be implemented as servlets) and the control functions of a presentation-oriented application, such as dispatching requests and handling nontextual data. Java Server Faces and Facelets pages are more appropriate for generating text-based markup, such as XHTML, and are generally used for presentation–oriented applications.

Web components are supported by the services of a runtime platform called a **web container**. A web container provides such services as request dispatching, security, concurrency, and lifecycle management. A web container also gives web components access to such APIs as naming, transactions, and email.

Certain aspects of web application behavior can be configured when the application is installed, or **deployed**, to the web container. The configuration information can be specified using Java EE annotations or can be maintained in a text file in XML format called a web application deployment descriptor (DD). A web application DD must conform to the schema described in the Java Servlet specification.

This chapter gives a brief overview of the activities involved in developing web applications. First, it summarizes the web application lifecycle and explains how to package and deploy very simple web applications on the GlassFish Server. The chapter moves on to configuring web applications and discusses how to specify the most commonly used configuration parameters.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352

推荐阅读更多精彩内容

  • 亲爱的,我只是那么随意地待着。有时拢几行薯苗挽个辔,有时分几缕蒜苗扎根辨子,更多的时候则是萝卜菜心清汤挂面,就那么...
    专抓耗子阅读 1,043评论 0 3
  • 【时间】 更新:2017年2月20日~2017年5月30日 【目标】 ⑴每月业绩达至USD5000,副业每月有收入...
    未来金刚研究院阅读 220评论 0 1
  • 太阳每天都会下山,而每分钟都不免有人死亡。这是命中注定的,不要为此而感慨了。如果只因为那大公无私的脚步会到任何一个...
    独孤星夜的孤独等待阅读 396评论 0 0