Java Web应用程序开发-深入体验Java Web开发内幕之初步-程序员宅基地

技术标签: web服务  java  web  tomcat  JavaWeb应用开发--深入体验javaWeb开发内幕  程序开发  web开发  

从今天起我将一边介绍XML介绍之Schema一边开始介绍JavaWeb应用程序开发的介绍。作为第一次介绍,肯定是从WEB站点的构建过程开始讲起的即:

 

用Tomcat构建WEB站点

相关知识:

 

1.WEB应用的相关知识

 

2.安装 Tomcat

 

3.Tomcat 的启动与停止

 

4.配置WEB站点的虚拟目录  

 

5.配置虚拟主机 

 

 

WEB应用的相关知识

 

Web应用程序简介

•        应用程序:指允许用户执行特定任务的软件程序,主要分为桌面应用程序和Web应用程序两种类型。

•        桌面应用程序(Desktop Application):一般是指采用客户机/服务器结构(Client/Server)的应用程序。

 

•        C/S模式将应用与服务分离,系统具有稳定性和灵活性

•        C/S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性

•        由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快

•        在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂

 

•          Web应用程序(Web Application)

•        Web应用程序一般是指采用浏览器和服务器结构(Browser/Server,简称B/S结构)的应用程序。

•        Web应用程序由Web服务器和Web客户端组成。

 

Web服务器:Web服务器上装有某个应用程序,这个Web服务器应用程序负责接收客户请求进行处理,向客户返回结果。

 

Web客户端:允许用户请求服务器上的某个资源,并且向客户端返回结果。Web应用程序的客户端一般是指Web浏览器。Web浏览器就是一个软件,它知道怎么与服务器通信,它还有一个重要任务,就是解释HTML代码,把Web页面呈现给用户。

 

Web应用程序完整的“请求-响应”流程

B/S模式的优点:

    (1)易于维护:基于B/S模型的系统当需要升级或维护时,只需修改服务器程序即可。

    (2)易于实现。B/S模型的表现层可以用制作网页的html来实现,浏览器和网页设计技术已经相当成熟。而且用Java技术开发的Web系统可以安装在任意一种服务器系统平台上,也就是常说的具有跨平台性。

    (3)使用方便,无论客户在什么地方,只要服务器正在运行,客户就能通过网络进行连接,实现对数据的访问和操作。

 

 

HTTP协议

URL:Uniform Resource Locator(统一资源定位符)

       例如,http://www.it315.org:80/java/index.html

 

主要的WEB服务器软件

       IIS 、Apache 、Tomcat

 

 

网站的系统组成--大型网站系统的拓扑图

浏览器访问区域代理服务器的过程

WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。

 

Internet上供外界访问的Web资源分为:

•        静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。

•        动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。

静态web资源开发技术

•        Html

 

常用动态web资源开发技术:

•        JSP/Servlet、ASP、PHP等

•        在Java中,动态web资源开发技术统称为Javaweb,我们课程的重点也是教大家如何使用Java技术开发动态的web资源,即动态web页面。

 

WEB服务器

 

学习web开发,需要先安装一台web服务器,然后再在web服务器中开发相应的web资源,供用户使用浏览器访问。

 

疑问:学习web开发,为什么必须要先装一个WEB服务器。

 

常见WEB服务器

WebLogic是BEA公司的产品,是目前应用最广泛的Web服务器,支持J2EE规范,而且不断的完善以适应新的开发要求,启动界面如图:

另一个常用的Web服务器是IBM公司的WebSphere,支持J2EE规范,启动界面如图:

 

常见WEB服务器 apache

在小型的应用系统或者有特殊需要的系统中,可以使用一个

  免费的Web服务器:Tomcat,该服务器支持全部JSP以及

  Servlet规范,启动界面如图



 

Tomcat服务器

 

Tomcat官方站点:http://jakarta.apache.org

 

获取Tomcat安装程序包

ü          tar.gz文件是Linux操作系统下的安装版本

ü          exe文件是Windows系统下的安装版本

ü           zip文件是Windows系统下的压缩版本

安装Tomcat

双击bin 目录下的 startup.bat 文件

 

输入http://localhost:8080/,显示如下界面代表安装成功

常见启动问题

Java_home环境变量

•        在windows中设置java_home环境变量

•        只要在setclasspath.bat批处理文件第一次使用JAVA_HOME环境变量之前的任何地方,将JAVA_HOME环境变量设置为JDK的主目录,就可以使用startup.bat文件启动Tomcat了。

 

端口占用问题 :netstat -na命令和fport工具(可以查看有哪些网络端口号被监听)

:

动手体验:制造一个端口号冲突导致Tomcat无法正常服务的故障。

 如:将tomcat的服务器端口号写成一个已经被占用的端口号即可。

Tomcat目录结构

 

Tomcat 的目录层次结构

WEB应用程序

WEB应用程序指供浏览器访问的程序,通常也简称为web应用。

 

 

