首页>代码>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
                2024年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
                2024年11月14日
            
            
        
                charleswang     LV7
                2024年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日
            
            
                    暂无贡献等级
            
        
                
                
                