package com.jdon.bussinessproxy.remote; import java.io.IOException; import javax.servlet.GenericServlet; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.jdon.bussinessproxy.remote.hessian.HessianToJdonRequestProcessor; /** * * web.xml: * <servlet> <servlet-name>Hessian2Jdon</servlet-name> <servlet-class>com.jdon.bussinessproxy.remote.HessianToJdonServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Hessian2Jdon</servlet-name> <url-pattern>/remote/*</url-pattern> </servlet-mapping> * * * client code: * HessianProxyFactory factory = new HessianProxyFactory(); HelloService _service = (HelloService) factory.create(HelloService.class, _url); _service.hello(s); * * project example in demo: remote_javafx * ref: http://www.jdon.com/jivejdon/thread/36483.html * */ public class HessianToJdonServlet extends GenericServlet { /** * */ private static final long serialVersionUID = -2038788488170819251L; private HessianToJdonRequestProcessor htorp; public void init() throws javax.servlet.ServletException{ htorp = new HessianToJdonRequestProcessor(); } /** * Servlet to handle incoming Hessian requests and invoke HessianToJdonRequestProcessor. * * @param req ServletRequest * @param resp ServletResponse * @throws javax.servlet.ServletException If errors occur * @throws java.io.IOException If IO errors occur */ @Override public void service(final ServletRequest req, final ServletResponse resp) throws ServletException, IOException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) resp; final String beanName = request.getPathInfo().substring(1); // remove "/" htorp.process(beanName, request, response); } public void destroy(){ htorp.clear(); } }