一个web应用由多个静态web资源和动态web资源组成,如:

•        html、css、js文件

•        Jsp文件、java程序、支持jar包、

•        配置文件等等…..

•        组成web应用的这些文件通常我们会使用一个目录组织,这个目录称之为web应用所在目录

 

Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射

 

虚似目录的映射方式

虚似目录的映射有三种方式:

1、在server.xml文件的host元素中配置,例如:



补充知识点:映射缺省web应用。

 

注意:1.一个Context即代表一个web应用,context元素在配置文件中除用于映射虚似目录外,它还可用于为web应用配置一些资源,例如:配置web应用使用的数据库连接池,javamail session等(这些本配置以后会用到)。

 

2、在Tomcat6中,不再建议在server.xml文件中配置context元素,(需要重启服务器) 细节查看tomcat服务器关于context元素的说明。

3、让tomcat自动映射: tomcat服务器会自动管理webapps目录下的所有web应用,并把它映射成虚似目录。换句话说,tomcat服务器webapps目录中的web应用,外界可以直接访问。

 

WEB应用的组成结构

 

开发web应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错。

web.xml文件

 

Web.xml文件是整个web应用中最重要的配置文件,它必须放在WEB-INF目录中。在开发web应用时,但凡涉及到对web应用中的web资源进行配置,通通是在web.xml文件中进行设置。例如:

•        某个web资源配置为网站首页

•        将servlet程序映射到某个url地址上

•        为web应用配置监听器

•        为web应用配置过滤器

•        ……

认识web.xml文件的作用:

•        通过web.xml文件把某个web资源配成网站首页。

 

部署描述符与目录的默认网页

 

部署描述符文件

ü      <WEB应用程序>/WEB-INF/web.xml

ü       <Tomcat主目录>/conf/web.xml

 

目录的默认网页文件

       <welcome-file-list>

              <welcome-file>index.html</welcome-file>

              <welcome-file>index.htm</welcome-file>

              <welcome-file>index.jsp</welcome-file>

       </welcome-file-list>

配置虚似主机

 

在一个tomcat服务器中可以放置多个网站,所谓配置虚似主机,就是在tomcat服务器中配置一个网站。

 

如需在WEB服务器中配置一个网站,需使用Host元素进行配置,例:

<Hostname=”site1”appBase=”c:\app”></Host>

 

配置的主机(网站)要想被外部访问,必须在DNS服务器或windows系统中注册。

 

配置多个网站。

 

缺省虚似主机。

 

 





版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lijizh1013/article/details/8074997

智能推荐

matlab编程控制舵机,船舶航向控制器设计(MATLAB,附仿真程序)-程序员宅基地

文章浏览阅读1.1k次。船舶航向控制器设计(MATLAB,附仿真程序)(课题申报表,任务书,开题报告,中期检查表,外文翻译,论文15400字,仿真程序,答辩PPT)摘 要本文对反向递推(Backstepping)设计方法在非线性船舶航向控制器中的应用进行了研究。Backstepping设计方法是近几年兴起的一种基于Lyapunov稳定性理论的比较先进的非线性控制方法。因此,本文首先对目前常见的非线性控制方法进行了概述,简..._舵机模型matlab程序

营销系统优惠券模板设计_优惠劵表结构设置-程序员宅基地

文章浏览阅读819次。目录券模板基础信息定义优惠券类型优惠券门槛优惠券面值/折扣率,折扣金额上限有效期自定义使用限定使用时间限定可用商品限定可用门店限定券模板设计类似于商品SKU,定义了一个券模板后,发券操作可以基于同一个券模板实现发放同一种优惠券给多个不同的用户。券模板基础信息定义一张优惠券的基础信息,例如常规的名称,类型,面值等等。下面罗列一些有逻辑含义的字段。优惠券类型立减券: 无门槛或有门槛的满减券,达到使用门槛后可以立减指定金额。 折扣券:按商品价格减免指_优惠劵表结构设置

(深度学习快速入门)人工智能、机器学习和深度学习总体概述_人工智能与深度学习 简明教程-程序员宅基地

文章浏览阅读3k次,点赞15次,收藏67次。线性回归:线性回归假设输出变量是若干输入变量的线性组合,并根据这一关系求解线性组合中的最优系数。具体来说,线性回归的作用是求得一组参数wi,i=0.1.,,,.nwi​,i=0.1.,,,.n,使预测输出可以表示为以这组参数为权重的实例属性的线性组合,引入常量x0=1x_{0}=1x0​=1,线性回归试图学习的模型就是当实例只有一个属性时,输入和输出之间的关系就是二维平面上的一条直线;_人工智能与深度学习 简明教程

python读取串口速度跟不上_串口读取数据很慢,怎么解决-程序员宅基地

