Remark : asp의 reponse.end 와 같은 기능을 찾아 보자 response.end 를 쓰면 소스에서 asp 스클립트 진행 중단을 할수 있어 디비그 시간이 줄어 든다.
[카테고리:] jsp 샘픔
javascript로 이중저장/결제 방지
Remark : 한페이지에서 Ajax 로 데이타 저장시 시간이 많이 걸릴 경우, 버튼이중 클릭시 중복저장됩니다. 버튼 disable 처리는 속성처리라 한번만 가능 ajax async: false 는 추천하지 않는 방식. 버튼에 vaule=”0″ 값 주어 처리
[java] HttpURLConnection Get post 로 날려 값 받기
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
package test02; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.io.PrintWriter; import java.io.StringWriter; public class test01 { private static final String USER_AGENT = "Mozilla/5.0"; private static final String GET_URL = "https://data.auctionpro.co.kr/airline?code=ke"; private static final String POST_URL = "https://data.auctionpro.co.kr/airline"; private static final String POST_PARAMS = "code=oz"; public static void main(String[] args) throws IOException { sendGET(); System.out.println("GET DONE"); sendPOST(); System.out.println("POST DONE"); } private static void sendGET() throws IOException { URL obj = new URL(GET_URL); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); try { con.setRequestMethod("GET"); con.setRequestProperty("User-Agent", USER_AGENT); con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=utf-8"); con.setRequestProperty("Content-Length", "length"); //con.setRequestProperty("Accept-Charset", "UTF-8"); int responseCode = con.getResponseCode(); //GET Response Code :: 200 System.out.println("GET Response Code :: " + responseCode); if (responseCode == HttpURLConnection.HTTP_OK) { // success BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8")); String inputLine = null; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine).append("\r\n"); } in.close(); // print result System.out.println(response.toString()); } else { System.out.println("GET request not worked"); } } catch (Exception e) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); sw.toString(); // stack trace as a string System.out.println(sw.toString()); } finally { if (con != null) { con.disconnect(); } } } private static void sendPOST() throws IOException { URL obj = new URL(POST_URL); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); try { con.setRequestMethod("POST"); con.setRequestProperty("User-Agent", USER_AGENT); // For POST only - START con.setDoOutput(true); OutputStream os = con.getOutputStream(); os.write(POST_PARAMS.getBytes()); os.flush(); os.close(); // For POST only - END int responseCode = con.getResponseCode(); System.out.println("POST Response Code :: " + responseCode); if (responseCode == HttpURLConnection.HTTP_OK) { //success BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8")); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine).append("\r\n");; } in.close(); // print result System.out.println(response.toString()); } else { System.out.println("POST request not worked"); } } catch (Exception e) { StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); e.printStackTrace(pw); sw.toString(); // stack trace as a string System.out.println(sw.toString()); } finally { if (con != null) { con.disconnect(); } } } } |
[jsp] 페이지 이동 방법
페이지 이동 방법 1. Forward – request 스코프에 담긴 값이 다음 페이지에 전달된다. – 이동된 페이지지 주소가 화면에 안보임(기존 페이지 주소와 같음)
1 2 3 4 5 6 7 8 9 |
1) <% pageContext.forward("https://google.com"); %> 2) <jsp:forward page="https://google.com"/>; 3) <% RequestDispatcher rd = request.getRequestDispatcher("https://google.com"); rd.forward(request.response); %> |
2. Redirect – 클라이언트가 새로운 페이지를 요청한 것과 같이 페이지 이동 – 이동된 페이지지 주소가 화면에 보임(기존 페이지 주소와 다름)
1 2 3 4 5 |
<% response.sendRedirect("https://www.google.com"); %> |
참조 : https://installed.tistory.com/entry/8-JSP-%ED%8A%B9%EC%A0%95%ED%8E%98%EC%9D%B4%EC%A7%80%EB%A1%9C-%EC%9D%B4%EB%8F%99%EB%B0%A9%EB%B2%95
[jsp] jsp파일 include 하기
/common/footer.jsp
1 2 3 4 5 6 7 8 9 10 11 |
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <div data-role="footer"> <p class="version"> v2.0</p> <p>Copyrightⓒ 2020 Korea </p> <div style="text-align:center;"> <a href="javascript:goInfo();" class="InfoBtn" data-role="none"><font color='#ffffff'>정보</font></a> <a href="tel:02-2222-2222" class="lnfoBtn" data-role="none"><font color='#ffffff'>헬프데스크 02-2222-2222</font></a> </div> </div> |
Main.jsp 아래에 추가
1 2 3 |
<jsp:include page="/common/footer.jsp" /> |
[JQuery] location.href window.open
1 2 3 4 5 6 7 |
$(document).on('click', '#NewTabBtn', function() { //location.href="https://google.com/"; window.open("https://google.com/", "_blank"); }); |
[jsp] request.isSecure()
1 2 3 4 5 6 7 8 |
if(request.isSecure()){ //2020-10-28 http ->https 로 수정 response.sendRedirect("https://"+ request.getServerName()+"/"+sAccess+"/template/Loading.jsp?Local="+ Local); return ""; }else{ return "/"+sAccess+"/template/Loading.jsp"; } |
Servlet 처리시 Https로 접근되었는지 확인이 필요한때가 있다. 최근 정보통신부에서 고시하기로, 회원정보, 금융거래와 같이 보안에 취약할 수 있는 항목에 대해서는 https 프로토콜을 이용하여 처리를 수행하도록 되어 있는데. 서버단에서 이러한 https요청으로 request가 들어왔는지 확인 하는 메소드로 HttpServletRequest 클래스내에 isSeucre()라는 메소드가 있다. true라면 https로 접근된 것이며, false라면 일반 경로로 (http)로 접근된 것을 의미한다.
[java] Throwable – printStackTrace
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
class Program { public static void foo() { try { int num1 = 5/0; } catch (Throwable e) { e.printStackTrace(); } } public static void main( String args[] ) { foo(); } } |
1 2 3 4 5 |
java.lang.ArithmeticException: / by zero at Program.foo(main.java:4) at Program.main(main.java:12) |
[jsp] JSTL 사용 하기
jar 다운로드: jstl-1.2.jar 세팅 : Sample test
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ page import="java.util.ArrayList"%> <%@ page import="java.util.*"%> <% Map<String,ArrayList<String>> mapOfList = new LinkedHashMap<String,ArrayList<String>>(); ArrayList<String> list; for(int i=0;i<13;i++){ list = new ArrayList<String>(); for(int j=0;j<13;j++){ list.add("value"+j); } mapOfList.put("key"+i,list); } request.setAttribute("mapOfList", mapOfList); %> <html> <body> <table> <c:forEach items="${mapOfList}" var="list"> <th> <c:out value="${list.key}"></c:out><br></th> <tr> <c:forEach items="${list.value}" var="listItem"> <td> ${listItem} <br/> </td> </c:forEach> </tr> </c:forEach> </table> </body> </html> |
[java] ResourceBundle.getBundle
1 2 3 |
hello = Hello World!! |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package test02; import java.util.Locale; import java.util.ResourceBundle; public class test01 { public static void main(String[] args) { Locale en_US = new Locale("en", "US"); ResourceBundle bundle = ResourceBundle.getBundle("resources.hello", en_US); // print the value of the key "hello" System.out.println("" + bundle.getString("hello")); } } |