package social.front; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.util.MultiValueMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.util.UriComponentsBuilder; import social.data.*; @Controller @RequestMapping(path="/") public class LinkShare { @Autowired // This means to get the bean called userRepository // Which is auto-generated by Spring, we will use it to handle the data private LinkRepository linkRepository; @GetMapping(path="/v1/{u}") public String getAllUsers( @PathVariable String u, HttpServletRequest request, Model model ) throws UnsupportedEncodingException { List<LinkInfo> linkInfolist = linkRepository.findByUrlkey(u); if(linkInfolist.size() == 0) return "errorpage"; LinkInfo linkinfo = linkInfolist.get(0); String refUrl = request.getHeader("Referer"); model.addAttribute("title", linkinfo.getTitle()); model.addAttribute("image", linkinfo.getImageurl()); model.addAttribute("description", linkinfo.getContent()); String cururl = "http://localhost:8080/v1/l?u=" + u; model.addAttribute("url", cururl ); String rederUrl = URLDecoder.decode(linkinfo.getRenderurl(), "UTF-8"); model.addAttribute("reurl", rederUrl ); String remoteAddr = ""; if (request != null) { remoteAddr = request.getHeader("X-FORWARDED-FOR"); if (remoteAddr == null || "".equals(remoteAddr)) { remoteAddr = request.getRemoteAddr(); } } //Param분석 if (refUrl != null) { MultiValueMap<String, String> parameters = UriComponentsBuilder.fromUriString(refUrl).build().getQueryParams(); List<String> blogId = parameters.get("blogId"); List<String> logNo = parameters.get("logNo"); List<String> categoryNo = parameters.get("categoryNo"); } System.out.println("refurl:" + refUrl ); System.out.println("remoteAddr:" + remoteAddr ); return "redirectpage"; } }
<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Getting Started: Serving Web Content</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta property="og:title" th:content="${title}" /> <meta property="og:url" th:content="${url}" /> <meta property="og:image" th:content="${image}" /> <meta property="og:description" th:content="${description}" /> <meta property="og:type" content="article" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> </head> <body> <input type="hidden" id="jsonUrl" th:value='${reurl}'/> <input type="hidden" id="og_title" th:value='${title}'/> <input type="hidden" id="og_url" th:value='${url}'/> <input type="hidden" id="og_image" th:value='${image}'/> <input type="hidden" id="og_des" th:value='${description}'/> <input type="hidden" id="og_reurl" th:value='${reurl}'/> <script type="text/javascript"> $( document ).ready(function() { var reurl = $('#jsonUrl').val(); var debugInfo = $('#og_title').val() + '\r\n' + $('#og_url').val() + '\r\n' + $('#og_image').val() + '\r\n' + $('#og_des').val() + '\r\n' + $('#og_reurl').val(); alert(debugInfo); window.location.replace(reurl); }); </script> </body> </html>