1、这个小实验为三层架构,分为 teller 端,esb 端,和 core 端。 从 teller端的界面输入一个“Hello word !”,通过表单提交给 tomcat 服务器。tomcat 下的 servlet 接收表单信息并封装成消息,然后与 esb 端建立 socket 通信,并将消息发送给 esb 端。esb端接收到消息,放入到消息队列 E2C 中。core 端从消息队列 E2C 中取出消息,对其进行处理即将这个字符串全部转换为大写字母,然后将处理后的消息放入消息队列 C2E 中。esb端从 C2E 中取出这个处理结果,通过 socket 发往 TELLER 端,TELLER 端接收后
2、通过浏览器显示处来,具体流程图如下:Helloword!MyServlet.java1. 提取参数:requst.getParameter(“value”);2. 建立 socket通信,并发送和接收消息ESBServer.java接收连接请求ESBListener.java 处理客户端的连接请求,以及与 core端的连接交互,即进行 teller端和 core 端的通信CoreServer.java监听消息队列的消息,并取出进行处理,然后在放入消息队列发给esb 端Teller 端 Esb 端 Core 端View.jsp主要知识点的简单说明:View.jsp其中 action 指定的 js
3、p 页面的表单要提交的 servlet 的路径,这个路径包括两部分,path代表的是这个 jsp 网页所在的工程,后面的一部分是 servlet 在 web.xml 中的配置路径,可参考 MVC 模式小实验的 servlet 部分的简单介绍。MyServlet.java获取表单的指定参数值/servlet/MyServlet“ method=“post“String value=request.getParameter(“inputValue“);此处可参考 socket 通信的小实验,它会给你较详细的说明通过这个方法,返回到 jsp 页面,并将结果作为参数传递 jsp 页面ESBListen
4、er.java关于消息队列,可参照 jms 小实验/建立socket 通信/连接服务器Socket s=new Socket(url,port);System.out.println(“TELLER端已经成功的连接到ESB端!“);/封装输入输出流PrintWriter pw=new PrintWriter(s.getOutputStream(),true);BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream();/向socket通道写入消息pw.println(value);System.ou
5、t.println(“TELLER端已经成功的向ESB端发送消息 “+value);/从socket通道取出后端返回的结果String result=br.readLine();System.out.println(“TELLER端已经成功的从ESB端接收到响应消息 “ +result);/将结果返回给jsp页面显示request.getRequestDispatcher(“./view.jsp?result=“+result).forward(request, response);/接收从TELLER端发来的消息String reMsg=br.readLine();System.out.println(“ESB端已经成功的接收到TELLER 端的请求消息 “+reMsg);/将消息放入消息队列E2C中tools.sendMsg(reMsg, “E2C“);System.out.println(“ESB端已经成功的向消息队列E2C放入消息 “+reMsg);/从消息队列C2E中取出消息String result=tools.receiveMsg(“C2E“);System.out.println(“ESB端已经成功的从消息队列C2E中取出响应消息 “+result);/将返回消息发往TELLER端pw.println(result);