반응형

jsp에서 Servlet으로 요청보낼때 한글이 깨지는 경우.

 

jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

servlet

@Override
	public  void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		// TODO Auto-generated method stub
		resp.setContentType("text/html;charset=UTF-8");
		String test1= req.getParameter("test1");
		String test2 = req.getParameter("test2");
		PrintWriter out = resp.getWriter();
		out.println(test1);
		out.println(test2);

	}

tomcat

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="utf-8"/>

 

 

톰캣 설정파일의 경로는 보통 아래와 같습니다. 

워크스페이스 경로\Servers\Tomcat v9.0 Server at localhost-config\server.xml

반응형
반응형

Cannot change version of project facet Dynamic Web Module to 2.5. 에러 발생시

 

 

프로젝트 우클릭 -> Build Path -> Configure Build Path... -> 우측탭에서  Project Facets 선택 -> Dynamic Web Module 의 버전 3.1로 변경 후 Apply

 

Dynamic Web Module 의 버전을 변경해주었는데도 변경이 안될경우에는 아래 방법을 사용한다.

 

프로젝트 내의 web.xml을 수정해준다.

변경 전

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:web="http://java.sun.com/xml/ns/javaee"  
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" 
id="WebApp_ID" version="2.5">

 

변경 후

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns="http://java.sun.com/xml/ns/javaee" 
xmlns:web="http://java.sun.com/xml/ns/javaee"  
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd" 
id="WebApp_ID" version="3.1">
반응형
반응형

에어아시아에서 환불 안해줄때 환불받는 방법.

지난 3월에 예매한 에어아시아 항공권이 5월에 취소가 되어, 환불 신청을 하였으나, 빨리될줄 알았으나,

처음엔 최대 16주까지 걸린다고 하였다. 하지만 16주가 되어서도 환불이 되지않아 더 이상 믿지 않기로 하였다.

 

끝내 찾아본 방법은 KCP로 환불하는 방법이다.

KCP는 결제대행 업체이고, KCP의 결제대행 업체를 이용하였다면 환불이 가능하다.

 

아래 KCP 링크를 들어가서 온라인 상담을 눌러 입력을 하면 이메일로 답장이 온다.

 

www.kcp.co.kr

 

 

 

 

답장온 이메일을 확인해보면 첨부파일을 보내준다.

팩스로 보내도 되지만, 팩스가 힘들다면 ,

해당 파일을 프린트 후에 작성한 뒤에 사진을 찍어서 그 사진으로 이메일을 보내도 된다.

신분증 등등 기타 자료도 동일하다.

그럼 4주정도 시간이 흐른뒤에 KCP측에서 환불되었다는 메일이 날라오고,

신한카드 기준으로 2~3일(KCP측에서 신한카드 이관되어 처리되는 시간) 뒤에 실제 돈이 입금된것을 확인할 수 있었다.

 

 

 

 

 

이상 KCP를 통한 에어아시아 환불 후기였습니다.

 

반응형
반응형

Mssql 에서 limit 사용 방법이다.

1.Mssql

mssql 에서 사용하는 방법이다.

TOP 10 은 상위 10개만 보여주는 것이다.

TOP 100은 상위 100개만 보여주는 것이다.

select TOP 10 
* from 테이블명;

 

2.Mysql

mysql 에서 사용하는 방법이다.

select
* from 테이블명
limit 10;

 

반응형
반응형

Jsp에서 jstl로 현재 날짜 구하기

 

아래와 같이 하면 된다.

<c:set var="today" value="<%=new java.util.Date()%>" />
<!-- 현재날짜 -->
<c:set var="date"><fmt:formatDate value="${today}" pattern="yyyy-MM-dd hh:mm:ss" /></c:set> 
<!-- 현재년도 -->
<c:set var="year"><fmt:formatDate value="${today}" pattern="yyyy" /></c:set> 
<!-- 현재월 -->
<c:set var="month"><fmt:formatDate value="${today}" pattern="MM" /></c:set> 

 

<!-- 데이터 뿌릴때 -->
<c:out value="${date}" />
<c:out value="${year}" />
<c:out value="${month}" />



 물론 위와 같이 사용하려면 아래 두가지가 추가되어야 한다.

 

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
반응형
반응형

