org.frameworkset.spi.remote.hession.HessionDispatchServlet Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bboss-hession Show documentation
Show all versions of bboss-hession Show documentation
bboss is a j2ee framework include aop/ioc,mvc,persistent,taglib,rpc,event ,bean-xml serializable and so on.http://www.bbossgroups.com
The newest version!
/**
* Copyright 2008 biaoping.yin
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.frameworkset.spi.remote.hession;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.GenericServlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* HessionDispatchServlet.java
*
*
* Description:
*
*
* bboss workgroup
*
*
* Copyright (c) 2009
*
*
* @Date 2013-2-21 下午4:53:04
* @author biaoping.yin
* @version 1.0
*/
public class HessionDispatchServlet extends GenericServlet {
private HessianHandlerFactory hessianHandlerFactory;
public HessionDispatchServlet() {
// TODO Auto-generated constructor stub
}
@Override
public void service(ServletRequest request, ServletResponse response)
throws ServletException, IOException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
if (!req.getMethod().equals("POST")) {
res.setStatus(500, "Hessian Requires POST");
PrintWriter out = res.getWriter();
res.setContentType("text/html");
out.println("Hessian Requires POST
");
return;
}
try {
AbstractHessionHandler handler = this.hessianHandlerFactory
.getHessionHandler(req, res);
if(handler != null)
handler.invoke(req, res);
}
catch (HessionException e) {
res.setStatus(500, "Hessian Requires POST");
PrintWriter out = res.getWriter();
res.setContentType("text/html");
out.println(""+e.getMessage()+"
");
}
catch (RuntimeException e) {
throw new ServletException(e);
}
catch (Exception e) {
throw new ServletException(e);
}
catch (Throwable e) {
throw new ServletException(e);
}
}
@Override
public void init(ServletConfig config) throws ServletException {
super.init(config);
// restful
String _restful = config.getInitParameter("restful");
boolean restful = _restful == null?false:_restful.equals("true")?true:false;
if(!restful)
this.hessianHandlerFactory = new HessianHandlerFactory();
else
this.hessianHandlerFactory = new RestfulHessianHandlerFactory();
}
}