Day08
软件体系结构
1.常见的软件体系结构 B/S ,C/S
1.1 C/S
* C/S结构即客户端/服务器(Client/Server),例如QQ;
*需要编写服务器端程序,即客户端程序,例如我们安装的就是QQ的客户端程序
*缺点:软件更新时,需要同时更新客户端和服务器两端,比较麻烦
*优点:安全性比较好
1.2 B/S(**********)
*B/S结构即浏览器/服务器(Browser/Server)
*优点,只需要编写服务器端程序
*缺点:安全性比较差
*2WEB资源
--2.1WEB资源介绍
*html:静态资源 (浏览器可以看懂)
*JSP/Servlet:动态资源、 (需要先转换成html,再给浏览器看)
除了javaWeb程序,还有其他的Web程序:例如:ASP,PHP等
--2.2静态资源和动态资源的区别
客户端请求的页面如果是静态网页,那么服务器直接把静态网页的内容响应给客户端,如果客户端请求的是动态网页,服务器需要先把动态网页转换成静态网页,然后再把转换后的静态网页响应给客户端。
--2.3访问Web资源
打开浏览器,输入URL
*协议名://域名:端口/路径,例如:http://www.itcast.cn:80/index.html
*WEB服务器
web服务器的作用是接收客户端的请求,给客户端做出响应
**对于JavaWeb程序而言,还需要JSP/Servlet容器,JSP/Servlet容器的基本功能是把动态资源转换成静态资源,当然JSP/Servlet容器不止这些功能。
**我们需要使用的是web服务器和JSP/Servlet容器,通常这两种会集于一身。
*Tomcat(Apache):当前应用最广的javaWeb服务器
*JBoss (Redhat红帽):支持javaEE,应用比较广泛
*GlassFish(Oracle):Oracle开发javaWeb服务器,应用不是很广
*Resin(Caucho):支持javaEE,应用越来越广
*Weblogic(Oracle):要钱 支持JAVAEE,适合大型项目
*Websphere(IBM):要钱 支持javaEE 适合大型项目
*Tomcat(***)
Tomcat7支持 Servlet3.0 而Tomcat6只支持Servlet2.5
启动Tomcat startup.bat
关闭Tomcat shutdown.bat
*Web应用(***)
静态网站:
*在webapps目录下面创建一个项目目录(命名必须不包含中文和空格),这个目录称之为
项目目录
*在项目目录下创建一个html文件
动态网站:
*在webapps目录下面创建一个项目目录
*在项目目录下创建如下内容:
*WEB-INF目录
*在WEB-INF目录下创建web.xml文件,可以从其他项目中借
*创建静态或动态页面
*配置外部应用(了解)
可以把应用放到Tomcat之外,这就是外部应用。例如把上面写的hello应用从webapps目录中剪切到C盘下,即E:\hello4.现在hello这个应用已经不在Tomcat中,这时需要在tomcat中配置外部应用的位置,配置的方式一共有两种
*E:\tomcat\apache-tomcat-7.0.85\conf\server.xml:打开 server.xml文件,找到<Host>元素,在其中添加<Context>元素,代码入下
server.xml
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="hello44" docBase="E:\hello4"/>
*path:指定当前应用的名称
*docBase:指定应应用的物理位置
*浏览器访问路径http://localhost:8080/hello44/
*E:\tomcat\apache-tomcat-7.0.85\conf\Catalina\localhost:在该目录下创建 hello55.xml,在该文件中编写<Context>元素,代码如下
<Context docBase="E:\hello5"/>
*文件名:指定当前应用的名称
*docBase:指定应用的物理位置
*浏览器访问路径:http://localhost:8080/hello55
*映射虚拟主机(了解)、
我们的目标是,在浏览器中输出:http://www.itcast.cn就可以访问我们的项目
完成这一项目 我们需要三件事
*修改端口号为80
*在本机上可以解析域名为127.0.1,这需要修改
*在server.xml文件中添加一个<Host>(主机)
(1)修改端口号为 80
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
(2)绑定http://www.baidu.com.cn和127.0.0.1的绑定关系
127.0.0.1 http://www.baidu.com.cn
(3)server.xml文件中添加一个<Host>
<Host name="www.itcast.cn" appBase="F://itcastapps"
unpackWARs="true" autoDeploy="true">
</Host>
*name="www.itcast.cn":指定虚拟主机名为www.itcast.cn;
*appBase="F:/itcastapps":指定当前虚拟主机的应用程序存放目录为F:/itcastapps
*在itcastapps目录下创建名为ROOT的应用,因为一个主机只可以有一个名为ROOT的应用
*HTTP协议(重点)
协议:协议的甲乙方,就是客户端(浏览器)和服务器!
*理解成双方通信的格式!
*请求协议
*响应协议