J2EE学习笔记知识点精粹servletwebsoketwebserviceJaxrsEJBJPA教材

上传人:人*** 文档编号:509403651 上传时间:2023-11-20 格式:DOC 页数:17 大小:559KB
返回 下载 相关 举报
J2EE学习笔记知识点精粹servletwebsoketwebserviceJaxrsEJBJPA教材_第1页
第1页 / 共17页
J2EE学习笔记知识点精粹servletwebsoketwebserviceJaxrsEJBJPA教材_第2页
第2页 / 共17页
J2EE学习笔记知识点精粹servletwebsoketwebserviceJaxrsEJBJPA教材_第3页
第3页 / 共17页
J2EE学习笔记知识点精粹servletwebsoketwebserviceJaxrsEJBJPA教材_第4页
第4页 / 共17页
J2EE学习笔记知识点精粹servletwebsoketwebserviceJaxrsEJBJPA教材_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《J2EE学习笔记知识点精粹servletwebsoketwebserviceJaxrsEJBJPA教材》由会员分享,可在线阅读,更多相关《J2EE学习笔记知识点精粹servletwebsoketwebserviceJaxrsEJBJPA教材(17页珍藏版)》请在金锄头文库上搜索。

1、说明:在编程中我们会在某个类、方法或变量前面加上x ,来表明这个类、方法或变量具有 x属性I.Servlet1) .Servlet 是什么?Java Servlet是运行在 Web服务器或应用服务器上的程序,它是作为来自Web浏览器或其他 HTTP客户端的请求和 HTTP服务器上的数据库或应用程序之间的中间层。2).Servlet有以下几点优势(1) .性能明显更好。(2) .Servlet在Web服务器的地址空间内执行。这样它就没有必要再创建一个单独的进程来处理每个客户端请求。.Servlet是独立于平台的,因为它们是用Java编写的。(4).服务器上的Java安全管理器执行了一系列限制,以

2、保护服务器计算机上的资源。因此,Servlet是可信的说明:在编程中我们会在某个类、方法或变量前面加上x ,来表明这个类、方法或变量具有 x属性说明:在编程中我们会在某个类、方法或变量前面加上x ,来表明这个类、方法或变量具有 x属性(5).Java类库的全部功能对Servlet来说都是可用的。它可以通过sockets和RMI机制与applets、数据库或其他软件进行交互。说明:在编程中我们会在某个类、方法或变量前面加上x ,来表明这个类、方法或变量具有 x属性说明:在编程中我们会在某个类、方法或变量前面加上x ,来表明这个类、方法或变量具有 x属性3).Servlet 架构HTTPfWeb

3、Browserh n pProtocolSorterr、Servlets ojrrn mL _ J过程为:(1) 客户端发送请求至服务器端;(2) 服务器将请求信息发送至Servlet ;Servlet生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;(4)服务器将响应返回给客户端。4) .servlet生命周期(1) .客户端请求该 Servlet ;(2) .加载Servlet类到内存;(3) .实例化并调用init()方法初始化该Servlet ;(4) .service()(根据请求方法不同调用doGet() 或者 doPost(),此外还有 doGet()、do

4、Put()、doTrace()、doDelete()、doOptions();(5) .destroy()。5) .看一下老师 ppt 和教程(这个很不错http:/ servlet-api.chm2. web socket(1) .web socket:是HTML5 一种新的 协议。它实现了浏览器与服务器全双工通信(full-duplex)。.websocket 的优点以前我们实现推送技术,用的都是轮询,在特点的时间间隔有浏览器自动发出请求,将服务器的消息主动的拉回来,在这种情况下,我们需要不断的向服务器发送请求,然而 HTTP request的header是非常长的,里面包含的数据可能只是

5、一个很小的值,这样会占用很多的带宽和服务器资源。会占用大量的带宽和服务器资源。WebSocket API最伟大之处在于服务器和客户端可以在给定的时间范围内的任意时刻,相互推送信息。在建立连接之 后,服务器可以主动传送数据给客户端。此外,服务器与客户端之间交换的标头信息很小。WebSocket并不限于以Ajax(或XHR)方式通信,因为Ajax技术需要客户端发起请求,而WebSocket服务器和客户端可以彼此相互推送信息;WebSocket的握手过程主要有一下两个步骤:1) .WebSocket客户端首先发起一个连接请求。请求数据中包括服务器的IP和端口、以及客户端随机生成的Key等。2) .服