文章浏览阅读1.9k次。byte[] reb = new byte[0x400];reb = myCom.Read(0x400);就是这个读取串口数据的函数public byte[] Read(int NumBytes){byte[] lpBuffer = new byte[NumBytes];if (this.hComm == -1){throw new ApplicationException("串口没有打开");}..._python读取串口速度跟不上

浏览器工作原理详解_在线浏览原理图-程序员宅基地

文章浏览阅读3.9w次,点赞47次,收藏283次。这是一篇全面介绍 Webkit 和 Gecko 内部操作的入门文章,是以色列开发人员塔利·加希尔大量研究的成果。在过去的几年中,她查阅了所有公开发布的关于浏览器内部机制的数据,并花了很多时间来研读网络浏览器的源代码。她写道: 在 IE 占据 90%市场份额的年代,我们除了把浏览器当成一个“黑箱”,什么也做不了。但是现在,开放源代码的浏览器拥有了过半的市场份额,因此,是时候来揭开神秘的面纱,一探网_在线浏览原理图

机器学习-Anomaly Detection_根据f1值或者查准率与查全率的比例来选择ε-程序员宅基地

文章浏览阅读347次。Problem Motivation异常检测(Anomaly detection)是机器学习算法的一个常见应用。这种算法的一个有趣之处在于:它虽然主要用于非监督学习问题,但从某些角度看,它又类似于一些监督学习问题。假想你是一个飞机引擎制造商,当你生产的飞机引擎从生产线上流出时,你需要进行 QA(质量控制测试),而作为这个测试的一部分,你测量了飞机引擎的一些特征变量,比如引擎运转时产生的热量,..._根据f1值或者查准率与查全率的比例来选择ε

随便推点

Shiro与Spring结合时报Configuration error: No realms have been configured! One or more realms must be……_configuration error: no realms have been configure-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏7次。最近在跟着网上的教学视频学习Shiro安全框架,使用Shiro可以方便的做验证、授权等,其中在谈到使用多realm做验证,授权时,报了个缺少realm配置的错误。Configuration error: No realms have been configured! One or more realms must be present to execute an authorization o..._configuration error: no realms have been configured! one or more realms must

疟原虫感染治疗癌症,灵感竟然来源于地图-程序员宅基地

文章浏览阅读909次。2月9日,央视一套《新闻30分》节目向全球宣布了陈小平科学研究团队的重大发明《疟原虫感染免疫疗法治疗晚期癌症》。“疟原虫可成为抗癌生力军”迅速占据新闻热搜榜,引发民众热议。为何引发疟疾带来痛苦的疟原虫可以抗癌?这背后有什么样的故事?1985年,在陈小平教授还在中山医科大学读研究生的时候,有一天老师讲疟疾的流行病学时,挂出一张地图,与下图很像——疟疾主要流行在非洲、赤道附近,可以理解为:蚊子多的...

PAT乙级C语言1005 继续(3n+1)思想_pat1005继续 c语言-程序员宅基地

文章浏览阅读95次。#include<stdio.h>void da(int*b,int r);int main(){ //输入数据 int n; scanf("%d",&n); int a[999]; for(int i=0;i<n;i++){ scanf("%d",&a[i]); } //记录重复的数的下标 int t=0; int b[999]; int p; for(int i=0;i<n;i++){ p=a[i]; for(int._pat1005继续 c语言

【啃书】《智能优化算法及其MATLAB实例》例5.1蚁群算法求解TSP问题_蚁群算法 约束优化 matlab-程序员宅基地

文章浏览阅读905次,点赞3次,收藏13次。文章目录问题描述仿真过程matlab源码问题描述仿真过程matlab源码%20201012lu注:该matlab代码成功在matlabR2019a运行%%%%%%%%%%%%%%%%%%%%蚁群算法解决TSP问题%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%初始化%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear all; %清除所有变量close all; _蚁群算法 约束优化 matlab

WPF页面切换之Page与Window_wpf window page-程序员宅基地

文章浏览阅读2.3k次。先从基础背景知识说起:一、Page与Window介绍1.应用程序GUI的所有内容都是包含在Window中的,想要显示东西?必须先创建一个Window或者一个Window的子类;2.Window下面可以直接写内容,写布局,但是这些内容和布局写完后只能是固定的、不可变的,这里是不可变是指Window的内容不会发生变化了,因为元素和布局是写死的了;3.在Window下面插入Frame作为容器,再用该Frame包含你的某个Page(***注意:所有的Page都需要容器包含,否则无法进行页面之间的跳转和导航!_wpf window page

C++抽象数据类型(ADT)表示和实现--链队列(Queue)_c++数据结构adt怎么写-程序员宅基地

文章浏览阅读1.5k次。先放上ADT的解释和预定义常量。抽象数据类型(ADT)是指一个数学模型以及定义在该模型上的一组操作。抽象数据类型的定义仅取决于它的一组逻辑特性,而与其在计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部的使用。以下是队列的抽象数据类型定义。_c++数据结构adt怎么写

推荐文章

热门文章

相关标签