⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 socketcontrol.java

📁 通讯计费系统
💻 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 + -