6、务器端根据客户端的key生成密钥,并将密钥返回给客户端,握手成功。由于WebSocket的连接本质是一个 TCP连接,所以与传统的浏览器轮询方式比,这种方式对于数据传输的稳定性和 数据量大小方面都有一定的优势。而很多实验也证明在流量比较大的情况下,使用WebSocket也具有很大的性能优势。(3) .如何使用websocket(分客户端和服务器端,两个启动后保持连接才能即时通信,当然了系统性能会降低)客户端在支持 WebSocket的浏览器中,在创建 socket之后。可以通过 onopen,onmessage onclose即onerror四个事件实现 对socket进行响应.一个简单是示例

7、:var wsServer= ws:/localhost:8888 /Demo;var websocket = new WebSocket(wsServer);websocket. onopen = function (evt) onOpen( evt) ;websocket. onclose = function (evt) on Close(evt) ;websocket. onmessage= function (evt) onM essage(evt) ;websocket. onerror = function (evt) on Error(evt) ;function onOpen

8、(evt) con sole .lo g(C onn ected to WebSocket server.);fun ctio n onClose(evt) con sole .lo g(Disc onn ected);fun ctio n onMessage(evt) con sole .lo g(Retrieved data from server: + evt.data);fun ctio n onError(evt) con sole .lo g(Error occured: + evt.data);1) .var ws = new WebSocket( “ ws:/localhost

9、:8888 /Demo ”);申请一个 WebSocket对象,参数是需要连接的服务器端的地址,同http协议使用http:/开头一样,WebSocket协议的URL使用ws:/开头,另外安全的WebSocket协议使用 wss:/开头。ws.send( “hello” )用于叫消息发送到服务端2) .ws. onopen = function。 con sole .log( “ ope n ”);当websocket创建成功时,即会触发on open事件3) .ws. onm essage = fun cti on( evt) con sole .lo g(evt.data) ;当客户端收到

10、服务端发来的消息时,会触发onmessage事件,参数evt.data中包含server传输过来的数据4) .ws. on close = function(evt) con sole .log( “ WebSocketClosed!” ); ;当客户端收到服务端发送的关闭连接的请求时,触发on close事件5) .ws. on error = function( evt) con sole .log( “ WebSocketError! ” ); ;如果出现连接,处理,接收,发送数据失败的时候就会触发on error事件我们可以看出所有的操作都是采用事件的方式触发的,这样就不会阻塞UI,使

11、得UI有更快的响应时间,得到更好的用户体验。服务端这里我使用的是 tomat 7.0和eclipse4.2在tomcat下使用websocket首先需要导入相关的 jartomcat7 提供的与 WebSocket 相关的类均位于包org.apache.catalina.websocket 之中(包 org.apache.catalina.websocket 的实现包含于文件 catalina.jar之中这里我们把tomcat的全部导入就行了在 build path-c on figure build path-librarise-add library-server run time-apa

12、che tomcat v7.0 image同时需要import以下包import org.apache.catali na.websocket.Message Inbound;import org.apache.catali na.websocket.Stream Inbound;import org.apache.catali na.websocket.WsOutbo und;import org.apache.catali na.websocket.WebSocketServlet;需要两个类第一个用于处理 websocket请求第二个用于处理每一次具体的WebSocket任务第一个类pu

13、blic class SocketServer exte nds WebSocketServletprivate static fin al l ong serialVers ionUID = 1L;/Overrideprotected Streamlnbound createWebSocketlnbounQStri ng argO,HttpServletRequest arg1) / TODO Auto-ge nerated method stubretur n new ChatWebSocket(users);这个Servlet继承自 WebSocketServlet,实现createWe

14、bSocketInbound方法。该方法返回第二个类的实例。第二个类(传统的非注解开发)public class ChatWebSocket exte nds Messagelnbound Overrideprotected void onTextMessageCharBuffer message) throws IOException Overrideprotected void onOpen(WsOutbound outbound) Overrideprotected void onClose(int status) Overrideprotected void onBin aryMessage(ByteBuffer arg0) throws IOExcepti on /其余略/文本消息响应protected void onTextMessageCharBuffer message) throws IOException /二进制消息响应protected void onBinaryMessage(ByteBuffer arg0) throws IOException /sen dObject(e nvelope)/数据流getSendStream() - Java InputStreamgetSendWriter() - Java Writer/建立连接的触发的事件pr

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号