首页>代码>Spring Boot整合邮件发送并保存历史发送邮箱>/springboot-email/src/main/java/com/gstarcad/controller/BaseAction.java
package com.gstarcad.controller; import com.gstarcad.model.ResultVO; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import java.net.InetAddress; import java.net.UnknownHostException; /** * @Author: fengzf fengzf@gstarcad.com * @MethodName: * @@Description: * @params * @return * @Date: 2018/8/1 15:38 */ @Controller @Scope("prototype") public class BaseAction { protected transient final Log logger = LogFactory.getLog(getClass()); protected HttpServletRequest request; protected HttpServletResponse response; protected HttpSession session; @ModelAttribute public void setReqAndRes(HttpServletRequest request, HttpServletResponse response) { this.request = request; this.response = response; this.session = request.getSession(); } /** * Convenience method to get the request * * @return current request */ protected HttpServletRequest getRequest() { return request; } /** * Convenience method to get the response * * @return current response */ protected HttpServletResponse getResponse() { return response; } /** * Convenience method to get the session. This will create a session if one * doesn't exist. * * @return the session from the request (request.getSession()). */ protected HttpSession getSession() { return getRequest().getSession(); } public static String getIpAddr(HttpServletRequest request) { String ipAddress = request.getHeader("X-Real-IP"); if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { ipAddress = request.getHeader("X-Forwarded-For"); } if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { ipAddress = request.getHeader("Proxy-Client-IP"); } if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { ipAddress = request.getHeader("WL-Proxy-Client-IP"); } if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { ipAddress = request.getRemoteAddr(); if (ipAddress.equals("127.0.0.1") || ipAddress.equals("0:0:0:0:0:0:0:1")) { // 根据网卡取本机配置的IP InetAddress inet = null; try { inet = InetAddress.getLocalHost(); } catch (UnknownHostException e) { e.printStackTrace(); } ipAddress = inet.getHostAddress(); } } // 对于通过多个代理的情况,第一个IP为客户端真实IP,多个IP按照','分割 if (ipAddress != null && ipAddress.length() > 15) { // "***.***.***.***".length() // = 15 if (ipAddress.indexOf(",") > 0) { ipAddress = ipAddress.substring(0, ipAddress.indexOf(",")); } } return ipAddress; } /** * 返回 context path * * @return */ public String getBasePath() { StringBuffer ctx = new StringBuffer(); ctx.append(request.getScheme() + "://" + request.getServerName()); if (request.getScheme().equals("https")) { if (request.getServerPort() != 443) { ctx.append(":" + request.getServerPort()); } } else if (request.getScheme().equals("http")) { if (request.getServerPort() != 80) { ctx.append(":" + request.getServerPort()); } }else{ ctx.append(":" + request.getServerPort()); } ctx.append(request.getContextPath()); return ctx.toString(); } /** * 操作成功 * @param data * @return */ protected ResultVO operateSuccessFul(String msg, Object data){ ResultVO vo = new ResultVO(); vo.setStatus(true); vo.setMsg(msg); vo.setData(data); return vo; }; /** * 操作成功 * @return */ protected ResultVO operateSuccessFul(String msg){ ResultVO vo = new ResultVO(); vo.setStatus(true); vo.setMsg(msg); return vo; }; /** * 操作成功 * @return */ protected ResultVO operateFail(String msg){ ResultVO vo = new ResultVO(); vo.setStatus(false); vo.setMsg(msg); return vo; }; }
最近下载更多
13021603815 LV7
11月14日
annazhang LV29
2023年4月7日
npc也有忧伤 LV3
2022年3月20日
luesjim LV11
2021年6月18日
jp6863655 LV13
2020年11月20日
aa991215 LV17
2020年9月2日
17704627276 LV17
2020年6月8日
1529860026 LV24
2020年4月15日
geekcjj LV18
2020年4月4日
dhuashdjhsfhskh LV12
2020年3月17日
最近浏览更多
13021603815 LV7
11月14日
charleswang LV7
10月21日
漫步的海星 LV4
2023年9月26日
438130041 LV5
2023年8月1日
啦啦啦7719 LV15
2023年2月22日
不想起 LV10
2022年10月15日
second LV5
2022年9月21日
207666
2022年6月16日
暂无贡献等级
2468867327 LV10
2022年5月17日
adcxiaoxueren
2022年4月15日
暂无贡献等级