java實踐:tomcat_簡化版_服務呼叫(不含網路和協議)
一、請求和響應
package com.guoyasoft.tomcat;
public class Request {
}
package com.guoyasoft.tomcat;
public class Response {
}
二、定義父類
package com.guoyasoft.tomcat;
public class HTTPServlet {
public void doGet(Request req,Response resp){
System.out.println("不支援 get 方式");
}
public void doPost(Request req,Response resp){
System.out.println("不支援 post 方式");
}
}
三、tomcat服務
properties配置檔案
/NewWeb/src/main/java/com/guoyasoft/web.properties
package com.guoyasoft.tomcat;
import java.io.FileInputStream;
import java.io.InputStream;
import java.lang.reflect.Method;
import java.util.Properties;
public class Tomcat {
public void http(String url) throws Exception{
//第一步:解析配置檔案
InputStream is =new FileInputStream("src/main/java/com/guoyasoft/web.properties");
Properties prop=new Properties();
prop.load(is);
//第二步:根據請求找到對應的java類
String className=prop.getProperty(url);
System.out.println(className);
//第三步:反射,拿到型別物件
Class c=Class.forName(className);
//第四步:new一個例項,向上轉型成HTTPServlet
HTTPServlet obj=(HTTPServlet) c.newInstance();
//第五步:找到方法
Method m=c.getMethod("doGet", Request.class,Response.class);
//第六步:準備呼叫引數
Request request=new Request();
Response response=new Response();
//第七步:呼叫該例項的方法
Object[] objs=new Object[2];
objs[0]=request;
objs[1]=response;
m.invoke(obj, objs);
// m.invoke(obj, new Object[]{request,response});
}
}
四、編寫幾個介面
package com.guoyasoft.servelet;
import com.guoyasoft.tomcat.HTTPServlet;
import com.guoyasoft.tomcat.Request;
import com.guoyasoft.tomcat.Response;
public class Login extends HTTPServlet{
@Override
public void doGet(Request request, Response response) {
System.out.println("login 呼叫成功");
}
}
釋出到tomcat配置檔案:
login=com.guoyasoft.servelet.Login
package com.guoyasoft.servelet;
import com.guoyasoft.tomcat.HTTPServlet;
import com.guoyasoft.tomcat.Request;
import com.guoyasoft.tomcat.Response;
public class Logout extends HTTPServlet{
@Override
public void doGet(Request request, Response response) {
System.out.println("logout 成功");
}
}
釋出到tomcat配置檔案:
logout=com.guoyasoft.servelet.Logout
五、寫客戶端程式碼呼叫
package com.guoyasoft.client;
import com.guoyasoft.tomcat.Tomcat;
public class Test {
public static void main(String[] args) {
Tomcat t=new Tomcat();
try {
t.http("searchStudent");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
相關文章
- GRPC 服務呼叫實踐(一)RPC
- 網際網路協議簡介協議
- 測試開發之網路篇-常用服務協議協議
- nacos實現Java和.NetCore的服務註冊和呼叫JavaNetCore
- [服務端與網路]http協議與http狀態碼服務端HTTP協議
- 大型網站的HTTPS實踐(一)——HTTPS協議和原理網站HTTP協議
- Node 呼叫 dubbo 服務的探索及實踐
- 網路協議協議
- 簡單網路管理協議SNMP(史上最全)協議
- MQTT協議實踐MQQT協議
- 通訊協議和網路協議有什麼區別協議
- 網路協議之:socket協議詳解之Socket和Stream Socket協議
- 網路協議---DNS協議DNS
- 網路管理協議協議
- web網路協議Web協議
- C# 實現 gRPC 服務和呼叫C#RPC
- Java使用HttpClient實現遠端服務呼叫JavaHTTPclient
- 華為雲簡訊服務教你用C++實現Smgp協議C++協議
- Istio實踐(2)-流量控制及服務間呼叫
- 高德服務單元化方案和架構實踐架構
- 計算機網路之TCP/IP協議簡介計算機網路TCP協議
- 網路通訊協議-ICMP協議詳解!協議
- 網路通訊協議-TCP協議詳解!協議TCP
- 網路通訊協議-HTTP協議詳解!協議HTTP
- 網路通訊協議-SMTP協議詳解!協議
- 什麼是協議?| 網路協議定義協議
- 實用TCP協議(1):TCP 協議簡介TCP協議
- 一個簡單混合協議通訊列子,物聯網和網際網路通訊。協議
- 防火牆 | 網路協議防火牆協議
- 網路協議入門協議
- 網路通訊協議協議
- 網路協議 1 - 概述協議
- 網路協議基本概述協議
- RPC協議實踐入門RPC協議
- 網路安全網路協議知識點中,http協議是什麼?協議HTTP
- 搜狐服務架構優化實踐架構優化
- 計算網路之MSTP協議與VRRP協議協議VR
- 網路協議之:haproxy的Proxy Protocol代理協議協議Protocol
- 網路協議 6 - 路由協議:敢問路在何方?協議路由