package com.ld.igds.web; import com.alibaba.fastjson.JSON; import com.bstek.bdf2.core.controller.IController; import com.ld.license.LicenseCheckModel; import com.ld.license.utils.AbstractServerInfos; import com.ld.license.utils.LinuxServerInfos; import com.ld.license.utils.WindowsServerInfos; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; /** * 测试Action接口,支持匿名访问 * 方位路径:http://127.0.0.1:8080/igds/serverInfo.action?osName=windows */ @Component public class ServerInfoAction implements IController { @Override public String getUrl() { return "/serverInfo"; } @Override public void execute(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String osName = request.getParameter("osName"); // 操作系统类型 if (StringUtils.isEmpty(osName)) { osName = "windows"; } osName = osName.toLowerCase(); AbstractServerInfos abstractServerInfos = null; // 根据不同操作系统类型选择不同的数据获取方法 if (osName.startsWith("windows")) { abstractServerInfos = new WindowsServerInfos(); } else if (osName.startsWith("linux")) { abstractServerInfos = new LinuxServerInfos(); } else {// 其他服务器类型 abstractServerInfos = new LinuxServerInfos(); } LicenseCheckModel data = abstractServerInfos.getServerInfos(); response.setCharacterEncoding("UTF-8"); response.setContentType("application/json;charset=UTF8"); PrintWriter writer = response.getWriter(); writer.write(JSON.toJSONString(data)); writer.close(); } @Override public boolean anonymousAccess() { return true; } @Override public boolean isDisabled() { return false; } }