웹에서 session이 아무 이유 없이 끊기는 경우이다.

로컬에선 잘 되는데 실서버에서 세션이 끊기는 경우가 있다.

로그를 확인해보면 dispatcher-servlet에서 interceptor로 넘어가는데, interceptor에서 session이 없다고 판단할 경우이다.

 

다른 페이지는 잘 되다가 갑자기 끊기는 경우에는 jsp의 url경로가 <c:url> 로 지정이 안되어 있을 경우에 발생한다.

<c:url> 로 안되어있는경우에는 jsessionid가 붙어서 가지 않는 경우가 발생하게 된다.

반응형
반응형

Mysql 에서 그룹별 누적 합계 구하는 방법이다.

 

각 ID 별로 그룹을 지어주고, 그룹별로 누적 합계를 구하는 방법이다.

SET sql_mode = '';
SELECT T.SEQ,T.DT_GEN,T.ID,T.NAME,T.cnt,
    SUM(T.cnt) OVER(PARTITION BY T.ID ORDER BY T.SEQ) AS sumCnt
FROM(
    SELECT 
        ROW_NUMBER() OVER() AS SEQ,
        DT_GEN,
        ID,
        NAME,
        SUM(val1) AS cnt
	FROM TEST_TBL 
    GROUP BY DT_GEN, A.ID
	ORDER BY DT_GEN DESC
) T
ORDER BY T.DT_GEN DESC;

 

위와 같은 쿼리를 실행하면 예를 들어 아래와 같이 결과가 나온다.

때에 따라서 group by 할 항목과,  SUM할 항목, 등등 변경하여서 사용하면 된다.

 

SEQ DT_GEN ID NAME cnt sumCnt
5 20200728 15 김삿갓 4 5
4 20200728 11 홍길동 3 10
3 20200727 15 김삿갓 1 1
2 20200727 11 홍길동 5 7
1 20200721 11 홍길동 2 2
반응형
반응형

Uncaught ReferenceError: $ is not defined 에러시

jquery 가 cdn 방식이든, 파일방식이든 임포트되지 않았을 경우이다.

경로를 다시 확인하는 방법이 있다.

ssl 인증서 적용하고 나타날 경우에는 cnd방식의 jquery 경로가 http 로 되어있다면, https로 변경하면 된다.

반응형
반응형

POST 방식으로 간단하게 REST API 호출하는 방법

 

아래와 같이 호출을 하게 되면 String 타입의 json 이라는 변수에 응답받게 된다.

URL obj = null;
String json = "";

String WEB_ID = URLEncoder.encode("테스트아이디","UTF-8");
String WEB_PW = URLEncoder.encode("테스트암호","UTF-8");

Map<String, Object> params = new HashMap<String, Object>();
params.put("memberId", WEB_ID);
params.put("memberPwd", WEB_PW);

StringBuilder postData = new StringBuilder();
for(Map.Entry<String,Object> param : params.entrySet()) {
    if(postData.length() != 0) postData.append('&');
    postData.append(param.getKey());
    postData.append('=');
    postData.append(param.getValue());
}
byte[] postDataBytes = postData.toString().getBytes("UTF-8");
	
obj = new URL("API 호출 주소");

HttpURLConnection con = (HttpURLConnection)obj.openConnection();
con.setRequestMethod("POST");
con.setRequestProperty("Content-Length", String.valueOf(postDataBytes.length));
con.setDoOutput(true);
con.getOutputStream().write(postDataBytes);

BufferedReader in = new BufferedReader(
		new InputStreamReader(con.getInputStream(), "UTF-8"));
String inputLine;
StringBuffer response = new StringBuffer();
while((inputLine = in.readLine()) != null){
	response.append(inputLine);
}
in.close();

json = response.toString();

 

반응형
반응형

cannot write to a URLConnection if doOutput 에러 발생시

 

본 내용은 POST 방식으로 REST API 호출시에 발생하는 에러이다.

 

아래 내용에서 con.setDoOutput(true) 로 설정해주면 된다.

HttpURLConnection con = (HttpURLConnection)obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true); // 이 항목을 추가
반응형

+ Recent posts