1,网络应用程序的架构
(1)主机/终端
特点:
主机负责所有的计算(处理业务),
终端只负责输入输出(不做任何计算)。
优点:
可靠,安全,i/o能力强。
缺点:
昂贵,扩展困难。
(2)client/server
1)两层的client/server
特点:
使用数据库来充当服务器(大量的业务处理逻辑是使用数据库特定的编程语言来写的)。客户端提供界面和少量的业务逻辑处理。
缺点:
可移植性差(特定的编程语言)。不适合大型应用(要求客户端与数据库服务器建立一个持续连接)。
2)三层的client/server
特点:
所有的业务处理都由应用服务器来做。
优点:
可移值性好(一般应用服务器都是由java语言来写的)。适合开发大型的应用。
缺点:
客户端需要单独安装和维护。开发复杂。
(3)browser/web server
特点:
使用浏览器来充当客户端,使用web服务器来充当应用服务器,使用标准化的http协议来通信。
优点:
开发相对简对(不需要开发通信模块,
不需要自定义协议)。
不需要单独安装客户端了。
2,什么是servlet?
sun公司制订的一种用来扩展web服务器功能的组件规范。
(1)扩展web服务器功能
web服务器收到请求之后,可以调用servlet来处理。
(2)组件规范
a,什么是组件?
符合规范,并且实现了部分功能的软件模块。组件一般需要部署到相应的容器里面才能运行。
b,什么是容器?
符合规范,提供组件的运行环境的程序。tomcat提供了一个servlet容器。
注:
有些web服务器,比如iis,apache httpserver等没有提供servlet容器,需要另外再嵌入或者调用单独的servlet容器才能运行servlet。组件不依赖特定的容器的,比如,我们开发了一个servlet,可以部署到weblogic, jetty,was,tomcat等服务器上运行。
3,如何写一个servlet?
step1,写一个java类,实现Servlet
接口或者继承HttpServlet抽象类。
step2,编译。
step3,打包,即创建一个具有如下结构的
文件夹
appname
WEB-INF
classes(放.class文件)
lib(可选,放.jar文件)
web.xml(部署描述文件)
step4,部署
将step3创建好的整个文件夹拷贝到服务器特定的文件夹下面,比如,tomcat一般可以拷贝到webapps下面。
step5,启动服务器,访问
http://ip:port/appname/url-pattern
http://localhost:8080/web01/hello
4,安装tomcat
step1,将tomcat的安装压缩文件解压到/home/soft01下。(www.apache.org下载tomcat)
step2,配置环境变量。
JAVA_HOME: jdk安装路径
CATALINA_HOME:tomcat的安装路径,
比如 /home/soft01/apache-tomcat7
PATH: tomcat的安装路径/bin
step3,启动tomcat
cd /home/soft01/apache-tomcat7/bin
sh startup.sh(或者sh catalina.sh run)(windows环境下用startup.bat)
step4,访问tomcat打开浏览器,输入http://localhost:8080
5,使用myeclipse来开发servlet
step1,启动myeclipse,配置tomcat。
step2,创建一个web工程
6,servlet是如何运行的?
比如,在浏览器地址栏输入http://ip:port/firstweb/hello?uname=tom
step1,浏览器依据ip,port建立连接。
step2,浏览器将相关数据(比如,请求资源路径,请求参数)打包,然后发送请求。
step3,服务器解析请求数据包,然后将解析之后的数据保存到request对象上,同时,服务器还会创建一个response对象。
step4,服务器创建servlet对象,然后调用该对象的service方法(服务器会将之前创建好的request,response作为参数传递进来)。
step5,在service方法里面,通过request对象来获得请求数据(比如,请求参数值),然后进行相应的处理,最后将处理结果写到response对象上。
step6,服务器从response对象上取之前保存的处理结果,然后打包,发送给浏览器。
step7,浏览器解析响应数据包,然后依据解析的结果生成新的页面。
来个美女结尾吧,脸不给看
领取专属 10元无门槛券
私享最新 技术干货