关键名词:网页、web应用程序、服务器、应用层协议、网络通讯程序
web表示网页,它用于表示Internet主机上供外界访问的资源;Javaweb表示是用java代码开发的网页。
Internet上供外界访问的Web资源分为两种:
1) 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。
2) 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。(一般情况下是访问动态web资源)
静态web资源开发技术:Html
动态web资源开发技术:JSP/Servlet、ASP、PHP等
在Java中,动态web资源开发技术统称为Javaweb,如何使用Java技术开发动态的web资源,即动态web页面。 Javaweb:使用java技术开发web页面。
Web(网页)具有以下3个特征:
1)用超级文本技术HTML来表达信息,以及建立信息与信息的链接
2)用统一资源定位技术URL来实现网络上信息的精确定位
3)用网络应用层协议HTTP来规范浏览器与Web服务器之间的通信过程
服务器(把web应用程序部署到服务器上,服务器其实是网络通讯程序):
学习web开发,需要先安装一台web服务器(把服务器软件安装到电脑上),然后再在web服务器中开发相应的web资源,供用户使用浏览器访问。
用户只能访问服务器上的网站,不能访问本地计算机上的web应用程序。
使用服务器访问web资源,服务器端是如何处理的?
服务器端是以文件流的形式传递数据的。
使用浏览器访问本地计算机上的html页面,使用java代码编写应用程序模拟服务器软件(设置端口号)。
1、在本地计算机上随便创建一个web页面,大家可以访问到吗?
访问不到。启动tomcat服务器,把web页面放在tomcat服务器中,用户就可以访问了,这说明什么问题?
1)、不管什么web资源,想被远程计算机访问,都必须有一个与之对应的网络通信程序,当用户来访问时,这个网络通信程序读取web资源数据,并把数据发送给来访者。
2)、WEB服务器就是这样一个程序,它用于完成底层网络通迅。使用这些服务器,用户只需要关注web资源怎么编写,而不需要关心资源如何发送到客户端手中,从而极大的减轻了开发者的开发工作量。
什么是J2EE规范?
J2EE规范(是一些接口或抽象类):服务器软件则实现了这种规范。规范服务器软件的一些标准。(要想开发一款服务器端软件,必须去实现这些规范,才能通讯;就比如要符合一些工商管理局的标准,才能开餐饮店)
按照实现JavaEE规范的多少:
轻量级服务器:tomcat JbossAS。
重量级服务器:WebLogic WebSphereAS。
什么是服务器软件? 服务器软件实现了J2EE的规范,(web应用程序也实现了J2EE规范, 把web应用程序部署到服务器上。)
Web应用程序必须部署到服务器上才能被用户访问到。
用户访问的是服务器上的资源。Tomcat是服务器软件。
MyEcpllise只是开发环境,开发好Web应用程序之后,必须部署到服务器上。
常见WEB服务器:
1)WebLogic是BEA公司的产品,是目前应用最广泛的Web服务器,支持JavaEE规范,而且不断的完善以适应新的开发要求。
2)在小型的应用系统或者有特殊需要的系统中,可以使用一个免费的Web服务器:Tomcat,该服务器支持全部JSP以及Servlet规范。
Tomcat简单配置以及原理(微软的IIS服务器)(安装、启动、部署)
Tomcat服务器简介: Tomcat服务器底层使用的就是socket编程。
Tomcat本身完全用Java语言编写。它可以和目前大部分的主流Web服务器(IIS、Apache服务器)一起工作,它运行稳定、可靠且高效。已成为目前开发企业JavaWeb应用的最佳Servlet容器选择之一。
JavaWeb学习都是基于Tomcat服务器的。
官方网址为http://tomcat.apache.org。
获取Tomcat安装程序包
1) tar.gz文件是Linux操作系统下的安装版本。
2) exe文件是Windows系统下的安装版本x86 x64。
3) zip文件是Windows系统下的压缩版本 (建议)。
安装Tomcat:
Tomcat6本身是基于JDK1.5的应用程序,因此在安装和使用之前必须先行安装1.5及以上版本的JDK(JRE)--->解压安装--->Exe安装.
Tomcat启动方式:
1)使用Tomcat服务程序(安装版)
2)使用Tomcat程序组中的快捷菜单(安装版)
3)使用Tomcat.exe程序(安装版)
4)使用批处理程序(解压版)
Tomcat服务器:
1)双击 bin 目录下的 startup.bat 文件。
2)输入 http://localhost:8080/,显示如下界面代表安装成功。
常见启动问题:
1)Java_home环境变量;
在windows中设置java_home环境变量。只要在setclasspath.bat批处理文件第一次使用JAVA_HOME环境变量之前的任何地方,将JAVA_HOME环境变量设置为JDK的主目录,就可以使用startup.bat文件启动Tomcat了。
2)端口占用问题(更改默认端口)。
3)Catalina_home环境变量的设置问题。
Tomcat目录层次结构:(Tomcat解压后,每个文件夹所做什么的,有什么用,有什么特点)
启动、关闭服务器的脚本 startup.bat shutdown.bat 除了点击startup.bat启动服务器外,如何使用命令行进行启动服务器和关闭服务器。
Tomcat的启动信息(服务器启动需要多少时间? ),Tomcat服务器应用程序的默认端口是8080;
config:web.xml的配置文件;server.xml的配置文件
tomcat启动、运行所需要的jar包,环境。
log:里面有服务器启动的日志。可以把里面的日志删除掉,没什么用的。
temp:临时文件,Tomcat能够自动删除,不用管。
webapps:web应用程序的存放目录。root目录
JAVA_HOME环境变量配置 jdk目录配置到环境变量中即可。
解决Tomcat启动一闪而过的问题:set java_home=jdk安装目录。
应用工程名称, 不能把页面直接放在webapps目录下
JavaWEB应用程序:
1)WEB应用程序指供浏览器访问的程序,通常也简称为web应用(程序)。
2)一个web应用由多个静态web资源和动态web资源组成,如:html、css、js文件jsp文件、java程序、支持jar包、配置文件……
3)Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为虚似目录的映射。
在JavaWeb应用中可以包含以下内容:
1)Servlet 组件:标准Servlet接口的实现类,运行在服务器端,包含了被Servlet容器动态调用的程序代码。
2)JSP组件:包含Java程序代码的HTML文档,运行在服务器端。当客户端请求访问JSP文件时,Servlet容器先把它编译成Servlet类,然后动态调用它的程序代码。
3)相关的Java类:开发人员自定义的与Web应用相关的Java类。
4)静态文档:存放在服务器端的文件系统中,如HTML文件、图片文件和声音文件等。当客户端请求访问这些文件时,Servlet容器会先先从服务器上的本地文件系统中读取这些文件,再把它们发送给客户端。
5)客户端类:由客户端来运行的类。Applet是典型的客户端类。当客户请求访问Applet时,Servlet容器先从服务器上的本地文件系统中读取Applet的class类文件的数据,再把它发送到客户端,由客户端来运行Applet。
6)web.xml文件:JavaWeb应用的配置文件,采用XML格式。
Javaweb应用的目录结构:WEB-INF 目录下 WEB-INF文件夹不是必须的,但是如果有动态的web资源,必须有此文件夹。
WEB-INF 目录下的资源不能够被浏览器直接访问,只能通过间接的形式去访问。
1)Tomcat的lib子目录:存放的JAR文件不仅能被Tomcat访问,还能被所有在Tomcat中发布的JavaWeb应用访问。
2)JavaWeb应用的lib子目录:存放的JAR文件只能被当前JavaWeb应用访问 (web应用程序所需的要的jar包)。
3)classes存放编译之后的字节码文件。有服务器负责调用。
4)web.xml用于配置动态页面的访问路径。
假如Tomcat类加载器要加载一个MyClass的类,它会按照以下先后顺序到各个目录中去查找MyClass的class文件,直到找到为止,如果所有目录中都不存在MyClass.class的文件,则会抛出异常:
1、在JavaWeb应用的WEB-INF/classes中查找MyClass.class文件。
2、在JavaWeb应用的 WEB-INF/lib目录下的JAR文件中查找MyClass.class文件。
3、在Tomcat的lib子目录下直接查找MyClass.class文件。
4、在Tomcat的lib子目录下JAR的文件中查找MyClass.class文件。
发布JavaWeb应用:(如何发布javaweb应用程序? 直接copy到Tomcat的webapps目录下)
1)演示建立一个web应用
2)发布JavaWeb应用(开放式目录和war):Jar –cvf *.war .
Web组件的URL:
无论是开放式目录结构还是打包文件方式发布web应用,web应用的默认URL入口都是Web应用的根目录名。例如要访问MyApp应用,它的URL入口为/MyApp,如访问本地服务http://localhost:8080/MyApp。
tomcat默认端口号是8080.
Tomcat的组成结构:
Tomcat本身由一系列可配置的组件构成,其中核心组件是Servlet容器组件,它是所有其他Tomcat组件的顶层容器。每个组件都可以在Tomcat安装目录/conf/server.xml文件中进行配置,每个Tomcat组件在server.xml文件中对应一种配置元素。以下用XML的形式展示了各种Tomcat组件之间的关系。
Tomcat体系架构:
//-------------------------------------------------------------------------------------------------->
虚拟目录配置,我总结的
连接器Connector
域名对应IP地址,域名解析器 DNS:把域名解析成ip地址。
为什么要配置虚拟目录?虚拟目录怎么配置?配置虚拟目录的两种方式
实际问题:如果开发的应用程序,你不想放到webapps目录下面,该如何处理呢,设置虚拟目录进行映射。
Tomcat的默认端口是:8080; 端口号1到1024 不能随便用。
修改Tomcat的默认端口,访问的时候,不用携带端口号就好了。一定要看好是哪个连接器里面的内容。8080--->直接修改为80 就可以了。
//-------------------------------------------------------------------------------------------------->
虚似目录的映射方式(指向):
在server.xml文件的host元素中配置,例如:
Context元素:
Tomcat6.x提供了多种配置<Context>元素的途径。当其加载一个web应用时,会依次按照以下五种方式尝试查找Web应用的<Context>元素,直到找到为止:
1)到Tomcat安装目录/conf/context.xml文件中查找<Context>元素。
2)到Tomcat安装目录/conf/[enginename]/[hostname]/context.xml.default文件中查找<Context>元素。
[enginename]:表示<Engine>的name属性
[hostname]:表示<Host>的name属性。
3)到Tomcat安装目录/conf/[enginename]/[hostname]/[contextpath].xml文件中查找<Context>元素。
[contextpath]:表示单个Web应用的URL入口。
4)到Web应用的META-INF/context.xml文件中查找<Context>元素。
5) 到Tomcat安装目录/conf/server.xml文件中查找<Context>元素。只适用于单个Web应用。
如果仅仅为单个Web应用配置<Context>元素,可以优先采用第三种配置方式。
注意:若想让程序成为默认的Web应用,即访问http://localhost:8080时自动登录到Web应用的主页,可以在此处增加名字为ROOT.xml文件,其<Context>元素的path属性应该为””
Context元素的属性:
web.xml文件:
通过web.xml文件,可以将web应用中的:
某个web资源配置为网站首页
将servlet程序映射到某个url地址上
……
但凡涉及到对web资源进行配置,都需要通过web.xml文件。
举例:通过web.xml文件配置网站首页。
注意:web.xml文件必须放在web应用\WEB-INF目录下。
//-------------------------------------------------------------------------------------------------->
为什么要配置虚拟主机? 如何配置虚拟主机?(Host标签的使用, 在server.xml 中进行配置 现在用处不大。)
配置虚似主机: (如果多个web应用发布到同一个服务器上,该如何访问呢? 配置虚拟主机)
假如两家公司Web应用都发布在同一个Tomcat服务器上,可以为每家公司分别创建一个虚拟主机
www.itcast.cn www.itheima.com。
尽管以上两个虚拟主机位于同一个主机,但是当客户通过以上两个不同虚拟主机名访问Web应用时,会感觉到这两个应用分别拥有独立的主机。如需在WEB服务器中配置一个网站,需使用Host元素进行配置,例:
<Host name=”site1” appBase=”c:\app”></Host>
配置的主机(网站)要想被外部访问,必须在DNS服务器或windows系统中注册。
配置多个网站。
缺省虚似主机。
修改Windows系统中的C:\WINDOWS\system32\drivers\etc\hosts
//-------------------------------------------------------------------------------------------------->
Web应用的生命周期:
需求: 在服务器中有多个web应用,只想停掉其中的某一个web应用,应该如何实现呢?
实现: 在服务器后台管理页面,进行应用的启动和停止,需要账号进行登录。
用Tomcat的管理平台管理Web应用的生命周期。
Tomcat的管理平台是Tomcat本身的一个Web应用,管理平台对应manager应用,它位于Tomcat安装目录/webapps/manager目录下。
manager应用会对用户进行安全验证。它要求用户具有manager角色。因此,应该先在Tomcat中添加具有manager角色的用户信息,方法为打开Tomcat安装目录/conf/tomcat-users.xml文件,在其中增加以下内容:
<tomcat-users>
<role rolename=”manager”/>
<user username=”tomcat” password=”tomcat” roles=”manager”/>
</tomcat-users>
WEB开发的前景:
软件开发的两种架构:c/s和b/s
随着网络带宽的不断提升,云计算概念的提出(把所有的软件都架设在云端),浏览器只要足够强大,c/s架构立马就会被淘汰,不仅c/s架构会被淘汰,软件最终都会消失、操作系统都可以没有,最终将会是b/s架构的天下,也就是浏览器+搜索引擎的天下。所有现在桌面软件提供的功能,最后都由网站提供,也就是说,将来打开电脑就是一个浏览器,想要什么服务,通过搜索引擎一找,就可以在网上找到相应的服务,用就是了。所以web开发人员是现在最流行的岗位。