1、添加 ntc 流量统计
2、修改监测设置修改页面 进程监测 pid文件,进程搜索关键字的非空校验 3、修改i18n 专用设备 为 串联设备 4、增加代理类,解决前端ajax 跨域问题,之后可能会用
This commit is contained in:
99
src/nis/nms/web/actions/ProxyAction.java
Normal file
99
src/nis/nms/web/actions/ProxyAction.java
Normal file
@@ -0,0 +1,99 @@
|
||||
package nis.nms.web.actions;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.Enumeration;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.apache.struts2.config.Result;
|
||||
import org.apache.struts2.config.Results;
|
||||
import org.nutz.http.Header;
|
||||
import org.nutz.http.Http;
|
||||
import org.nutz.http.Request;
|
||||
import org.nutz.http.Request.METHOD;
|
||||
import org.nutz.http.Response;
|
||||
import org.nutz.http.Sender;
|
||||
|
||||
import nis.nms.util.BaseAction;
|
||||
|
||||
@SuppressWarnings("all")
|
||||
@Results({
|
||||
@Result(name = "ok", value = "/main.jsp")
|
||||
})
|
||||
public class ProxyAction extends BaseAction {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public String executeAction() throws Exception {
|
||||
InputStream is = null;
|
||||
try {
|
||||
String url = null;
|
||||
HttpServletRequest request = this.getRequest();
|
||||
Enumeration headerNames = request.getHeaderNames();
|
||||
Map<String,String> headerMap = new LinkedHashMap<String,String>();
|
||||
for(;headerNames.hasMoreElements();) {
|
||||
String element = (String) headerNames.nextElement();
|
||||
String value = request.getHeader(element);
|
||||
headerMap.put(element,value);
|
||||
}
|
||||
url = headerMap.get("realurl");
|
||||
Map parameterMap = request.getParameterMap();
|
||||
Header header = Header.create(headerMap);
|
||||
header = null;
|
||||
Request req = Request.create(url, getMethod(request.getMethod()), parameterMap, header);
|
||||
Response res = Sender.create(req).send();
|
||||
is = res.getStream();
|
||||
|
||||
HttpServletResponse response = this.getResponse();
|
||||
response.setStatus(res.getStatus());
|
||||
Header resHeader = res.getHeader();
|
||||
Set<Entry<String,String>> all = resHeader.getAll();
|
||||
for(Entry<String,String> entry : all) {
|
||||
String key = entry.getKey();
|
||||
if(key != null) {
|
||||
response.setHeader(key, entry.getValue());
|
||||
}
|
||||
}
|
||||
IOUtils.copy(is, response.getOutputStream());
|
||||
} finally {
|
||||
if(is != null) {
|
||||
is.close();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
//GET, POST, OPTIONS, PUT, DELETE, TRACE, CONNECT, HEAD
|
||||
public static METHOD getMethod(String method) {
|
||||
METHOD result = null;
|
||||
switch (method.toUpperCase()) {
|
||||
case "GET":
|
||||
result = METHOD.GET; break;
|
||||
case "POST":
|
||||
result = METHOD.POST; break;
|
||||
case "OPTIONS":
|
||||
result = METHOD.OPTIONS; break;
|
||||
case "PUT":
|
||||
result = METHOD.PUT; break;
|
||||
case "DELETE":
|
||||
result = METHOD.DELETE; break;
|
||||
case "TRACE":
|
||||
result = METHOD.TRACE; break;
|
||||
case "CONNECT":
|
||||
result = METHOD.CONNECT; break;
|
||||
case "HEAD":
|
||||
result = METHOD.HEAD; break;
|
||||
default:
|
||||
result = METHOD.GET; break;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user