JBoss和Tomcat是什么?有什么用?如何部署?----从底层看web应用(1)

1.最初的html协议以及Tomcat\JBoss扮演的角色

web应用(其实就是2个电脑上的进程)之间的通信是需要遵循协议的,应用层的协议是html,通信过程如下:

首先,客户端向服务器发送一个请求(这个请求是浏览器发出的,URL应该就是网址经浏览器翻译给出的,或者由用户点击某个链接由浏览器翻译给出),该请求包括:

①统一资源标识符(URL)(URL包括数据库连接的URL,JDBC-URL中就有,比如你点击一个登录框,浏览器就发出了一个JDBC-URL,该请求被JBoss获得,然后如果JBoss已经添加了数据库资源,那么JBoss就能访问数据库并把相关资源传给客户端的浏览器)。

②协议版本号

③MIME信息

服务器端的程序接收到这一请求,然后翻译URL,找到对应的资源或资源集,然后把这些资源(资源可以是任意形式)发给客户端。


我们可以在服务器端写一个应用程序,使用socket绑定8080端口来专门处理html请求,然后使用ODBC来连接数据库。(Win32API中有CreateSocket和RecvFrom,SendTo这样的API,我们可以利用这些API手动写一个服务器端的程序。


但是我们的程序没有JBoss\Tomcat做得完善。JBoss监听8080端口,并对其中的html请求响应。

那么我们怎么操控JBoss呢?我们操控CPU用的是各种语言(C++/C/JAVA/C#/SHELL /WINDOWSSHELL/MATLAB/FOTRAIN/…),操作JBoss用的是xml,xml告诉JBoss该干什么,比如把一部分处理html语言的java代码进行装载


2.servlet:

在servlet之前,有cgi,cgi也是一种资源,用户的html请求被服务器响应时,服务器执行对应名称的cgi程序,然后生成对应的html页面,再把页面发送出去。但是cgi有一个缺点:
cgi会为每一个请求生成一个系统进程,从而造成很大的系统开销。(cgi可以由java,c++,c,shell等编写)

Servlet类似于dll,JVM(等价于dll中的Windows操作系统)可以动态地加载类,这样所有的请求运行的进程只需要一份代码,从而有效地减小了开销。Servlet类由JVM进行动态地加载。类似cgi,Servlet也是由Tomcat,JBoss等服务器管理软件进行管理的,JBoss在响应用户的html请求时会执行对应的java程序,加载Servlet类的字节码,然后生成html代码返回给客户端。

Servlet也有不足之处:Servlet是一个java工程,html语言是内嵌在java代码之中的,这样如果要修该html代码来改变页面,那么servlet类要重新编译,再加载到服务器上,这样过于繁琐。


3.jsp:

Jsp(Java Server Page,注意,区别于JS)采用“把java代码内嵌于html代码中”的方式,同时内嵌的java代码又具有“动态加载类”的特性,修改html代码或者内嵌的java代码时,都无须重新编译。因为内嵌的java代码是在“客户端有请求发来时”服务器才会去编译的,而且在请求很多时,java代码都是动态加载类,可以动态加载,生成html时的资源占用少,从而兼具Servlet的优点。

(注:jsp和servlet可以混用,也可以servlet与jsp各都单独使用)

总而言之,jsp是一段java程序,它内嵌于html代码中,含jsp的文件就是.jsp文件,(html协议的html请求中包括URL为.jsp的请求)。如果客户端请求了一个jsp(如果服务器资源中同时有index.jsp和index.html文件,那么index请求的结果将是未定义的,index.jsp请求的结果当然是index.jsp),那么服务器就会先执行.jsp文件中的程序片段,然后将执行结果以HTML格式返回给客户端。程序片段可以操纵数据库,重定向网页以及发送email等

4.js:

js(javascript)Js是脚本(即会被解释成java程序片段由浏览器调用),js是由服务器原样发给客户端的,如果JBoss遇到客户端网页访问请求,它将会根据URL找到对应资源,然后连同附带的js发送给客户端,js在客户端上被浏览器解释执行。


例:使用js和html创建web页面(之前我说的都是js,javascript)

//jspsrc1.js

//JavaScript Appears here

alert(“这是第一个JavaScript例子!”);

alert(“欢迎你进入JavaScript的世界”);

alert(“今后我们将共同学习JavaScript知识!”);

 

 

//jspsrc1.html

<html>

<head>

<Script src=”jspsrc1.js”>

</Script>

</Head>

</Html>


然后双击jspsrc1.html就能看到js被解释执行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值