sophiedispatcher.java
来自「设备资产管理源代码和 公共的函数」· Java 代码 · 共 88 行
JAVA
88 行
package com.test.dispatcher;
import java.io.IOException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.test.context.ConfigUtil;
import com.test.context.SophieContext;
import com.test.context.SophieStatic;
import com.test.parameter.Parameter;
/**
* @version 1.0
* @author
*/
public class SophieDispatcher extends HttpServlet implements Servlet {
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Map parametersMap=request.getParameterMap();
setParamtersMap(request, parametersMap);
SophieContext.setRequest(request);
SophieContext.setResponse(response);
String actionName=getActionName(request);
SophieInvocation invocation=new SophieInvocation(actionName);
String resultString=invocation.execute();
ResultDispatcher resultDispatcher=new ResultDispatcher(invocation.getResultConfigMap(),resultString);
resultDispatcher.Dispatcher();
}
/*
* init sophieContext
*/
public void init(ServletConfig config) throws ServletException {
ServletContext context=config.getServletContext();
Map configMap=new HashMap();
configMap=ConfigUtil.initConfigurationMap();
//context.setAttribute(SophieStatic.ACTION_RESULT_MAP, configMap);
SophieContext.setServletContext(context);
SophieContext.setConfigurationMap(configMap);
System.out.println("===init====");
}
private void setParamtersMap(HttpServletRequest request,Map parametersMap){
Parameter parm=new Parameter();
Set entrySet=parametersMap.entrySet();
Map map=new HashMap();
for (Iterator iter = entrySet.iterator(); iter.hasNext();) {
Map.Entry entry=(Map.Entry)iter.next();
parm.setName((String)entry.getKey());
parm.setValue((String[])entry.getValue());
map.put((String)entry.getKey(), parm);
}
SophieContext.setRequestParametersMap(map);
}
private String getActionName(HttpServletRequest request){
String uri=request.getRequestURI();
String actionName=uri.substring(uri.lastIndexOf("/")+1, uri.indexOf(".action"));
return actionName;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?