📄 socketcontrol.java
字号:
package cfq.fare.server;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import org.xml.sax.SAXException;
import cfq.fare.business.AbstractService;
import cfq.fare.business.UniteQuery;
import cfq.fare.config.Servlet;
import cfq.fare.config.WebAppConfigXML;
import cfq.fare.res_req.HttpRequest;
import cfq.fare.res_req.HttpResponse;
/**
* 使用SocketControl来控制Response和Request
* @author cfq
*
*/
public class SocketControl {
public void controlSocket(Socket socket){
OutputStream out=null;
InputStream is=null;
Servlet myServlet=null;
try {
out=socket.getOutputStream();
is=socket.getInputStream();
HttpResponse response=new HttpResponse(out);
HttpRequest request=new HttpRequest(is);
try {
myServlet=WebAppConfigXML.getWebAppConfXmlInstance().getWebApp().getServlet(request.getUrlPattern());
} catch (SAXException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
String servletName=myServlet.getServletClass();
AbstractService as=(AbstractService)Class.forName(servletName).newInstance();
as.services(request, response);
this.close(socket, out);
} catch (IOException e) {
e.printStackTrace();
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public void close(Socket socket,OutputStream out){
try {
out.flush();
out.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -